小编Joe*_*son的帖子

Chrome扩展程序,用于关注元素面板中的项目

我正在尝试开发一个chrome扩展,除此之外,还可以将一个元素集中在chrome devtools的元素面板中.

我一直在试着让我的头发上班,但到目前为止还没有运气.

我认为解决我需要的部分关键在于此

以下是eval()和chrome.tabs.executeScript()方法之间的主要区别:

  • eval()方法不会对被评估的代码使用孤立的世界,因此代码可以访问被检查窗口的JavaScript状态.当需要访问被检查页面的JavaScript状态时,请使用此方法.
  • 正在评估的代码的执行上下文包括Developer Tools控制台API.例如,代码可以使用inspect()和$ 0.
  • 评估的代码可以返回传递给扩展回调的值.返回的值必须是有效的JSON对象(它可能只包含原始JavaScript类型和对其他JSON对象的非循环引用).处理从检查页面收到的数据时,请特别注意 - 执行上下文基本上由被检查页面控制; 恶意页面可能会影响返回到扩展的数据.

但我无法找到正确的发送消息或执行命令的地方,以便使其工作我只是反复告诉以下内容:

'undefined'的事件处理程序出错:$未定义ReferenceError:$未在chrome-extension:// ffhninlgmdgkjlibihgejadgekgchcmd的Object.ftDev.processMsg(chrome-extension://ffhninlgmdgkjlibihgejadgekgchcmd/ftDev.js:39:31)中定义/ftDev.js:16:7在chrome.Event.dispatchToListener(event_bindings:387:21)的chrome.Event.dispatch_(event_bindings:373:27)位于chrome.Event.dispatch(event_bindings:393:17)的miscellaneous_bindings: 166:35位于chrome.Event.dispatchToListener(event_bindings:387:21)位于chrome.Event.dispatch_(event_bindings:373:27)的chrome.Event.dispatch(event_bindings:393:17)位于Object.chromeHidden.Port.dispatchOnMessage (miscellaneous_bindings:254:22)event_bindings:377 chrome.Event.dispatch_

理想情况下,我想使用chrome控制台的inspect()方法而不是$()方法.

的manifest.json

{
    "name": "XXXXX Ad and Spotlight Debugger",
    "version": "0.1",
    "manifest_version": 2,
    "description": "A tool to help you identify and debug XXXXXX ads and spotlights in Chrome",
    "devtools_page": "ftDev.html",
    "browser_action": {
        "default_icon": "icon.png",
        "default_popup": "popup.html",
        "default_title": "XXXXXX Debug Tool"
    },
    "background": {
        "persistent": false,
        "page": "background.html",
        "js": ["background.js"]
    },
    "content_scripts": [{
        "matches": ["<all_urls>"],
        "js": ["getFTContent.js"],
        "all_frames": true
        }],
    "permissions": …
Run Code Online (Sandbox Code Playgroud)

google-chrome-extension google-chrome-devtools

4
推荐指数
1
解决办法
1307
查看次数