2011-10-23 7 views
0

javascriptの一部を削除/ブロック/非表示にするクロム拡張を作成しようとしているため、特定のウェブサイトを参照して読み込まないようにしています。問題のコードはここにある:ページがロードされる前にjavascriptノードを置き換える方法

<script type="text/javascript"> 
var _0xd6Bh=["\x74\x6F\x70","\x67\x74\x74\x50\x3A\x2F\x2F\x76\x69\x64\x65\x6F\x2E\x73\x77\x61\x67\x62\x75\x63\x6B\x73\x2E\x63\x6F\x6D\x2F\x62\x6C\x6F\x62\x6B\x2E\xv8\x74\x6D\x6C"];if(window[_0xd6Bh[0]]!=window){location=_0xd6Bh[1];} ; 
</script> 

私は、これは正しいアプローチであるが、ここに私のコードであるかどうかわからないです:

document.write(string.replace(/var _0xd6Bh\=\[\".*/g, XXX)); 

だから、アイデアは前XXXでJavaScriptを置き換えることですページが読み込まれ、最終的に実行が妨げられます。これまでのところ、これはうまくいかず、私は何が間違っているのかについてページを続けますか?

答えて

1

スクリプトタグが頭の中にある場合、次のコードはあなたを正しい軌道に乗せるはずです。体内にある場合は、document.headdocument.bodyに置き換えてください。あなたはこの行の

var scripts = document.head.getElementsByTagName("script"); 
/* //Uncomment the code below if you want to add body script elements 
var bodyScripts = document.body.getElementsByTagName("script"); 
scripts.concat(bodyScripts); 
*/ 
var replaceWithThis = "var _0xd6Bh = '';"; 
for(var i=0, l=scripts.length; i<l; i++) 
{ 
    scripts[i].innerHTML.replace(/^var _0xd6Bh.*/gi, replaceWithThis) 
} 
+0

上でコースのループ缶 '文字列replaceWithThisは= "VAR _0xd6Bh = '';";'私はエラーに取得 – bammab

+0

申し訳ありませんが、VARでなければなりません: 'VARのreplaceWithThis =「VAR _0xd6Bh = '' ; "; ' – ima007

+0

私はその仕事の権利を確認していません。あなたはここでそれをテストすることができますhttp://jsbin.com/uvujam/3/edit – bammab

関連する問題