我正在尝试转换bookmarklet:
javascript:(function(){var newSS, styles='* { background: white ! important; color: black !important } :link, :link * { color: #0000EE !important } :visited, :visited * { color: #551A8B !important }'; if(document.createStyleSheet) { document.createStyleSheet(%22javascript:'%22+styles+%22'%22); } else { newSS=document.createElement('link'); newSS.rel='stylesheet'; newSS.href='data:text/css,'+escape(styles); document.getElementsByTagName(%22head%22)[0].appendChild(newSS); } })();
用于与Opera和Midori一起使用的用户脚本。我按照How to convert a bookmarklet into a Greasemonkey userscript中的步骤操作,但没有太多运气。这是我提出的代码,但似乎不起作用:
// ==UserScript==
// @name Darklooks
// @description Eye-friendly colorscheme attempting to emulate Darklooks
// @include http://*
// @include https://*
// @include about:blank*
// ==/UserScript==
(function() {
var newSS, styles='* { background: #555753 ! important; color: #D3D7CF !important } :link, :link * { color: #00008B !important } :visited, :visited * { color: #551A8B !important }'; if(document.createStyleSheet) { document.createStyleSheet("javascript:'" styles "'"); } else { newSS=document.createElement('link'); newSS.rel='stylesheet'; newSS.href='data:text/css,' escape(styles); document.getElementsByTagName("head")[0].appendChild(newSS);
}
})();
我做错了什么?
答案 0 :(得分:2)
看起来代码中嵌入了一个迷路javascript:
。
无论如何,试试这个。它有效,但我只在主浏览器(Firefox和Chrome)上测试过:
(function () {
var newSS;
var styles = '* { background: white ! important; color: black !important } :link, :link * { color: #0000EE !important } :visited, :visited * { color: #551A8B !important }';
if (document.createStyleSheet) {
document.createStyleSheet(styles);
}
else {
newSS = document.createElement('link');
newSS.rel = 'stylesheet';
newSS.href = 'data:text/css,' + escape(styles);
document.getElementsByTagName("head")[0].appendChild(newSS);
}
} ) ();