2013-01-31 124 views
2

是否有可能在瀏覽器上用JavaScript或Jquery捕獲超鏈接的屬性打開新標籤頁事件?如何在瀏覽器上捕獲打開新標籤頁的目標網址

可以說我有一個超鏈接<a href="http://example.com/something">MyLink</a>並使用右鍵點擊鏈接,打開新的標籤應提醒第一「http://example.com

+1

我寧願:源頁

<script> function getParameter(param) { var val = document.URL; var url = val.substr(val.indexOf(param)) var n=url.replace(param+"=",""); return n; } var page = getParameter("page"); if(window.history.length === 1) { alert("I opened in a new tab or window"); } window.location.href = page; </script> 

實例錨標記確定你不能這樣做。也許如果你解釋你對這種事情的需求,那麼我們可以幫你找出你的場景的解決方法? – Grinn

+0

我有一個跟蹤工具,當它發生在網站上時,它會成爲超級鏈接點擊的頂級域名,並且它運行良好。我想擴展這個功能。我的一個同事堅持認爲可以用JavaScript編寫我很懷疑,我對自己說我要做一些研究 – fefe

回答

1

好的,所以這是最好的,我可以拿出來,但它不漂亮。

讓頁面上的所有鏈接指向另一個頁面(我們將其稱爲redir.html)。 redir.html通過URL傳遞參數,該URL定義了應該打開的頁面,如redir.html?page=www.example.com/something。 redir.html然後執行你想要的任何JavaScript,也許只有當它在一個新的選項卡/窗口中打開時。這可以通過檢查window.history.length === 1來檢測。

redir.html:

<a href="redir.html?page=http://example.com/something">My link</a> 

(我來自this SO post得到getParameter功能)

+0

感謝我的代碼片段我會試一試 – fefe

+0

代碼會讓重定向問題 – fefe

+0

非常好的想法格林。 +1 for window.history.length === 1 –

1

我認爲這是唯一可能寫一個瀏覽器擴展。你不能用JavaScript來控制這種類型的東西。

相關問題