Chrome Extension 记录

传递选定元素到内容脚本

内容脚本不能直接访问当前选中的元素。但是,任何使用 inspectedWindow.eval 来执行的代码都可以在 DevTools 控制台和命令行的 API 中使用。例如,在测试代码时,你可以使用 $0 访问当前被选定的元素。

要传递选中的元素到内容脚本,可以如下完成:

  • 在内容脚本中,创建一个函数,将选定参数作为这个函数的参数。
  • 在 DevTools 页面中使用在useContentScriptContext:true的选项中的inspectedWindow.eval来该函数方法。

在内容脚本中你的函数代码可能是这个样子:

function setSelectedElement(el) {
    // do something with the selected element
}

在 DevTools 页面调用这个方法,像这样:

chrome.devtools.inspectedWindow.eval("setSelectedElement($0)",
    { useContentScriptContext: true });

useContentScriptContext:true 选项限定的是表达必须在相同的上下文中的内容脚本中进行计算,所以它可以使用setSelectedElement方法。

来源:https://www.breakyizhan.com/chromeconsole/2281.html?amp

 

chrome.devtools.panels.openResource('https://www.sogou.com/web/css/yuyin.v1.0.1.css', 45, res => {
console.log(20, 'openResource', res);
});

 

chrome.desktopCapture.chooseDesktopMedia

posted on 2019-11-25 18:20  xiaogezi  阅读(223)  评论(0编辑  收藏  举报

导航