javascript - 如何在浏览器打开新标签页时捕获目标网址

标签 javascript jquery

是否可以在浏览器打开新选项卡事件上使用 JavaScript 或 Jquery 捕获超链接的属性?

假设我有一个超链接 <a href="http://example.com/something">MyLink</a>并使用右键单击链接并打开新选项卡应首先提醒“http://example.com

最佳答案

好吧,这是我能想到的最好的办法,但它并不漂亮。

让页面上的所有链接都指向另一个页面(我们将其称为 redir.html)。 redir.html 通过 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>

源页面上的示例 anchor 标记:

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

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

关于javascript - 如何在浏览器打开新标签页时捕获目标网址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14632547/

相关文章:

javascript - Vue未加载数据

javascript - 这个 JavaScript 闭包是如何工作的?

javascript - 如何同时执行两个 Action ?

javascript - 在这种情况下如何正确利用 $.Deferred()/Promise() ?

javascript - jest.mock() 等同于 sinon.stub()

javascript - 如何使用Javascript在悬停时更改输入类型标签中的(图像源)?

javascript - 在所有拖放区的拖动更改样式表上(文件上传)

php - 你如何处理 ', single quote in person' 的名字在 php,javascript

javascript - 在 Web 应用程序中动态加载 'pages' 或屏幕的最佳方法

javascript - 删除后如何添加和删除对象类?