Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 单击链接时启动视频_Javascript_Jquery - Fatal编程技术网

Javascript 单击链接时启动视频

Javascript 单击链接时启动视频,javascript,jquery,Javascript,Jquery,在我的网站上,链接A和链接B可以链接到第X页 如果我来自链接a,我想在第X页上自动启动一个视频,但当我来自链接B时,就不想了 使用javascript/jquery有什么方法可以做到这一点吗 仅供参考:我正在使用fancy box启动视频。因此基本上您希望检测历史。只需使用document.referer 比如: document.addEventListener("load", function() { if (document.referrer === LINK_A) { sta

在我的网站上,链接A和链接B可以链接到第X页

如果我来自链接a,我想在第X页上自动启动一个视频,但当我来自链接B时,就不想了

使用javascript/jquery有什么方法可以做到这一点吗


仅供参考:我正在使用fancy box启动视频。

因此基本上您希望检测历史。只需使用
document.referer

比如:

document.addEventListener("load", function() {
  if (document.referrer === LINK_A) {
    startVideo();
  }
});

就您的目的而言,这应该没问题。

有两种方法可以解决此问题

选项1

这个选项是我的第一个概念证明

在您的第一页:

<a href="/newpage#linkA">Link A</a>
<a href="/newpage">Link B</a>
<a href="/newpage?playVideoA=1">Link A</a>
<a href="/newpage">Link B</a>
选项2:

第一个选项没有说明如果使用“后退”按钮,页面将不会刷新。但是,使用查询字符串确实会导致页面刷新,从而产生这种解决方案

在您的第一页:

<a href="/newpage#linkA">Link A</a>
<a href="/newpage">Link B</a>
<a href="/newpage?playVideoA=1">Link A</a>
<a href="/newpage">Link B</a>

我可以想出两种方法。一个是检查document.referer的值以查看上一页是什么。更好的方法是让PageX接受一个“autostart\u video”HTTP GET参数。因此,您的链接将转到类似的url。如果您的页面是动态构建的(例如,如果您使用的是Django),那么您可以检查该参数并相应地修改JavaScript。

在URL中随链接a发送一个参数,在页面加载时检查URL,如果是页面a,则运行视频,否则什么都不做。发布当前页面code@ToniMichelCaubet在这种情况下,,我只认为这是一种消遣,而不是一种补充。OP提出的问题可以很容易地帮助其他没有任何代码就访问此页面的用户。添加代码将使其更加用户专用,并降低其质量。另一方面:由于OP使用的是Javascript,因此最好使用jQ事件监听器(用于通用支持)而不是
addEventListener
,后者对基于IE的浏览器的支持有限。这正是它所需要的,但我在玩弄这样一种可能性,即有人会转到“/newpage#linkA”,然后转到“/newpage”,然后尝试返回(使用后退按钮)。无论我单击“后退”按钮多少次,它都只是在“/newpage#linkA”和“/newpage”之间切换。我错过了什么吗?返回时,浏览器似乎没有使用哈希刷新。用另一个选项更新了我的答案。