0

On my site, Link A and Link B can link to Page X.

I want to start a video automatically on Page X if I come from Link A, but NOT when I come from Link B.

Is there any way I can do this using javascript/jquery?

For Reference: I am using fancy box to start the video.

4

3 回答 3

1

所以本质上你想检测历史。只需使用document.referrer.

就像是:

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

应该可以满足您的目的。

于 2013-06-26T19:06:51.290 回答
1

有两种方法可以解决这个问题。

选项1

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

在您的第一页上:

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

并且在/newpage

<script type="text/javascript">
    $(function(){
        if(window.location.hash === "#linkA"){
            // play video
        }
    });
</script>

选项 2:

第一个选项不考虑使用后退按钮时页面不会刷新的事实。但是,使用查询字符串确实会导致页面刷新,因此产生了这种解决方案。

在您的第一页上:

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

并且在/newpage

<script type="text/javascript">
    $(function(){
        if(window.location.search.substring(1) === "playVideoA=1"){
            // play video
        }
    });
</script>
于 2013-06-26T19:07:03.583 回答
0

我可以想到两种方法来做到这一点。一种是检查 document.referrer 的值,看看前一页是什么。更好的方法是让您的 Page X 接受“autostart_video”HTTP GET 参数。因此,您的链接将转到http://mysite.com/pageX?autostart=True之类的网址。如果您的页面是动态构建的(例如,如果您使用 Django),那么您可以检查该参数并相应地修改 javsacript。

于 2013-06-26T19:07:30.803 回答