回答
還有,我能想到的一些客戶端選項,其中沒有一個理想的:
你可以將網址
href
替換爲運行您想要的任何代碼的javascript:
網址,然後導航到正確的網址(location.href = "http://example.com"
)。這很討厭,因爲如果用戶沒有右鍵點擊 - >新選項卡或禁用JavaScript,它會中斷。您可以將事件偵聽器添加到
<a>
的單擊事件中。但是這不會在右鍵單擊 - >打開時觸發,或者用戶標籤並按下回車鍵。您可以在文檔本身上使用
onunload
事件處理程序,但這不會告訴您用戶將要去哪,並且在用戶打開新選項卡時不會工作。
如果你只是想跟蹤你的用戶在哪裏導航,那麼服務器端解決方案是唯一的萬無一失的方法。您將不得不將用戶發送到您自己的服務器,然後再發送HTTP 302代碼將瀏覽器重定向到正確的URL。當然,這需要比您想要的更多的基礎設施。
謝謝。我會盡力描述我的任務。我有一個頁面,包含我在服務器上生成的多個鏈接。用戶希望在新標籤上打開一些鏈接(這很重要 - 他不想鬆散當前頁面狀態)。用戶打開的鏈接必須隱藏。如果我理解正確,我不能使用第一個和第二個選項,因爲它不適用於「新選項卡」。而且我不能使用第三個選項,因爲用戶在新選項卡中打開鏈接並保持當前頁面打開。可能有其他方法來解決我的任務?嗯......可能是我可以使用CSS並隱藏所有訪問過的鏈接在我的頁面上...... – demas
是的,你可以做'a:visited {display:none; }'。這將持續多個會議,你可能會或可能不需要。另外,我不確定瀏覽器的隱私模式會如何影響它,因爲檢查':visited'是發現用戶歷史的一種(稍微尷尬的)方法。 – Nevett
嘗試
var links = document.getElementsByTagName('a');
for(var i = 0; i< links.length; i++) {
links[i].onmousedown = function(e) {
console.log(this.href, this)
if ((e.which && e.which == 3) || (e.button && e.button == 2)) { // not sure about IE
alert('right click');
}
}
}
- 1. 通過鏈接,打開PDF使捕獲
- 2. 如何打開並捕捉手風琴內的所有鏈接?
- 3. 捕獲「在新標籤中打開鏈接」和「在新窗口中打開鏈接」事件
- 4. 打開鏈接
- 5. 打開鏈接
- 6. 打開鏈接
- 7. 如何直接從Atom打開鏈接
- 8. 如何打開從的GInfoWindow鏈接
- 9. 獲取打開鏈接的URL uiwebview
- 10. 如何打開指定的,打開的窗口中的鏈接
- 11. 用jquery打開的鏈接打開鏈接
- 12. 如何打開點擊裏面的div打開鏈接?
- 13. 如何打開主IFRAME鏈接的輔助IFRAME鏈接?
- 14. Javascript打開鏈接
- 15. 如何從ID鏈接打開模式?
- 16. 如何鏈接鉻://在Firefox中打開?
- 17. Net :: HTTP - 如何打開地址鏈接?
- 18. 如何在div中打開鏈接?
- 19. IBM Worklight 6.1 - 如何打開鏈接?
- 20. Swift如何在Webview中打開鏈接?
- 21. 如何在iframe中打開google鏈接?
- 22. 如何從鏈接中打開地址
- 23. 如何在android中打開鏈接?
- 24. 如何在後臺打開鏈接...?
- 25. 如何從xpage鏈接打開文檔?
- 26. 如何從menu.xml打開鏈接到WebView
- 27. 你如何讓imageview打開鏈接?
- 28. 如何用movieclip打開鏈接? AS3
- 29. HTML - 如何在後臺打開鏈接?
- 30. 父鏈接打開的href
鏈接onclick事件可能會幫助你。 – lavrik
是爲此設計的,甚至可以在右鍵單擊時運行... – dandavis