【发布时间】:2012-03-23 12:19:04
【问题描述】:
我已经实现了一个 chrome 扩展。想知道 popup.html 是否可以在新选项卡中打开?每次单击页面,弹出窗口都会消失 :( .. 想知道我是否可以将其粘贴到页面上,或者有没有办法在新页面中打开扩展程序?
【问题讨论】:
标签: google-chrome google-chrome-extension google-chrome-devtools
我已经实现了一个 chrome 扩展。想知道 popup.html 是否可以在新选项卡中打开?每次单击页面,弹出窗口都会消失 :( .. 想知道我是否可以将其粘贴到页面上,或者有没有办法在新页面中打开扩展程序?
【问题讨论】:
标签: google-chrome google-chrome-extension google-chrome-devtools
是的,弹出页面只是一个普通的扩展页面,您可以执行以下操作从后台页面打开一个新的弹出标签。我每次用户第一次安装扩展时都会使用它,我打开关于页面,你可以对弹出页面做同样的事情。
chrome.tabs.create({url: 'popup.html'})
对于我的一个扩展程序My Hangouts,我在弹出窗口中有一个小的“作为选项卡打开”按钮,我绑定了该链接的点击事件以执行此操作:
chrome.tabs.create({url: chrome.extension.getURL('popup.html#window')});
我传递哈希的原因是因为我想在用户在弹出窗口中打开它时添加更多内容,因为有更多的空间可以玩。
在弹出窗口中,我使用普通 JavaScript 来区分是在新标签页还是在普通页面中打开标签,如下所示:
if (window.location.hash == '#window') {
this.displayAsTab = true;
}
您可以使用这样的技巧来改善您的扩展程序的用户体验。
【讨论】:
同样的问题:Chrome Extension: onclick extension icon, open popup.html in new tab
使用:
chrome.tabs.create({'url': chrome.extension.getURL('popup.html')}, function(tab) {
// Tab opened.
});
“固定”属性以粘贴标签。
【讨论】: