使用 javascript / jquery 在新后台选项卡中打开链接

2024-03-03

我希望该功能能够在用户单击链接时默认打开网站中指向新后台选项卡的所有链接。我已经检查了所有内容,但没有一个提供适用于所有浏览器的解决方案。我参考了以下两个链接来编写我的代码:

Chrome 中的工作示例 https://stackoverflow.com/questions/10812628/open-a-new-tab-in-the-background

ie 的建议修改 https://stackoverflow.com/questions/827716/emulate-clicking-a-link-with-javascript-that-works-with-ie

我有以下代码:

<html>
<head>
<style type="text/css">
.link{ color: #0055ff; cursor: pointer; text-decoration: underline; }
</style>


<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$(".link").on('click', function(event){
var $this = $(this);
    var a = document.createElement("a");

    a.href = $this.href;


    if( document.createEvent ) {
        var evObj = document.createEvent('MouseEvents');
        evObj.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0,
                            true, false, false, true, 1, a);
        a.dispatchEvent( evObj );

    } else if( document.createEventObject ) {
        var evObj = document.createEventObject();
        evObj.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0,
                            true, false, false, true, 1, a);
        a.fireEvent( 'onclick', evObj );
    }
});
});
</script>
</head>
<body>
<span class="link" data-href="http://www.google.com">Go to Google</span>
</body>
</html>

jQuery(将被弹出窗口拦截器阻止)

<html>
<head>
<style type="text/css">
.link{ color: #0055ff; cursor: pointer; text-decoration: underline; }
</style>


<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$(".link").on('click', function(event){
var $this = $(this);

    window.open($this.href, '_blank');

});
});
</script>
</head>
<body>
<span class="link" data-href="http://www.google.com">Go to Google</span>
</body>
</html>

JavaScript(不会被弹出窗口拦截器阻止)

<html>
<head>
<style type="text/css">
.link{ color: #0055ff; cursor: pointer; text-decoration: underline; }
</style>
</head>
<body>
<span class="link" onclick="window.open('http://www.google.com', '_blank')">Go to Google</span>
</body>
</html>

不过,根据问题的主题发表评论:

人们选择他们的浏览器应该如何运行,这并不意味着我们开发人员可以覆盖它......更好的方法是为他们提供一种方法,询问他们是否想在新选项卡/窗口中打开首先......其次,告诉他们为什么他们应该按照您的意愿行事以及在您的网站上这样做的好处。这可能会让你到达你想要的地方

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 javascript / jquery 在新后台选项卡中打开链接 的相关文章

随机推荐