Chrome扩展程序:如何将HTML附加到新创建的Chrome标签页?

时间:2016-03-19 01:01:54

标签: javascript html google-chrome google-chrome-extension content-script

我正在尝试从后台脚本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.jstemplate.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。对此有任何帮助表示赞赏。谢谢。

1 个答案:

答案 0 :(得分:3)

您无法在chrome.tabs.executeScript页面上使用chrome-extension:。唯一有效的方案是http https file ftp

无论如何,你不需要。您只需使用脚本标记在html中包含要运行的文件即可。只需将以下内容添加到template.html:

<script src="template.js"></script>

请注意,在此类扩展程序页面中,您可以访问完整的chrome.* API,因此您可以使用消息传递在此页面与背景页面之间进行通信。