IE (6-11)版本,在使用iframe的框架时,通过a标签javascript:; 和js跳转parent.location的时候 出现在新页面打开的情况
2015-03-30 09:45
821 查看
问题描述:
使用iframe的情况下,在子框架中,使用如下形式的跳转:
在IE浏览器下,点击后,会在退出的情况下,再打开一个页面,URL显示为 javascript:; 的情况出现,也就是说 a标签的 javascript:; 并未生效!
这是一个很奇怪的现象,在谷歌等现代浏览器中并不存在该问题。 最后猜测可能是由于 a标签的href属性 在IE下的解析是先将href的值传递给父框架,然后在父框架中对href的值进行的一个跳转,而此时的href的值已经是一个字符串,并不具备执行js的功能。因此直接在新窗口中打开了URL 为 javascipt:;的页面,因此出现该错误。 那要解决这个问题就要在传递之前阻止a标签的默认事件,解决方法如下:
记录以作备用
使用iframe的情况下,在子框架中,使用如下形式的跳转:
<a href="javascript:;" onclick="parent.location.href='login.php';"> 退出</a>
在IE浏览器下,点击后,会在退出的情况下,再打开一个页面,URL显示为 javascript:; 的情况出现,也就是说 a标签的 javascript:; 并未生效!
这是一个很奇怪的现象,在谷歌等现代浏览器中并不存在该问题。 最后猜测可能是由于 a标签的href属性 在IE下的解析是先将href的值传递给父框架,然后在父框架中对href的值进行的一个跳转,而此时的href的值已经是一个字符串,并不具备执行js的功能。因此直接在新窗口中打开了URL 为 javascipt:;的页面,因此出现该错误。 那要解决这个问题就要在传递之前阻止a标签的默认事件,解决方法如下:
<a href="#" onclick="parent.location.href='login.php';return false;">退出</a> //或者使用jquery的,event.preventDefault()方法也可以达到同样的效果。
记录以作备用
相关文章推荐
- 史上最全的CSS hack方式一览 jQuery 图片轮播的代码分离 JQuery中的动画 C#中Trim()、TrimStart()、TrimEnd()的用法 marquee 标签的使用详情 js鼠标事件 js添加遮罩层 页面上通过地址栏传值时出现乱码的两种解决方法 ref和out的区别在c#中 总结
- 使用SUI mobile 通过a标签跳转到新页面 js文件不加载问题
- IFrame通过JavaScript进行页面跳向 chrome可以跳转而IE报错
- Firefox和IE,通过JavaScript调用iframe中页面的函数
- 使用DWR后。 在Frame框架中。会重新打开页面。/ie 6-9
- 关于 第三方接口支付的时候 采用post提交的方式,有两种 一种是通过 curl来进行,一种是通过js当页面加载完后跳转
- JS的location.href跳出框架打开新页面的方法
- JS的location.href跳出框架打开新页面的方法
- 黄聪:jquery mobile通过a标签页面跳转后,样式丢失、js失效的解决方法
- Firefox和IE,通过JavaScript调用iframe中页面的函数
- js 有框架页面跳转(target)三种情况下的应用(转载)
- 在使用cocos3.x版本的时候,如果出现了mainWindow为空的情况
- 使用iframe,注销以后,点击某个标签,跳转到的登录页面位于标签中
- Firefox和IE,通过JavaScript调用iframe中页面的函数
- js 有框架页面跳转(target)三种情况下的应用
- ie的开发者工具在页面包含iframe,且src不同域时,由打开开发工具而触发的js错误提示
- PHP使用frameset制作后台界面时,怎样实现通过操作左边框架,使右边框架中的页面跳转?
- 解决在chrome浏览器使用js的window.location.href跳转页面失败的问题
- JS的location.href如何跳出框架打开新页面
- 使用window.location.href跳转页面在IE和FF浏览器中路径不一致的问题总结