Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript chrome对象或chrome.tabs对象无法从脚本(后台脚本除外)访问_Javascript_Google Chrome Extension_Content Script - Fatal编程技术网

Javascript chrome对象或chrome.tabs对象无法从脚本(后台脚本除外)访问

Javascript chrome对象或chrome.tabs对象无法从脚本(后台脚本除外)访问,javascript,google-chrome-extension,content-script,Javascript,Google Chrome Extension,Content Script,我正在试验chrome extensions API,遇到了一个我不理解的问题 我有一个背景脚本background.js和一个内容脚本content_script.js。 background.js 内容脚本 后台脚本中的console.log工作正常,但在content_脚本中的console.log中,我遇到一个错误->无法读取未定义的属性“executeScript” 这意味着我无法从内容脚本访问chrome对象或chrome.tabs对象。为什么会这样?内容脚本在网页上下文中运行,

我正在试验chrome extensions API,遇到了一个我不理解的问题

我有一个背景脚本background.js和一个内容脚本content_script.js。

background.js

内容脚本

后台脚本中的console.log工作正常,但在content_脚本中的console.log中,我遇到一个错误->无法读取未定义的属性“executeScript”

这意味着我无法从内容脚本访问chrome对象或chrome.tabs对象。为什么会这样?

内容脚本在网页上下文中运行,而不是在扩展中运行

内容脚本无法访问所有Chrome API。根据:

内容脚本是在web环境中运行的JavaScript文件 页。通过使用标准文档对象模型DOM,他们可以 阅读浏览器访问的网页的详细信息,或对其进行更改 他们

以下是内容脚本可以执行的一些示例:

在网页中查找未链接的URL并将其转换为超链接 增加字体大小以使文本更清晰 在DOM中查找和处理微格式数据 是一个长时间运行的脚本,用于管理某些任务或状态。而后台脚本可以访问所有Chrome API


如果您想在内容脚本和背景脚本之间传递信息,请使用:

有关内容脚本的官方文档中包含。@ZigMandel您能给我发送一个链接吗。找不到它。它在目录脚本的第一页,另外它是一个重复的问题。一定要花更多的精力去调查。@ZigMandel你本可以在最后一个问题中告诉我,而不是让我走更长的路去反对。不,发布一个问题是可以的,但要遵循指导原则,看看答案是否存在,咨询官方文件等。我的意思是,你不能在回答其他问题的评论中不断问不同的问题。最后,通过链接到dup,您似乎得到了您一直在寻找的答案
chrome.browserAction.onClicked.addListener(function(tab) {
    chrome.tabs.executeScript({code:"console.log('background script')"});
    chrome.tabs.executeScript({file:"javascript/content_script.js"});
});
chrome.tabs.executeScript({code:"console.log('content_script')"});