是否可以在浏览器打开新选项卡事件中使用 JavaScript 或 Jquery 捕获超链接的属性?
假设我有一个超链接<a href="http://example.com/something">MyLink</a>
,使用右键单击链接并打开新标签应该首先提醒“ http://example.com
”
是否可以在浏览器打开新选项卡事件中使用 JavaScript 或 Jquery 捕获超链接的属性?
假设我有一个超链接<a href="http://example.com/something">MyLink</a>
,使用右键单击链接并打开新标签应该首先提醒“ http://example.com
”
我认为这只能通过编写浏览器扩展来实现。你无法用 JavaScript 控制这类事情。
好的,所以这是我能想到的最好的,但它并不漂亮。
让页面上的所有链接都指向另一个页面(我们称之为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>
源页面上的示例锚标记:
<a href="redir.html?page=http://example.com/something">My link</a>
(我getParameter
从这个 SO 帖子中得到了这个功能。)