我正在更新我的一个Chrome应用以启动网络应用(为什么?我没有时间继续更新Chrome应用,单独使用桌面应用以供离线使用)
以下是清单的开头......
"app": {
"background": {
"scripts": [ "background.js" ]
}
},
我只是想让它现在打开一个新的标签到网站,而不是启动一个打包的应用程序。所以我尝试了以下......
"app": {
"launch": {
"web_url": "http://stackoverflow.com/"
}
},
发生错误:无法处理您的商品。
请在清单中指定应用程序部分的背景子部分。
"app": {
"launch": {
"web_url": "http://stackoverflow.com/"
},
"background": {
"scripts": [ "background.js" ]
}
},
发生错误:无法处理您的商品。
打包和托管应用程序的应用程序规范不兼容。请参阅清单规范。 清单可能不包含app对象内的启动对象。
所以我决定只使用后台脚本,并尝试以这种方式创建一个新标签。
background.js
chrome.app.runtime.onLaunched.addListener(function(launchData) {
chrome.app.window.create(
'index.html',
{
id: 'mainWindow',
innerBounds: {
'width': 800,
'height': 600
}
}
);
});
的index.html
<script>
var a = document.createElement("a")
a.href = "http://stackoverflow.com/"
a.target = "_blank"
document.body.appendChild(a)
a.click()
</script>
我终于能够成功添加一个带有...的新标签页
chrome.app.runtime.onLaunched.addListener(function(launchData) {
window.open("http://stackoverflow.com/")
})
在我的background.js
脚本中。
但是发生以下错误......
我点击了"Learn More"按钮,但这也给了我同样的“喔,啪!”页
有谁知道为什么我无法在Chrome打包应用中打开新标签?
和
我打算如何在Chrome打包应用中打开新标签?
答案 0 :(得分:2)
chrome.browser.openTab({ url: "" }, callback)
使用"browser"
。