デバッグ目的で、Google Chrome のコンソールからユーザー スクリプト変数にアクセスすることは可能ですか?
3 に答える
次のコードを含む Chrome ユーザースクリプトがあるとします。
var userscriptVar = "I'm a global variable, userscript context.";
window.var2 = "I'm a window.scope variable, userscript context.";
console.log ("Hello from the userscript.");
これらのユーザースクリプト変数にアクセスするには:
ユーザースクリプトの ID を決定します。拡張機能ページ (
chrome://extensions/
)で確認できます。コンソールの下部にあるコンテキスト メニューをクリックして、スクリプトのコンテキストに切り替えます。
id (
pfnbaeafniclcjhfkndoploalomdmgkc
) は、拡張機能ページにリストされているものと同じであることに注意してください。これで、ウィンドウ スコープの変数 ( ) をすぐに確認して変更できるようになります
var2
が、ユーザー スクリプトのグローバル (userscriptVar
) は表示されません。:ユーザースクリプト変数にアクセスして変更するには、スクリプトがまだアクティブなときに、スクリプトにブレークポイントを設定し、デバッガーを使用します。その方法については、この回答を参照してください。
適切なブレークポイントでユーザースクリプトを一時停止すると、コンソールからグローバル値を確認できますが、変更することはできません。
ただし、デバッガーから値を変更できます。
うーん、はい。変数名を入力してEnterキーを押すだけで評価できます(dir(xxx)
オブジェクトに使用)
注意: var はグローバルに設定する必要がありますunsafeWindow
私にとってうまくいったのは、変数をグローバルにしたことです。すなわち
var x = "Chairman Mao"; // x not accessible to chrome
x = "Chairman Mao"; // X becomes accessible to chrome via inspector