【问题标题】:Prevent opening new window or new tab on the same site?防止在同一站点上打开新窗口或新标签?
【发布时间】:2015-02-17 17:22:34
【问题描述】:

我想阻止用户打开多个标签页或打开我网站的窗口。每个页面都有不同的音频文件,不应同时播放。它还搞砸了一个带有背景音乐的弹出窗口。我还希望任何解决方案都适用于各种浏览器类型。

我尝试过 javascript cookie,但它们似乎不适用于在不同选项卡或窗口中打开的同一页面的多个实例。如果他们确实有效,如果设置了 cookie,我会简单地关闭新窗口。 (实际上,我认为该解决方案适用于 safari,但仅此而已。) php 会话变量是否适用于同一页面的多个实例?

我不在乎解决方案是否不能在隐身模式下运行,或者不能同时在同一页面上的不同浏览器类型上运行。那只是自找麻烦。

【问题讨论】:

  • 您不能简单地关闭客户端的窗口。您可以阻止一个在某些条件下打开,仅此而已。并且有很好的理由。只要是同一浏览器的实例,Cookie 肯定会“跨窗口和标签工作”。显然 php 会话可以,因为服务器不知道窗口和选项卡,只要会话不是通过 url 查询参数识别的。
  • 这对我来说听起来不是一个好主意。真的。您希望您的网站接管客户端浏览器的控制权并决定允许哪些 URL,哪些不允许?

标签: php


【解决方案1】:

您可以使用 PageVisibility API 检查是否有活动的标签在播放音乐,然后其他标签不播放音乐!

http://www.html5rocks.com/en/tutorials/pagevisibility/intro/

【讨论】:

  • 这个答案有点简单,所以我至少添加了一个链接和 API 的名称。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-05
  • 2021-07-15
  • 2015-07-16
  • 1970-01-01
  • 2017-04-07
相关资源
最近更新 更多