新しいテキストとリンクでページの特定のテキストを置き換えるChrome拡張機能を作成しています。これを行うには、私が読んだdocument.body.innerHTMLを使用しています。これはDOMを破壊します。拡張機能が有効になっていると、codepen.ioのYouTube動画やページの読み込みが中断されているようです。私はマニフェストのYouTubeとcodepenを除外してこれを修正しようとしましたが、以下のコードでそれらをフィルタリングすることで解決しましたが、うまく機能していないようです。Chrome拡張機能が破損DOM
誰かがdocument.body.innerHTMLを使用する代わりに、ページの読み込みを中断している可能性のある他の問題を私のコードで確認できますか?ありがとう。
var texts=["some text","more text"];
if(!window.location.href.includes("www.google.com")||!window.location.href.includes("youtube.com")||!window.location.href.includes("codepen.io")){
for(var i=0;i<texts.length;i++){
if(document.documentElement.textContent || document.documentElement.innerText.includes(texts[i])){
var regex = new RegExp(texts[i],'g');
document.body.innerHTML = document.body.innerHTML.replace(regex,
"<a href='https://www.somesite.org'>replacement text</a>");
}
}
}
最初に、動作しないすべてのサイトを一覧表示することは、インターネット全体に大きな影響を与えません。 –
ええ、私は認識しています。だから私は助けを求めている。しかし、マニフェスト**からそれらのサイトを除外しているように見えるでしょう**私が認識しているもののためだけに働くべきであり、それはそうではありません。 – mostlynew