JS问题解决(一)
2016-07-08 18:23
337 查看
1.为了解决当登录失效之后,这种嵌套的效果
可以使用如下的代码
就是判断当前窗口是不是顶级窗口,不是的话就在顶级窗口打开连接!
这段代码的作用是为了防止当前页面被其它网站用iframe非法引用。它判断自己所在的窗口是否为顶层窗口,如果不是则将顶层窗口地址替换为自己页面的地址。
2.window.open()打不开链接,无法跳出新页面的问题.
可以有两种解决方式.1.将ajax的异步改为同步;2.就是在ajax执行之前,用window.open()打开一个新的窗口,然后在ajax执行完之后,再修改新窗口的地址,即可.
window.open()操作,若是用户主动操作,如点击一个链接地址,弹出一个新页面,是不会被阻止的;一般被阻止,都不是用户主动发起的,比如点击一个click事件,然后处理了N多业务之后,其中有一个ajax异步方式执行的,再用widonw.open弹出一个新页面,就会被认为不是用户主动发起的,而是js代码自己发起的.所以可以将ajax改为同步的.加上async:
false这句设置即可.参考:浏览器阻止新窗口(window.open或新窗的form提交)
第二种方式,在windowOpen函数最上面,打开任意一个地址,然后在ajax中修改.参考:js实现window.open不被拦截的解决方法汇总
可以使用如下的代码
if(window.top!=window){ window.top.location.href=document.location.href; }
就是判断当前窗口是不是顶级窗口,不是的话就在顶级窗口打开连接!
这段代码的作用是为了防止当前页面被其它网站用iframe非法引用。它判断自己所在的窗口是否为顶层窗口,如果不是则将顶层窗口地址替换为自己页面的地址。
2.window.open()打不开链接,无法跳出新页面的问题.
可以有两种解决方式.1.将ajax的异步改为同步;2.就是在ajax执行之前,用window.open()打开一个新的窗口,然后在ajax执行完之后,再修改新窗口的地址,即可.
window.open()操作,若是用户主动操作,如点击一个链接地址,弹出一个新页面,是不会被阻止的;一般被阻止,都不是用户主动发起的,比如点击一个click事件,然后处理了N多业务之后,其中有一个ajax异步方式执行的,再用widonw.open弹出一个新页面,就会被认为不是用户主动发起的,而是js代码自己发起的.所以可以将ajax改为同步的.加上async:
false这句设置即可.参考:浏览器阻止新窗口(window.open或新窗的form提交)
function windowOpen() { //其他操作 $.ajax({ url:ctx+"/api/h5url/url.do", data:{ }, async: false, type:"post", dataType:"json", success:function(data) { //跳转到新页面(data是一个url) window.open(data); } });
第二种方式,在windowOpen函数最上面,打开任意一个地址,然后在ajax中修改.参考:js实现window.open不被拦截的解决方法汇总
function windowOpen() { var newTab=window.open('about:blank'); //其他操作 $.ajax({ url:ctx+"/api/h5url/url.do", data:{ }, type:"post", dataType:"json", success:function(data) { //跳转到新页面 newTab.location.href=data; } });
相关文章推荐
- js中window.open()的所有参数详细解析
- javascript 打开页面window.location和window.open的区别
- javascript弹出窗口 window.open使用方法以及参数说明分析篇
- Window.Open打开窗体和if嵌套代码
- javascript中window.open在原来的窗口中打开新的窗口(不同名)
- js中用window.open()打开多个窗口的name问题
- window.open打开页面居中显示的示例代码
- js中的window.open返回object的错误的解决方法
- 解析window.open的使用方法总结
- 函数window.open实现关闭所有的子窗口
- JS中window.open全屏命令解析及使用示例
- js中window.open的参数及注意注意事项
- window.open()实现post传递参数
- javascript使用window.open提示“已经计划系统关机”的原因
- window.open参数详解附实例
- javascript window.open打开新窗口后无法再次打开该窗口问题的解决方法
- JavaScript中window.open用法实例详解
- Window.Open打开窗体和if嵌套代码
- js中window.open的参数及注意注意事项
- Javascript 400例-002-定时打开窗口