window.open(...../.do)时,ie好使,火狐和谷歌不好使,求解!!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了window.open(...../.do)时,ie好使,火狐和谷歌不好使,求解!!相关的知识,希望对你有一定的参考价值。

参考技术A

很高兴为您解答!


    这是应为firefox、chrome为了防止一些网站的弹出框,默认不让用这个功能;


    设置一下就可以弹出来了,每个浏览器的设置方法不太一样,你搜搜看这么设置就可以了。


希望我的回答对您有用!

参考技术B   您好!很高兴为您答疑。
  这个代码在火狐等非IE浏览器下也是可以执行的,建议您补充说明下您具体遇到的什么问题,不然没法为您分析和提供合理建议。
  如果对我们的回答存在任何疑问,欢迎继续问询。追问

可以出现新的空白页面,地址栏也有值,选中地址栏,点回车新页面加载了内容

追答

您描述的这个情况是正常的呀,火狐下不弹窗口吗?

追问

空白页还叫正常?

追答

哦,这个空白页的话,是因为您没有指定网址啊。我大概明白您所说的问题了,您是直接传...../.do这种相对路径过去的是吧?

追问

追答

  这个属于跨域问题了,您需要使用完整的网络路径,我估计您是在动态脚本中使用,获取完整路径不是什么难题吧。

本回答被提问者和网友采纳
参考技术C 怎么可能,你说火狐谷歌可以用,IE不好使,这还比较正常,用jquery插件吧,dialog,功能比较全,样式也好看点。追问

可以出现新的空白页面,地址栏也有值

追答

查看一下window.open的参数,别的建设性的建议暂时也没了。。。。

window.open被拦截

1)直接调用window.open 或 点击的时候直接调用 window.open 是不会被拦截的

// 不会被拦截
$(‘.btn-open‘).click(function(){ window.open(‘xxxx‘, ‘_blank‘); });

 

2)window.open 只能放函数第一层,放在函数嵌套里会被拦截

// 会被拦截
$(‘.btn-open‘).click(function(){ $.get(‘xxxx.php‘, function(res){ window.open(res.url, ‘_blank‘); }, ‘json‘); });

 

简单来说,要想不被拦截,window.open 只能放函数第一层,不能放嵌套函数里(PS:写成一个独立的函数,但调用是在嵌套函数里调用也是不行的

// 会被拦截
function
openUrl(url){ window.open(url, ‘_blank‘); } $(‘.btn-open‘).click(function(){ $.get(‘xxxx.php‘, function(res){ openUrl(res.url); }, ‘json‘); });

 

以上是关于window.open(...../.do)时,ie好使,火狐和谷歌不好使,求解!!的主要内容,如果未能解决你的问题,请参考以下文章

ajax post下载文件/流

[JavaScript]js中window.open新窗口怎么实现post方式的参数传递

window.open() 在 AJAX 成功上的工作方式不同

BOM的window对象的属性及其方法

window.open返回值问题

jquery 打开页面window.location和window.open的区别