【问题标题】:Opening a Tab only once只打开一次标签
【发布时间】:2014-06-24 10:40:14
【问题描述】:

我创建了 4 个静态 HTML 页面,如下所示。

  1. 首页
  2. 关于
  3. 服务
  4. 联系方式

在每个页面上都有一个链接,该链接会打开另一个名为 myVideo.html 的静态页面,该页面会在新标签页上播放关于我的视频。

我在每个页面上都保留了该链接,以便用户可以在任何地方打开它。

问题是,当它从首页打开时,又可以从about page打开,导致视频自动播放两次,影响不好。

我想要的是,当用户从任何页面开始播放视频并且当他们再次从另一个页面执行相同操作时,他们应该收到一个提醒,指出“视频已经在新标签页上播放”,所以我的视频只播放一次。他们只能在关闭正在播放该视频的选项卡时再次播放该视频。

我的问题是,这可能吗??

【问题讨论】:

  • 是 ASP.NET、PHP 中的应用程序还是纯 HTML?
  • 纯 HTML - @NicolasHenrard
  • 你需要一个 JS 变量来设置视频一旦启动并检查它是否再次被要求。当用户关闭视频时,您还需要重置变量。
  • 你能给我一个非常简短的例子吗? - @Dean.DePue
  • @Dean.DePue JavaScript 不能做持久的事情,比如这个功能需要... Ctrl+F5 一切都完成了。

标签: javascript php jquery html


【解决方案1】:

在链接中使用target=""。该目标适用于框架,但是当您在每个链接中指定相同的目标名称时,浏览器将在不存在具有该名称的窗口时打开一个新选项卡或窗口,并在现有窗口存在时重用它。

<a href="/link/to/video/" target="video">link</a>

【讨论】:

  • 我没有检查过手机,但由于这是自网络诞生以来的常见行为,我希望他们会这样做。
  • 好的 .. 让我在我的页面上实际操作,如有任何疑问,请回复您 .. +1 以获得非常干净的解决方案。
  • ok .. 这是发生了什么.. 当我从 home.html 播放视频时,它会通过 target="video" 在新标签页上打开视频。当我单击 about.html 时,正在播放视频的选项卡会重新加载视频并从头开始播放,以此类推其他页面。正如我在问题中提到的,我提到的警报是让播放器继续播放视频。这是否可以让播放器继续播放视频而不是再次重新加载? - @GeraldSchneider
  • 不,如果没有大量的 javascript 将当前状态存储在 cookie 或本地存储甚至服务器上,这是不可能的,这在每个客户端上都不起作用。您能做的最好的事情(并确保它对所有访问者都是一致的)是确保它只在同一个标​​签/窗口中播放一次。
  • 感谢@GeraldSchneider 的回复。我会坚持你原来的解决方案。因为我需要为不同的标签播放它,所以用户不会偏离主页。只是最后一个问题。有没有办法让用户保持在同一个选项卡上而不是在 myVid.html 上重定向但 myVid.html 应该在新选项卡上打开??
【解决方案2】:

几乎一切皆有可能。

但在我看来,这个功能需要一些服务器端脚本。

真正的问题是无法使用 JavaScript 将数据存储在文件中。

您可以检测视频事件(例如:Detect when an HTML5 video finishes),但您无法让这些信息通过页面传递。

当用户刷新页面时,纯 JavaScript 解决方案将自动失败,eso...

【讨论】:

  • 那么这可以通过 PHP 实现吗??我可以在我的页面上集成 PHP,但是像你提到的那样存储值 JS 不能在页面刷新时存储??
【解决方案3】:

你可以在 jquery 中处理这个。

<a href="" title="" target="_blank" onclick="myFunction()" >content</a>

<script>
function myFunction() {
    window.open("http://stackoverflow.com","stackoverflow");
}
</script>

【讨论】:

  • 此答案与@Gerald 答案有关。@Gerald 在 html 中完成了此操作。我用javascript做。有什么问题?
  • JavaScript 可以被客户端禁用。当你可以在纯 HTML 中完成时,涉及 JS 是没有用的......
猜你喜欢
  • 2016-10-11
  • 2020-10-23
  • 1970-01-01
  • 2014-05-16
  • 2013-03-05
  • 1970-01-01
  • 1970-01-01
  • 2013-03-22
  • 1970-01-01
相关资源
最近更新 更多