Tired Eyes
Описание: Изменяет цвета страницы при нажатие на F2. По умолчанию оригинальный скрипт меняет цвет фона на черный, а цвет текста на серый.
Модифицированный скрипт изменяет цвет фона на серый (whitesmoke), а цвет текста на черный(black).
Иллюстрация работы оригинального скрипта:
Страница Гугла после нажатия F2
Иллюстрация работы модифицированного скрипта:
Тупичок Гоблина после нажатия F2
Код скрипта:
// ==UserScript== // @author Ben Lee // @name Tired Eyes // @description Changes color of page to grey text on black background to make pages easier to read. Uses F2 to toggle colors on and off. // @namespace http://www.benslee.com/ // @include * // ==/UserScript== /* Notes: This has not been thoroughly tested. It was made to save my eyes. I love reading nytimes.com, but after a while, my eyes start bugging out because of the white background. I put togther this script with some code borrowed from various sites on the internet. Unfortunately I don't remember the sites to properly credit those involved. Feb 22, 2008 - ver 1.1 - Added comments, cleaned up code, and eliminated js warning by switching to style instead of link tag. Feb 22, 2008 - ver 1.0 - Released into the wild. */ var teNewBackgroundColor, teNewTextColor, teNewLinkColor, teNewVisitedColor, teMyKeyCode; var teNewStyle // Change any of these to values you think are more appropriate. teNewBackgroundColor = '#000000'; // Background replaced with this color. teNewTextColor = '#CCCCCC'; // Text color changed to this color. teNewLinkColor = '#CCCCCC'; // Link color changed to this color. teNewVisitedColor = '#DDDDDD'; // Visited link color changed to this color. teMyKeyCode = 113; // keyCode 113 represents F2 // Create new style tag. teNewStyle = document.createElement('style') teNewStyle.id = 'teStylesheet'; teNewStyle.innerHTML = '* {background: ' + teNewBackgroundColor + ' !important; color: ' + teNewTextColor + ' !important} ' teNewStyle.innerHTML += ':link, :link * { color: ' + teNewLinkColor + ' !important}' teNewStyle.innerHTML += ':visited, :visited *, { color: ' + teNewVisitedColor + ' !important};' window.addEventListener('keypress', changeColors, true); function changeColors(e) { var teNewStyleSheet, teOldStyleSheet, teStyles; if (e.keyCode == teMyKeyCode) { teOldStyleSheet = document.getElementById("teStylesheet") if (teOldStyleSheet){ // if oldStyleSheet already exists, it is removed. document.getElementsByTagName("head")[0].removeChild(teNewStyle ); } else { // if oldStyleSheet does not exist, it is created and added. document.getElementsByTagName("head")[0].appendChild(teNewStyle); } } }
Автор: Ben Lee
Домашняя страница: http://userscripts.org/scripts/show/23129
Дата добавления/последнего обновления: 22 февраля 2008
Установить оригинальный скрипт
Установить модифицированный скрипт
Отредактировано demetsuri (27-08-2008 14:41:16)
Отсутствует
хм.. И как, популярная фишка?
Народ, стоит качать?
Отсутствует
Подниму. Может кто-нибудь всё-таки починит скрипт? Плиз.
ПС Если кто возьмётся, то вот более свежая версия. Source for "Tired Eyes Improved" - Userscripts.org
Отредактировано voqabuhe (23-03-2016 23:14:52)
Отсутствует
Зачем под это дело скрипт, если все делается стилями?
Коих можно найти массу, но вот, например, мой - всего парой строчек:
@namespace html url(http://www.w3.org/1999/xhtml); @namespace xul url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul); @-moz-document url-prefix("http"),url-prefix("ftp"){body{background:#303030!important}html{background-color:transparent!important;filter:grayscale(100%)invert(80%)!important}}
и если уж хочется быстрого переключения, то в Stylish, либо в cb-кнопку:
custombutton://%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0D%0A%3Ccustombutton%20xmlns%3Acb%3D%22http%3A//xsms.nm.ru/custombuttons/%22%3E%0A%20%20%3Cname%3EStyle%20toggler%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACwUlEQVQ4jX3RS2hcVRjA8VNXUgmEQLEKbqRQzO1MhYgu3NhNNkVKdSFtkbpwIy2Fapm6FCpCdw10oW2iaFalSMFS+vBFGDKgqGDakuTOzL039/0899XMnYxD/y5iM2lFP/iW/9858AkhhACOP6iYu3/ri7luY2fH/GhCu9vYo1m/3GzJbP1SmpaX07S4nCSbG8fZ3GAwPC4eDdDy7t5G/+pN7C/fZenE8+i6RVZukMiSOM6JoowoTPEDiecnlOWgtQWEf3y3oM8ewF+cYfXi62iaSV5USFmSJMUW4D8C3Jii6De3AOPM0/jfnka9UEfrGuT5/8UJthORF9UIiM5MsHTquc2Xn4zTAcH22I2xnJA07Y2ATmMPum5tfjutSPIhfpAQZ0M6n+/H9TO8uI/jZ9hOxJoZIuX6CAjuL/bzcoP0AVj3fsCYfwP/6mGcsIdz6QD6/AcYn76KvnANM67QTZ9QliNgOGQhzjbQLr5AcGWaePk2Yf4QffEa7pUGTvYQ59fv0T85iPrWLnTNIoy2AYMhzVhWBDfPYp7bzdrsezgrS3RmP8Rp3UBb+pPlc++zcvBZjPMn0XQXL8y3AQOacZQTyT6BrHCvz+B8/TGrJ17DjUraFxqszX6GYcd0LInatXG9dAT0BzSjMB2dKixw5AbazFlML8dwJbod09Fc1K6Fqpo4rhwBVX/Y9AP52KlsJ8L0MnTTQzc8ul2XdtdmVTVZbVsYVnR9C+hVfzW9IHk8NsN/xcsrGkGYcufHxfb09PQzI6A3bHpu/J+x2rVQ2xa//X6Pn35utaempnaK7SPlejMv+qRZjzhZJ0xKgrDA83McT2I7EsfL+Gb+qjY+Pj4uhNjxzwohhNgxNja2t1Z7+ZCi1N/et2//O4pSP6IotaOTtdqxycnaMUWpHVXq9SNCiFeEEC8JIV4UQkwIIZ76G0fzzcr8MFGQAAAAAElFTkSuQmCC%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5B/*Initialization%20Code*/%0Athis.toggleStyle%20%3D%20function%28enable%29%20%7B%0A%20%20%20%20var%20cssURI%20%3D%20makeURI%28%22data%3Atext/css%2C%22%20+%20encodeURIComponent%28this.Help%29%29%3B%0A%20%20%20%20var%20sss%20%3D%20Components.classes%5B%22@mozilla.org/content/style-sheet-service%3B1%22%5D%0A%20%20%20%20%20%20%20%20.getService%28Components.interfaces.nsIStyleSheetService%29%3B%0A%20%20%20%20this.toggleStyle%20%3D%20function%28enable%29%20%7B%0A%20%20%20%20%20%20%20%20if%28enable%20%3D%3D%20undefined%29%0A%20%20%20%20%20%20%20%20%20%20%20%20enable%20%3D%20%21this.checked%3B%0A%20%20%20%20%20%20%20%20this.checked%20%3D%20enable%3B%0A%20%20%20%20%20%20%20%20document.persist%28this.id%2C%20%22checked%22%29%3B%0A%20%20%20%20%20%20%20%20var%20has%20%3D%20sss.sheetRegistered%28cssURI%2C%20sss.AGENT_SHEET%29%3B%0A%20%20%20%20%20%20%20%20if%28enable%20%26%26%20%21has%29%0A%20%20%20%20%20%20%20%20%20%20%20%20sss.loadAndRegisterSheet%28cssURI%2C%20sss.AGENT_SHEET%29%3B%0A%20%20%20%20%20%20%20%20else%20if%28%21enable%20%26%26%20has%29%0A%20%20%20%20%20%20%20%20%20%20%20%20sss.unregisterSheet%28cssURI%2C%20sss.AGENT_SHEET%29%3B%0A%20%20%20%20%7D%3B%0A%20%20%20%20this.toggleStyle%28enable%29%3B%0A%7D%3B%0Aif%28this.checked%29%0A%20%20%20%20this.toggleStyle%28true%29%3B%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B/*CODE*/%0Athis.toggleStyle%28%29%3B%5D%5D%3E%3C/code%3E%0A%20%20%3Caccelkey%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/accelkey%3E%0A%20%20%3Chelp%3E%3C%21%5BCDATA%5B@namespace%20html%20url%28http%3A//www.w3.org/1999/xhtml%29%3B%0A@namespace%20xul%20url%28http%3A//www.mozilla.org/keymaster/gatekeeper/there.is.only.xul%29%3B%0A@-moz-document%20url-prefix%28%22http%22%29%2Curl-prefix%28%22ftp%22%29%7Bbody%7Bbackground%3A%23303030%21important%7Dhtml%7Bbackground-color%3Atransparent%21important%3Bfilter%3Agrayscale%28100%25%29invert%2880%25%29%21important%7D%7D%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E
(которой и клавишную команду задать можно)
Отсутствует
voqabuhe
В метаданные добавьте
Отсутствует
а то сейчас приходится постоянно жать на F2 после каждой загрузки страницы
Именно это исправляет. Стиль сразу применяется/убирается к новым страницам открытым в новой/текущей вкладке, после единственного нажатия F2. Проверил. Туда добавили? Сохранили? Стиль не убирается/включается на уже открытых вкладках, до их обновления, ибо вставляет стиль в код самой страницы. Это не поправить без полной его переделки. Не прав. Убирается/добавляется, но только на текущей вкладке. Остальные перезагружать надо.
// ==UserScript== // @author Stas Otovchits // @name Tired Eyes Improved // @description Changes color of page to grey text on black background to make pages easier to read. Uses F2 to toggle colors on and off. // @namespace Tired_Eyes_Improved // @include * // @grant GM_setValue // @grant GM_getValue // ==/UserScript== /* Improved version of Tired Eyes original by Ben Lee Nov 27, 2011 - ver 1.0 - Released into the wild. */ var teNewBackgroundColor, teNewTextColor, teNewLinkColor, teNewVisitedColor, teMyKeyCode; var teNewStyle // Change any of these to values you think are more appropriate. teNewBackgroundColor = '#000000'; // Background replaced with this color. teNewTextColor = '#CCCCCC'; // Text color changed to this color. teNewLinkColor = '#CCCCCC'; // Link color changed to this color. teNewVisitedColor = '#DDDDDD'; // Visited link color changed to this color. teMyKeyCode = 113; // keyCode 113 represents F2 // Create new style tag. teNewStyle = document.createElement('style') teNewStyle.id = 'teStylesheet'; teNewStyle.innerHTML = '* {background: ' + teNewBackgroundColor + ' !important; color: ' + teNewTextColor + ' !important} ' teNewStyle.innerHTML += ':link, :link * { color: ' + teNewLinkColor + ' !important}' teNewStyle.innerHTML += ':visited, :visited *, { color: ' + teNewVisitedColor + ' !important};' window.addEventListener('keypress', changeMode, true); if (GM_getValue('teMode', false) == true) { changeColors(); } function changeMode(e) { if (e.keyCode == teMyKeyCode) { GM_setValue('teMode', !GM_getValue('teMode', false)); changeColors(); } } function changeColors() { var teNewStyleSheet, teOldStyleSheet, teStyles; teOldStyleSheet = document.getElementById("teStylesheet") if (teOldStyleSheet){ // if oldStyleSheet already exists, it is removed. document.getElementsByTagName("head")[0].removeChild(teNewStyle ); } else { // if oldStyleSheet does not exist, it is created and added. document.getElementsByTagName("head")[0].appendChild(teNewStyle); } }
Отредактировано turbot (24-03-2016 02:17:54)
Отсутствует
turbot
Действительно исправляет. Спасибо.
ПС Странно, сам добавлял точно также, безрезультатно. Скопировал твой исправленный вариант, заработало.
Добавлено 24-03-2016 14:31:11
turbot
Слушай, а как бы ещё сделать обрамление постов серым цветом? Например на Авантюре?
Отредактировано voqabuhe (24-03-2016 14:31:11)
Отсутствует
voqabuhe
И там же статус пользователя и рейтинг поста
добавьте после
teNewStyle.innerHTML = '*
Остальное - бессмысленный процесс, ибо, как говорил, там поправишь - другое испортишь.
Отсутствует
voqabuhe
Давайте вы уж сами. Я немного переделал, чтоб понятней было как:
// ==UserScript== // @author Stas Otovchits // @name Tired Eyes Improved // @description Changes color of page to grey text on black background to make pages easier to read. Uses F2 to toggle colors on and off. // @namespace Tired_Eyes_Improved // @include * // @grant GM_setValue // @grant GM_getValue // ==/UserScript== /* Improved version of Tired Eyes original by Ben Lee Nov 27, 2011 - ver 1.0 - Released into the wild. */ var teMyKeyCode, teNewStyle; teMyKeyCode = 113; // keyCode 113 represents F2 // Create new style tag. teNewStyle = document.createElement('style'); teNewStyle.id = 'teStylesheet'; teNewStyle.innerHTML = '*, .whiteButton {background: #000000 !important; color: #CCCCCC !important} '+ ':link, :link * { color: #CCCCCC !important}'+ ':visited, :visited *, { color: #DDDDDD !important}'+ '.postright, .postfootright {border-left-color: #000000 !important}'; window.addEventListener('keypress', changeMode, true); if (GM_getValue('teMode', false) == true) { changeColors(); } function changeMode(e) { if (e.keyCode == teMyKeyCode) { GM_setValue('teMode', !GM_getValue('teMode', false)); changeColors(); } } function changeColors() { var teNewStyleSheet, teOldStyleSheet, teStyles; teOldStyleSheet = document.getElementById("teStylesheet") if (teOldStyleSheet){ // if oldStyleSheet already exists, it is removed. document.getElementsByTagName("head")[0].removeChild(teNewStyle ); } else { // if oldStyleSheet does not exist, it is created and added. document.getElementsByTagName("head")[0].appendChild(teNewStyle); } }
Т.е., дописываем правила как в обычный стиль, но каждую строку стиля берем в кавычки и заканчиваем плюсом (кроме последней строки, та - точкой с запятой). Пример.
Отсутствует
turbot
Спасибо большое.
ПС Я и пытаюсь сам в меру своих скромных возможностей. Вроде почти всё что хотел разукрасил, правда стилями. Вот упёрся в этот прямоугольник... Пытался его background одолеть, кто ж знал что он бордюром окажется.
Отсутствует