js控制链接在新标签页打开,而不是新窗口

大家都知道,window.open可以新开一个窗口,但是很可能被拦截,所以本文实现一个打开新标签的方法

不过值得注意的一点是:对应IE浏览器,只有IE9以上才支持document.createEvent函数,所以以下代码在IE执行的话要IE9以上才行

主要是通过模拟链接点击事件,直接上码:

<html>
<head>
    <meta http-equiv="Content-type" content="text/html; charset=utf-8">
    <title>Title</title>

    <script src="jquery.js"></script>
    <script type="text/javascript">
    $(function() {
        $("#btn").click(function() {
            //var a = $('a')[0];
            var a = $("<a href='http://www.apple.com' target='_blank'>Apple</a>").get(0);
            
            var e = document.createEvent('MouseEvents');

            e.initEvent('click', true, true);
            a.dispatchEvent(e);
            console.log('event has been changed');
        });
    });
    
    </script>
</head>

<body>
    <input type="button" value="Go to Apple" id="btn">
</body>
</html>

你可能感兴趣的:(js控制链接在新标签页打开,而不是新窗口)