chrome.tabs.create({
url: "about:blank"
}, function (tab) {
chrome.tabs.executeScript(tab.id, {
code: "window.setTimeout(function() {document.write(\"123\")},5000);"
})
});
我正在编写一个简单的chrome插件,并希望打开一个仅包含“123”的新标签。我已经在使用setTimeout来确保代码在加载后运行,但是不会写入“123”。我做错了什么?
答案 0 :(得分:4)
您无法在about:blank
(bug 55084,bug 76429)上运行任何内容脚本。
如果您想在新标签中显示信息,请使用data:
- 网址,
chrome.tabs.create({
url: "data:text/html,<script>" +
"window.setTimeout(function() {document.write(\"123\")},5000);" +
"</script>"
});
或Chrome扩展程序中的页面(注意:chrome.tabs.executeScript
不能用于在chrome-extension:
- 网址上运行内容脚本):
chrome.tabs.create({
// TODO: Create a file called view.html that renders the result
url: chrome.runtime.getURL("view.html")
});
view.html
受CSP约束,因此如果您想使用脚本,则必须将其放在单独的文件中:
<!-- view.html -->
<script src="view.js"></script>
// view.js
window.setTimeout(function() {document.write("123")},5000);