2013-06-26 137 views
0

在我的網站的時候,鏈路A和鏈路B可以鏈接到頁面X.啓動視頻點擊一個鏈接

我想自動啓動視頻第x頁,如果我來自一個鏈接,而不是在我來自鏈接B.

有沒有什麼辦法可以做到這一點使用JavaScript/jQuery的?

僅供參考:我使用花哨盒子來啓動視頻。

+1

在URL中發送一個參數和鏈接A,檢查頁面加載時的URL,如果頁面A,運行視頻,否則沒有。 – tymeJV

+0

發佈您的當前代碼 –

+0

@ToniMichelCaubet在這樣的情況下,我只會將這看作是分心而不是補充。 OP詢問的問題可以輕鬆幫助其他用戶在沒有任何代碼的情況下訪問此頁面。添加代碼將使其更具用戶特定性並消除其質量。 – jeremy

回答

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> 
+0

這正是它所需要的,但我正在玩弄有人會去「/ newpage#linkA」然後去「/ newpage」然後嘗試返回(用後退按鈕)的機會。無論我點擊後退按鈕多少次,它都會在「/ newpage#linkA」和「/ newpage」之間切換。我錯過了什麼? –

+0

當您回到瀏覽器時,看起來瀏覽器不會使用哈希刷新。用另一種方法更新了我的答案。 –

+0

是的!第二種解決方案完美運作。謝謝。 –

1

所以基本上你想檢測歷史。只需使用document.referrer即可。

喜歡的東西:

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

應罰款爲您的目的。

+0

方不:因爲OP使用Javascript,所以最好使用jQ事件偵聽器(用於通用支持),而不是使用對基於IE的瀏覽器的支持有限的'addEventListener'。 – jeremy

+0

這也會起作用。這只是一個普遍的想法。 – Pwnna

0

我能想到的兩種方法可以做到這一點。一個是檢查document.referrer的值以查看上一頁是什麼。更好的方法是讓你的Page X接受一個「autostart_video」HTTP GET參數。所以你的鏈接會去像http://mysite.com/pageX?autostart=True這樣的網址。如果您的頁面是動態構建的(例如,如果您使用的是Django),那麼您可以檢查該參數並相應地修改javsacript。