safari浏览器下window.open无法打开新页面的解决办法
本文通过打开一个空白新窗口,然后改变其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
}
})
版权声明
本站部分原创文章,部分文章整理自网络。如有转载的文章侵犯了您的版权,请联系站长删除处理。如果您有优质文章,欢迎发稿给我们!联系站长:
愿本站的内容能为您的学习、工作带来绵薄之力。
评论