我找到了一个颠倒网页颜色的javascript函数:
String javascript = "javascript: (function (){var newSS, styles = '* { background-color: black ! important; color: green !important; }a:link, a:link * { color: green !important; text-style: underline; }a:visited, a:visited * { color: #7f0000 !important; }a:hover, a:hover * { color: red !important; }';var elemHead = document.getElementsByTagName(\"head\")[0];var elemCSS = document.getElementById(\"darkenCSS\");if (elemCSS){elemHead.removeChild(elemCSS);}else{newSS = document.createElement('link');newSS.rel = 'stylesheet';newSS.href = 'data:text/css,' + escape(styles);newSS.id = \"darkenCSS\";elemHead.appendChild(newSS);}})();";
是否可以自动运行? 我的意思是加载www.google.co.uk并应用此javascript函数.4
希望有道理,我对javascript知之甚少。
澄清:
我想知道这个javascript函数是否可以附加到URL。像http://www.google.com/?Javascript_blah_blah_blah
这样的东西进一步澄清:
我正在Android中制作基本的网络浏览器。我想在网页上反转颜色。 我做了一个按钮,在页面上执行这个javascript。这有效。但每次都需要用户按下按钮。
我想做一个永久倒置的开关。
所以我需要浏览到url输入并让它自动反转颜色。
希望这有帮助
答案 0 :(得分:3)
是的,将没有引号的字符串粘贴到地址栏中。确保psuedo-protocol javascript:
位于开头
您首先需要修改脚本以取消转义转义的引号,然后在地址栏中添加新书签。编辑书签并将位置更改为
javascript:%20(function%20(){var%20newSS,%20styles%20=%20'*%20{%20background-color:%20black%20!%20important;%20color:%20green%20!important;%20}a:link,%20a:link%20*%20{%20color:%20green%20!important;%20text-style:%20underline;%20}a:visited,%20a:visited%20*%20{%20color:%20#7f0000%20!important;%20}a:hover,%20a:hover%20*%20{%20color:%20red%20!important;%20}';var%20elemHead%20=%20document.getElementsByTagName("head")[0];var%20elemCSS%20=%20document.getElementById("darkenCSS");if%20(elemCSS){elemHead.removeChild(elemCSS);}else{newSS%20=%20document.createElement('link');newSS.rel%20=%20'stylesheet';newSS.href%20=%20'data:text/css,'%20+%20escape(styles);newSS.id%20=%20"darkenCSS";elemHead.appendChild(newSS);}})();
你有它!
答案 1 :(得分:1)
如果你使用的Firefox最简单的方法(据说这个附加组件适用于Chrome和Opera,但我从未尝试过)是安装Greasemonkey并为域创建用户脚本/您想要的网址 - www.google.co.uk/*
,www.google.com/*
等。
然而,使用Stylish扩展程序可以更好地完成此类操作,但您只能使用CSS,不能使用JavaScript。但是在你提出的内容中,下面的CSS片段应该像魅力一样:
* { background-color: black ! important; color: green !important; }a:link, a:link * { color: green !important; text-style: underline; }a:visited, a:visited * { color: #7f0000 !important; }a:hover, a:hover * { color: red !important; }
网上有很多userscripts和userstyles。
答案 2 :(得分:1)
不,你不能“只运行”附加到网址的javascript。这是安全漏洞(将是)。但你可以使用
javascript:
开头的'URL'),您也可以尝试使用Fluid(特定于站点的浏览器,仅限MacOS X)......我想您会有所了解。
BTW 如果您想/需要编写bookmarlet,您可以在特定网站上运行并想要开始 - 请查看此文章:http://coding.smashingmagazine.com/2010/05/23/make-your-own-bookmarklets-with-jquery/
答案 3 :(得分:0)
您可以使用Chrome + http://defunkt.io/dotjs/来实现这一目标。这正是此扩展的目的:在特定网站上自动运行一些JS脚本。
现在只是OSX,但我想还有一些其他扩展也在这样做。