- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试从后台脚本 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.html
上运行我的脚本 template.js
时> 使用 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.
由于新选项卡的 URL chrome-extensions://*/template.html
是扩展无法访问的。
我不确定如何将文本或 HTML 附加到标签页。对此的任何帮助表示赞赏。谢谢。
最佳答案
您不能在 chrome-extension:
页面上使用 chrome.tabs.executeScript
。唯一有效的方案是 http
https
file
ftp
。
无论如何,你不需要。您可以简单地将要运行的文件包含在带有脚本标记的 html 中。只需将以下内容添加到 template.html:
<script src="template.js"></script>
请注意,在诸如此类的扩展页面中,您可以访问完整的 chrome.*
API,因此,例如,您可以使用消息传递在该页面和后台页面之间进行通信。
关于javascript - Chrome 扩展 : How to append HTML to a newly created chrome tab?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36096648/
我是一名优秀的程序员,十分优秀!