首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript、Chrome扩展开发、关闭弹出窗口

Javascript、Chrome扩展开发、关闭弹出窗口
EN

Stack Overflow用户
提问于 2011-07-15 21:48:29
回答 3查看 1K关注 0票数 0

在我的清单里有这个:

代码语言:javascript
复制
"popup": "1_options.html"

在上面的html文件中,我有以下代码

代码语言:javascript
复制
  var saved_email = localStorage['saved_email'];
  if (saved_email !== undefined ||  saved_email != "a@a.com") 
  {
      chrome.tabs.create({url: '0_register.html'});
  }

它完全按照我想要的方式工作,它用register.html打开了一个新的标签,但在右上角仍然有打开的弹出窗口:( (1_options.html)

有没有办法在我打开这个新选项卡时自动关闭弹出窗口?

谢谢!瑞安

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-07-15 21:58:54

您是否尝试过:

代码语言:javascript
复制
self.close();
票数 2
EN

Stack Overflow用户

发布于 2011-07-15 22:05:09

有几种方法可以做到这一点,但最简单的方法是调用:

代码语言:javascript
复制
window.close();

您甚至可以在创建选项卡时在回调函数中执行此操作。

代码语言:javascript
复制
chrome.tabs.create({url: '0_register.html'}, function() {
  window.close();
});

您还可以在后台脚本中添加侦听器以检查选项卡更新,如果新选项卡是注册窗口,则可以删除弹出窗口:

代码语言:javascript
复制
chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {
  if(changeInfo.status == "loading") {
      if(tab.url == "chrome-extension://[extension-id]/0_register.html") {
          chrome.tabs.remove(tabId);
      }
  }
});
票数 2
EN

Stack Overflow用户

发布于 2011-11-15 04:32:23

代码语言:javascript
复制
      chrome.tabs.create({url: '0_register.html', selected: true});

如果您不介意新选项卡在创建时被选中,这也会强制关闭弹出窗口。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6707958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档