safari浏览器下window.open无法打开新页面的解决办法

来源:网络 文章列表 2018-12-29 8
本文通过打开一个空白新窗口,然后改变其location的地址,来解决Safari浏览器下无法在回调函数里使用window.open跳转地址

问题描述:

今天在处理select下拉框选中某个值后,根据值的不同,跳转不同页面,在其他IE、谷歌,火狐下都没问题,唯独Safari不行。打开新窗口用的是window.open方法。

原因分析:

问题产生的原因是“safari中没办法在回调函数里面执行window.open, 原因是safari的安全机制将其阻挡了”。

解决办法:

打开这个窗口, 然后在回调函数里面修改新打开窗口的window.location为你要打开的页面地址就可以了。

实现代码:

$('.language').change(function () {
	var lang = $(this).val()
	var winOpen = ''
	if (lang == 'en') {
       winOpen = window.open("", "_blank");//打开一个新的页面
       winOpen.location = 'http://www.jsphp.net/en/';  //改变页面的 location 
    }
})

 

腾讯云限量秒杀

1核2G 5M 50元/年 2核4G 8M 74元/年 4核8G 5M 818元/年 CDN流量包 100GB 9元

版权声明

本站部分原创文章,部分文章整理自网络。如有转载的文章侵犯了您的版权,请联系站长删除处理。如果您有优质文章,欢迎发稿给我们!联系站长:
愿本站的内容能为您的学习、工作带来绵薄之力。

评论

  • 随机获取
点击刷新
精彩评论

友情链接