2016-11-21 2 views
-1

私は、学校プロジェクトのウェブページ上の文字の色を変更するクロムエクステンションに取り組んでいます。それは色を変えるので、私はそれを作ったが、私が直面してる問題は、ページが、それはカントのスクリプトをロードしたいときに「corupts」<script></script>タグとそれらの間にあるすべてを除外します。JavaScript

<script></script> 

間のタグにあるすべてのものは非常にHTMLコードがあるためということですその中に。ここで

は私が持っているJavaScriptコードは、これまでのところです:scriptinject呼ば

window.onload = function(){ 
 

 
var letters = ["b", "d", "a", "o"]; 
 
var results; 
 
var resultb; 
 
var colors = ["#b32400", "#006622", "#cc0099", "#0000ff"]; 
 
var re; 
 
    
 
for (x = 0; x < letters.length; x++) { 
 
    results = letters[x].fontcolor(colors[x]); 
 
    resultb = letters[x].toUpperCase().fontcolor(colors[x]); 
 

 
    res = new RegExp("(" + letters[x] + ")(?!([^<]+)?>)", "g"); 
 
    reb = new RegExp("(" + letters[x].toUpperCase() + ")(?!([^<]+)?>)", "g"); 
 

 
    $("body").children().each(function() { 
 
    $(this).html($(this).html().replace(res, results)); 
 
    $(this).html($(this).html().replace(reb, resultb)); 
 
    }); 
 
} 
 
}

+2

[トニーポニー](http://stackoverflow.com/questions/1732348/regex-match -open-tags-except-xhtml-self-contained-tags/1732454#1732454)! –

+1

[液体の痛み!](http://stackoverflow.com/a/1732454/238884) – Malvolio

+0

@ジャロマンダXそのようにする方法は? XMLパーサ? –

答えて

0

ファイル:manifest.jsonを中web_accessible_resourcesへ

var s = document.createElement('script'); 
s.src = chrome.extension.getURL('script.js'); 
s.onload = function() { 
    this.remove(); 
}; 
(document.head || document.documentElement).appendChild(s); 

アドオン "script.js"上のコードを使用してください。マニフェストで

"content_scripts": { 
    "matches": ["http://*"], 
    "js": ["scriptinject.js"] 
}, 
"web_accessible_resources": ["script.js"] 

script.jsはあなたのコードが含まれて召喚されますHTMLに正規表現を使用して

+0

これを正しく理解すれば、スクリプト自体をWebページに挿入しますか? –

+0

はい、 –

+0

の中にscript.jsのコードを入れてを作成します。このコードをbackground.jsファイルに書き込む必要がありますか? –

関連する問題