打开新页面时保持弹出窗口打开状态
Keep Popup Open when Opening a new Page
我有以下代码来介绍我的Chrome扩展程序。
// detect if this is the first time running
var first_run = false;
if (!localStorage['ran_before']) {
first_run = true;
localStorage['ran_before'] = '1';
}
// if not, start the intro() script
if (first_run) intro();
// intro script
function intro() {
window.open("intro/index.html", '_blank');
}
但遗憾的是,当我单击扩展程序时,它不会打开popup.html
,而只是打开介绍页面......它需要保持popup.html
打开状态,我相信有一种方法可以做到这一点。我想同时打开它们。
最好的方法是什么?
您使用的方法有效并且应该有效,但您可能应该只需使用 onInstalled 事件即可保持一致性:
chrome.runtime.onInstalled.addListener(function(info){
if(info.reason == "install"){
console.log("Installed!");
}else if(info.reason == "update"){
console.log("Updated!");
}
});
它不需要新的权限,并且会使安装代码与其余代码明确分开。
虽然Marc Guiselin的回答非常好,但知道如何在不关闭弹出窗口的情况下打开选项卡可能会很有用。
您可以在后台打开该选项卡,这样它就不会关闭弹出窗口。
chrome.tabs.create({
url: chrome.runtime.getURL("intro/index.html"),
active: false
});
通常,应避免在扩展中使用window.open
,而应改用chrome.tabs
和chrome.windows
API。
相关文章:
- Extjs 4在父窗口关闭时保存checkboxGroup的状态
- 即使我单击“确定”,模型弹出窗口扩展器仍保持打开状态
- 如何将参数传递到 UI 路由器状态的模式窗口
- 在弹出窗口中显示状态
- 使用AngularJS ui路由器创建类似弹出窗口的状态
- AJAX查询处于活动状态时禁用窗口大小调整
- Webpack--在窗口中处于热状态而未重建捆绑包
- 如何在Github电子原子中禁用或使浏览器窗口处于非活动状态
- 刷新窗口后,下拉列表未保持选中状态
- 在窗体中捕获窗口状态
- 打开打印窗口处于活动状态的 PDF 链接
- 弹出窗口处于活动状态时禁用滚动
- 仅在一个窗口中播放声音,该窗口使用javascript(可能是jquery)处于活动状态(在一个网站内)
- 打开新页面时保持弹出窗口打开状态
- JS弹出窗口打开并在另一个页面上检查其状态
- 在导航到新页面时,使 Chrome 扩展程序弹出窗口保持打开状态
- 通过jquery或javascript中的cookie记住聊天窗口状态
- 如何创建与父窗口状态相同的新窗口
- 在Chrome扩展弹出窗口中保持Flash元素处于活动状态
- 是否有任何方法可以检测IE8中该窗口当前处于活动状态