处理iframe中嵌套本页面的问题

 在框架中,常常会出现一种状况,当session失效之后再次操作时,会发现登录页面(或者你要操作的页面)突然见就显示在了iframe中,这是很不好的体验。

  出现的效果大致像这样:

  出现了这种状况,我们常常希望的是——当session失效之后再次操作时进入登录页面,而且该登录页面是在iframe的父级页面,也就是浏览器上地址栏里面能看见的路径的页面。

  解决这种bug很简单,只需要在登录界面里面加上如下代码即可:

复制代码
1 <script type="text/javascript">
2         $(function(){
3             //判断登录页面是否在iframe中
4             if (self.frameElement && self.frameElement.tagName == "IFRAME") {
5                  parent.location.reload();//父页面重新加载
6             }
7         });
8     </script>
复制代码

  这段代码的意思就是:先判断该页面是否是在iframe里面,如果是——刷新父页面(此时重新加载,因为session失效的缘故,导致父页面刷新的结果是登录界面);

  最终我们的效果就会变成这样:

  代码十分简短,也十分有用。。

posted @ 2022-11-29 00:24  画画520  阅读(203)  评论(0编辑  收藏  举报