[英]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.