私はページにscript
タグを追加するChromeの拡張機能を作成し、その外部スクリプトで定義されたコード使用していますよ注入:クローム拡張:外部スクリプト
$('body').append('<script src="..."></script><script>console.log(SomeObject)</script>');
SomeObject
は外部スクリプトで定義されているが、だから私はそれにアクセスすることができるはずですよね?まあ、私は、 "定義されていない"エラーが出るので、私はできません。
私はさらにhead.js
を使って、外部スクリプトを読み込んで、スクリプトがロードされた後に機能を実行しようとしても無駄にしました。
Chromeコンソールを開くと、気になるオブジェクトにアクセスできます。
バックグラウンドページ内にコンテンツスクリプトとexecuteScript
の両方を使用してみましたが、役に立たなくなりました。どちらも、console.log(window)
を使用すると、コンソール内のwindow
オブジェクトを検査でき、SomeObject
は見つかりません。 Chromeコンソールのwindow
オブジェクトを検査すると、それがあります。
何らかの形で注射されたスクリプトやサンドボックスがありますか?
ありがとうございます!
<script src="..."></script><script>setTimeout(function() {console.log(SomeObject)}, 3000)</script>
私もそう思っていたので、なぜhead.jsを使ってみましたか?しかし、私もあなたの提案を試して、それはまだ動作しません:( – Ivan