【问题标题】:Alternative to 'inspectedWindow' (not for chrome devtools)替代“inspectedWindow”(不适用于 chrome devtools)
【发布时间】:2015-10-20 13:20:21
【问题描述】:

我的代码在 Chrome DevTools 中运行良好,但现在我想将我的扩展程序面板从 chrome 调试器移动到我的扩展程序的弹出窗口。

特别是我对这段代码有疑问:

function callCommand(cmd) {
    chrome.devtools.inspectedWindow.eval(
        cmd,
        {useContentScriptContext: true},
        function (isException, result) {
            if (isException || chrome.runtime.lastError) {
                console.error('Error', cmd, result, chrome.runtime.lastError);
            }
        }
    );

显然 chrome 调试器工具会显示 Cannot read property 'inspectedWindow' of undefined,因为 inspectedWindow 仅适用于 chrome devtools。

我怎样才能以不同的方式实现它?

【问题讨论】:

  • 为什么不能只使用 tabs.executeScript?

标签: javascript google-chrome google-chrome-extension


【解决方案1】:

chrome.devtools API 在 manifest.json 中定义的专用 devtools 页面之外不可用,错误消息暗示了这一点。您只能以不同的方式重新实现您需要的功能,或者将其从扩展中删除。

例如,如果你想在页面的上下文中执行一些代码,注入一个<script>元素,代码为:Building a Chrome Extension - Inject code in a page using a Content script

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-25
    • 1970-01-01
    • 1970-01-01
    • 2013-06-17
    • 2015-07-11
    • 1970-01-01
    • 2015-10-01
    • 2013-11-10
    相关资源
    最近更新 更多