出于调试目的,是否可以从 Google Chrome 的控制台访问用户脚本变量?
问问题
2616 次
3 回答
2
假设您有一个包含以下代码的 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
),因为脚本实例早已完成并消失了。:要在脚本仍处于活动状态时访问和更改用户脚本变量,请在脚本中设置断点并使用调试器。请参阅此答案以了解如何执行此操作。
随着用户脚本在合适的断点处暂停,您可以从控制台查看但不能更改全局值。
但是您可以从调试器更改值:
于 2013-10-11T02:04:16.473 回答
1
嗯,是的。只需输入 var 名称并按 Enter 即可评估(dir(xxx)
用于对象)
注意: var 必须是全局设置unsafeWindow
于 2011-01-09T21:45:06.457 回答
0
对我有用的是我将变量设为全局变量。IE
var x = "Chairman Mao"; // x not accessible to chrome
x = "Chairman Mao"; // X becomes accessible to chrome via inspector
于 2014-01-14T08:00:40.097 回答