首页 新闻 会员 周边 捐助

js新打开页面,被浏览器阻止

0
[已关闭问题] 关闭于 2017-04-27 16:10

post 请求回调里面 , 模拟form表单,打开新页面还是被浏览器阻止 。 怎么办啊 ? 谁搞过呀 , 求破呀

老江湖的主页 老江湖 | 初学一级 | 园豆:104
提问于:2017-04-26 17:52
< >
分享
所有回答(5)
0

把代码贴出来看一下

狼爷 | 园豆:1204 (小虾三级) | 2017-04-26 22:12
0

post改成同步的试试,别用异步提交,浏览器会默认阻止异步回调后的js打开新页面的情况。

webaspx | 园豆:1973 (小虾三级) | 2017-04-27 08:36
0

先让用户操作直接打开新窗口,在新窗口里面去发 post 请求,在请求回调里面直接跳转就行了

by.Genesis | 园豆:2824 (老鸟四级) | 2017-04-27 09:52
1
名字不好起啊 | 园豆:401 (菜鸟二级) | 2017-04-27 14:40
0

多谢各位的帮助;我已经解决这个问题了;

1. 模拟form表单提交的方式,正常情况下是可以解决弹框被阻止的情况的,但是在异步请求回调之后再用此方式,也会被浏览器阻止。

2.window.open常规下更不用说了,更加会被浏览器阻止。

3.改成a连接让用户点击触发跳转不符合需求设定

4.异步请求改成同步请求,更是不可能,同步请求更会导致浏览器暂时性卡死。。

 

真正的解决方式是在window.open的基础上加以改造:

这中方式有个弊端现象,也就是在不知道post之后成功失败与否的情况下,都要先开打一个新窗口,post之后才能知道这个新窗口是不是有用。没用的话再close掉,这样在没用的情况下 ,就会看到有个新Tab打开了,忽然又被关闭了。 这个大家可以综合需求考虑实现。

老江湖 | 园豆:104 (初学一级) | 2017-04-27 16:08
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册