如何在browres上捕获打开新标签的目标网址

时间:2013-01-31 18:22:30

标签: javascript jquery

是否可以在浏览器打开新标签事件时使用JavaScript或Jquery捕获超链接的属性?

我可以说我有一个超链接<a href="http://example.com/something">MyLink</a>并使用右键点击链接并打开新标签应首先提醒“http://example.com

2 个答案:

答案 0 :(得分:1)

我认为只有编写浏览器扩展才能实现这一点。你无法用JavaScript控制这类事情。

答案 1 :(得分:1)

好的,所以这是我能想到的最好的,但它并不漂亮。

让页面上的所有链接指向另一个页面(我们称之为redir.html)。 redir.html通过URL传递一个参数,该URL定义了它应该打开的页面,如redir.html?page=www.example.com/something。然后redir.html执行你想要的任何JavaScript,也许只有在新的选项卡/窗口中打开它。这可以通过检查是否window.history.length === 1来检测。

redir.html:

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

源页面上的锚标记示例:

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

(我从this SO post获得getParameter函数。)