我正在尝试从后台脚本background.js
打开一个新标签,并让这个新标签显示我在后台脚本中获得的一些文字。我正在使用chrome.tabs.create({ url: "template.html" });
使用template.html
文件创建新标签页,该文件只是一个空白的HTML模板:
<html lang="en">
<head>
<meta charset="utf-8">
<title>Testing</title>
</head>
<body>
</body>
</html>
在background.js
中,我有一个名为text
的变量,其中包含要添加到新标签页的文字,但我不确定如何追加它。
我认为可以在新标签页上执行脚本以附加文本,但是当我尝试使用template.js
在template.html
上运行我的脚本chrome.tabs.executeScript(tab.id, {file: 'template.js'});
时,我得到了以下错误:
Unchecked runtime.lastError while running tabs.executeScript: Cannot access contents of url "chrome-extension://*/template.html". Extension manifest must request permission to access this host.
由于新标签包含扩展名无法访问的网址chrome-extensions://*/template.html
。
我不确定如何在标签页中附加文字或HTML。对此有任何帮助表示赞赏。谢谢。
答案 0 :(得分:3)
您无法在chrome.tabs.executeScript
页面上使用chrome-extension:
。唯一有效的方案是http
https
file
ftp
。
无论如何,你不需要。您只需使用脚本标记在html中包含要运行的文件即可。只需将以下内容添加到template.html:
<script src="template.js"></script>
请注意,在此类扩展程序页面中,您可以访问完整的chrome.*
API,因此您可以使用消息传递在此页面与背景页面之间进行通信。