2010-05-14 35 views
0

任何人都知道如何做到這一點:做事取決於行動在網頁中使用jQuery

當某個用戶關閉瀏覽器或標籤或去其他網站留下我的地盤我願做一個動作(顯示警報),如果用戶點擊鏈接或按鈕到我自己的網站的其他頁面我想要做另一個動作...

如果我使用卸載事件我不能區分這兩種用戶的行爲...請幫助,因爲我真的需要它。

感謝您的幫助。

回答

1

集所有網站內部鏈接的標誌:

var isInternal = false; 
$('a[href^="http://mysite.com/"]').live('click', function() { 
    isInternal = true; 
}); 

// then in your onunload handler: 

if (isInternal) { 
    // perform action 1 
} else { 
    // perform action 2 
} 

的鏈路提供了更好選擇可能是這樣的:

$('a:not([href*="//"])') 

但是,只有當你從來沒有使用絕對鏈接你的自己的網站。

+0

我同意這一點。然後你的內部鏈接上的標誌可以告訴你,如果你從頁面導航。不過,我相信重要的是要注意,如果您在元素上使用onClick事件,然後使用javascript重定向,則此操作無效。但總體來說這可能是你最好的解決方案。 – 2010-05-14 03:09:38

+0

@John - 根據觸發點擊處理程序的順序,此方法可能仍然有效。 – nickf 2010-05-14 03:36:53

+0

如果我的主播看起來像'Contact Us',這個工作是否會繼續?...這仍然是內部權利? – Reigel 2010-05-14 03:47:38