js打开网址,如何让在新窗口中打开

JavaScript024

js打开网址,如何让在新窗口中打开,第1张

1.超链接<a href="http://www.jb51.net" title="脚本之家">Welcome</a>

等效于js代码

window.location.href="http://www.jb51.net"     //在同当前窗口中打开窗口

 

2.超链接<a href="http://www.jb51.net" title="脚本之家" target="_blank">Welcome</a>

等效于js代码

window.open("http://www.jb51.net")                 //在另外新建窗口中打开窗口

在浏览器的安全机制里,非用户触发的window.open(url)来打开新的链接方法是会被拦截的。(window.open(url,”_self”)改变当前的窗口是可以生效的)。

只有直接使用js调用 window.open(url)尤其是ajax请求回调或异步回调之后调用,打开新窗口时是会被拦截。常见解决方法:

1. 在超链接里加入onclick事件

<a href="javascript:void(0)" onclick="window.open(url)"></a>

2. 延迟打开

setTimeout('window.open(url)', 500)注意, 延迟时间不能太短 否则也会被拦截

3. 通过JS打开新窗口会被拦截,换一种实现方式

var newwindow=window.open('_blank')// 先打开页面

newwindow.location='http://www.xxxx.com'// 后更改页面地址

以下是js的点击触发事件,是用户触发,所以不会被拦截:

ele.onClick = function() {

    window.open('http://xxx.com')

})