首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >检查浏览器选项卡是否已打开,这样我就不会创建额外的选项卡

检查浏览器选项卡是否已打开,这样我就不会创建额外的选项卡
EN

Stack Overflow用户
提问于 2012-11-17 06:34:36
回答 4查看 23.6K关注 0票数 11

当用户将商品添加到我们的购物车中时,它会在一个新标签中打开我们的商店。奇怪的是,不同的网站。

我想检查选项卡是否已经打开,然后用第二个项目重新填充它,而不是用更新后的购物车打开另一个选项卡。

有没有办法用js检查这一点?我想我可以跟踪到我们打开了标签,但是我不明白我怎么才能确认它没有在向购物车添加商品之间没有关闭,而不是做一些ajax请求,doing两个页面,等等。这看起来有点过头了。

那么,如何检查浏览器选项卡是否已经打开呢?

使用解决方案进行编辑:首先:

代码语言:javascript
运行
复制
var tab = window.open('http://google.com','MyTab');

然后:

代码语言:javascript
运行
复制
if(tab) {
  var tab = window.open('http://yahoo.com','MyTab');
}
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-11-17 06:46:09

window.open具有以下参数:var tab = window.open(url, name, specs, replace)只要您使用相同的name,url就会加载到该窗口/选项卡中。

如果您想保留描述符/引用(上面的tab),该window.open将返回,一旦用户刷新页面,该引用就会丢失。

票数 14
EN

Stack Overflow用户

发布于 2012-11-17 06:40:24

我认为你最好的选择可能是session storage / local storage,但它只能在较新的浏览器中工作。

票数 1
EN

Stack Overflow用户

发布于 2012-11-17 06:50:01

你所需要做的就是保存一个对打开的标签的引用,你可以把它与一些对你有意义的id关联起来……然后,当您需要重新打开它时,只需使用保存的引用,您就可以从window.opener访问您的父窗口或打开窗口。此外,为了知道子窗口何时关闭,有一个默认的浏览器事件"beforeunload“,当调用该事件时,可以将窗口从父窗口中的引用对象中移除,这样您就知道必须重新打开它,而不是只关注它。

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

https://stackoverflow.com/questions/13425440

复制
相关文章

相似问题

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