Google chrome extension 如何在ChromeJS控制台中访问内容脚本的沙盒环境

Google chrome extension 如何在ChromeJS控制台中访问内容脚本的沙盒环境,google-chrome-extension,google-chrome-devtools,javascript-debugger,Google Chrome Extension,Google Chrome Devtools,Javascript Debugger,如果我在ChromeDeveloperTools中打开JavaScript控制台来调试扩展的内容脚本,我就无法获得内容脚本的上下文。例如,jQuery是不可访问的,除非我转到调试器并设置断点,否则我无法访问全局变量 我是不是错过了什么?如果能够从JS控制台检查我的全局变量或调用jQuery,那就太好了。您可以通过在内容脚本的孤立世界中触发调试器间接实现这一点: 选择要检查其内容脚本的选项卡 打开该选项卡的开发工具 在弹出窗口中打开扩展背景页(或任何其他扩展页)的检查器 运行chrome.tabs

如果我在ChromeDeveloperTools中打开JavaScript控制台来调试扩展的内容脚本,我就无法获得内容脚本的上下文。例如,jQuery是不可访问的,除非我转到调试器并设置断点,否则我无法访问全局变量


我是不是错过了什么?如果能够从JS控制台检查我的全局变量或调用jQuery,那就太好了。

您可以通过在内容脚本的孤立世界中触发调试器间接实现这一点:

  • 选择要检查其内容脚本的选项卡
  • 打开该选项卡的开发工具
  • 在弹出窗口中打开扩展背景页(或任何其他扩展页)的检查器
  • 运行
    chrome.tabs.executeScript(未定义,{'code':'debugger'})

  • 您还应该能够在内容脚本中直接使用
    调试器
    关键字,如果您希望检查执行中的某个位置。

    此时不可能在内容脚本的上下文中执行求值,除非描述了设置断点/插入调试器语句并在脚本内暂停的方法。我对此提交了一份报告,您可以将自己添加到CC列表中以跟踪其进度。

    更新:我们不久前在DevTools控制台中添加了上下文选择器,因此现在应该可以在内容脚本的上下文中执行评估。