首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Chrome扩展:如何将HTML附加到新创建的chrome选项卡上?

Chrome扩展:如何将HTML附加到新创建的chrome选项卡上?
EN

Stack Overflow用户
提问于 2016-03-19 01:01:53
回答 1查看 1.1K关注 0票数 2

我正在尝试从背景脚本background.js中打开一个新选项卡,并让这个新选项卡显示我在后台脚本中获得的一些文本。我使用chrome.tabs.create({ url: "template.html" });来使用template.html文件创建新的选项卡,这只是一个空白的template.html模板:

代码语言:javascript
复制
<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'});时,我会得到以下错误:

代码语言:javascript
复制
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.

因为新的选项卡有URL chrome-extensions://*/template.html,所以扩展是不可访问的。

我不知道如何将文本或HTML附加到选项卡页。对此的任何帮助都很感激。谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-19 04:40:12

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

不管怎么说你不需要这么做。您可以简单地将您想要在html中运行的文件包含一个脚本标记。只需将以下内容添加到template.html中:

代码语言:javascript
复制
<script src="template.js"></script>

请注意,在这样的扩展页面中,您可以访问完整的chrome.* API,因此您可以使用消息传递在此页面和后台页面之间进行通信。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36096648

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档