サードパーティのウェブサイトでChromeアプリケーションを開発しています。ページの読み込み前にChrome拡張挿入スクリプト
私は変更しようとしている文書は、次のページの形式になっています。
<head>
.
.meta data here
.
</head>
<body>
<script type="text/javascript">
function a1(){
..contents of function a1
}
</script>
.
.other contents of body
.
<script type="text/javascript">
a1(); // <-- I don't want this to be executed
</script>
</body>
私の問題は、私はページ全体が関数呼び出しA1(除いて、ロードしたいです)。
私は単純な解決策を考えました。関数a1(){..}では、何もしない定数としてa1を作成したいので、a1()呼び出しを役に立たないようにします。
問題は、私のjsでrun_at document_startが定数であると定義すると、実行環境が異なるため、ページには影響しません。 innerHTMLのを使用して
だから、同じ実行環境で実行するための代替がINJECTによってコードです+ =「...」
別の代替は、 『のcreateElement』を使用してスクリプト要素を構築することであるとSRCは外部JSです実行前にロードしなければならないファイル。
run_at document_startスクリプトで解析ツリーが作成されないため、どちらの方法も機能しません。
私は他の解決策を考えました。私はDOMModifySubTreeイベントのリスナーを追加し、解析シーケンスを変更したいと思っています(私は知っています、それは面白いと思います:))、関数が呼び出されないようにします。助けにならない。
私の質問はどのようにしてa1()関数の呼び出しを防ぐのですか? P.S - 第三者のウェブサイト開発者に連絡することはできません。
「サードパーティのウェブサイトでのクロムアプリケーション」とは、1つのサードパーティサイトで使用するためのクロム拡張機能、クロムブラウザのみをターゲットとするウェブアプリケーションなどを指しますか? –