我想知道的是,當用戶點擊我網站上的鏈接(內部鏈接 - 而不是其他網站)時,如果他們只是點擊了它或按住Ctrl單擊它(或右鍵單擊 - 在新標籤頁中打開)。我可以知道當人們在新標籤中打開我的網站上的鏈接嗎?
我使用PHP。
例如: 人在頁面1上,並點擊鏈接爲page2。 當他們在頁面2我想知道他們來自哪裏(_server ['http_referer']給了我,但我也想知道他們是否在新窗口/選項卡中打開頁面。我需要知道這一點,因爲頁面上的歷史回退按鈕。
這樣做的原因是要知道網站的瀏覽歷史記錄 - 我創建會話以跟蹤瀏覽歷史記錄(以便我可以在任何給定時間返回一頁,返回兩頁或返回三頁),但是我不希望會話在選項卡之間發生衝突,以便每個選項卡都有自己的瀏覽歷史記錄。這就是爲什麼我需要爲每個打開的選項卡創建新的會話。
我發現作爲一個可能的解決我的問題是使用類似的JavaScript這樣:
<script>
var history_status = history.length;
var referrer_site = document.referrer;
if(history_status > 1 && referrer_site != "") {
alert(referrer_site);
} else {
alert('No referrer site');
}
</script>
我需要改變一點點,但是這是我第一次演示,以檢查如果它的工作原理(和它一樣)
我首先需要查找瀏覽器用戶使用,因爲history_status第一頁的歷史賦予0,當你使用IE瀏覽器,但1,如果你使用的是Firefox或Chrome。
您可以使用javascript'onready'和'history'對象來檢查是否有任何歷史記錄。如果是這樣,用戶只需點擊鏈接,就可以顯示/隱藏您使用PHP創建的歷史元素。 – Wulf
瀏覽器已經擁有內置的「返回X頁面」功能(通常通過按下後退按鈕來觸發)。你爲什麼試圖重新發明輪子? – Quentin
@Quentin你不明白我想要做什麼。用戶不應該決定他回去的頁數。 – birgir