[英]How do I import this Greasemonkey script, that uses CDATA, to Chrome?
我有以下代码可以在Greasemonkey上正常运行,但不能在Chrome中运行:
// ==UserScript==
// @name SO
// @namespace stackoverflow.com
// @include *stackoverflow.com/*
// @version 1
// ==/UserScript==
changeHeaderColor();
function changeHeaderColor()
{
GM_addStyle((<><![CDATA[
//body { color: white; background-color: black }
#custom-header {background-color: rgb(251,122,35)}
#nav-questions {background-color: rgb(251,122,35)}
#nav-tags {background-color: rgb(251,122,35)}
#nav-users {background-color: rgb(251,122,35)}
#nav-badges {background-color: rgb(251,122,35)}
#nav-unanswered {background-color: rgb(251,122,35)}
#nav-askquestion {background-color: rgb(251,122,35)}
//Blau: rgb(0,160,160) rgb(0,200,200)
]]></>).toString());
}
我必须更改哪些内容才能使其在Chrome或什至两者上均可使用?
该<><![CDATA[ ... ]]></>
代码使用“ EX4” ,Chrome从未支持过它,而Firefox也很快将不再支持 。
因此,要使该脚本正常工作,您需要对javascript中的多行字符串使用其他方法。 另外,对于Greasemonkey,您应该提供@grant
值,从GM 1.0开始。
使用\\
转义字符,并用"
和'
引号非常小心。
另外,请勿在此类字符串中使用//
注释,因为它们将停止后面的所有内容 ,即使看起来在新行中也是如此。
它不是很漂亮,但是可以做到这一点:
// ==UserScript==
// @name SO
// @namespace stackoverflow.com
// @include *stackoverflow.com/*
// @version 1
// @grant GM_addStyle
// ==/UserScript==
changeHeaderColor ();
function changeHeaderColor () {
GM_addStyle ( " \
/*body { color: white; background-color: black } \
*/ \
#custom-header {background-color: rgb(251,122,35)} \
\
#nav-questions {background-color: rgb(251,122,35)} \
#nav-tags {background-color: rgb(251,122,35)} \
#nav-users {background-color: rgb(251,122,35)} \
#nav-badges {background-color: rgb(251,122,35)} \
#nav-unanswered {background-color: rgb(251,122,35)} \
#nav-askquestion {background-color: rgb(251,122,35)} \
/*Blau: rgb(0,160,160) rgb(0,200,200) \
*/ \
" );
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.