使用iframe框架后的页面,执行跳转命令,目标页面内嵌至iframe的子页面的解决方法

使用iframe框架后的页面,执行跳转命令,目标页面内嵌至iframe的子页面的解决方法问题描述 nbsp nbsp nbsp nbsp 在做项目的过程中 需要完成修改密码后重新登录的功能 但是前端页面使用了 IFrame 的框架 修改页面内嵌在的 index html 中 重新登录的页面就内嵌到原来的页面中 问题如图所示 nbsp 修改密码成功后 nbsp 出现问题 修改密码页面跳转到的登录页面内置到了子页面中 nbsp 登录后出现了如下页面 nbsp 前端使用的是 AngularJs 后台使用的 sp

问题描述:

        在做项目的过程中,需要完成修改密码后重新登录的功能,但是前端页面使用了IFrame的框架,修改页面内嵌在的index.html中,

重新登录的页面就内嵌到原来的页面中。

问题如图所示:使用iframe框架后的页面,执行跳转命令,目标页面内嵌至iframe的子页面的解决方法

 

修改密码成功后:

使用iframe框架后的页面,执行跳转命令,目标页面内嵌至iframe的子页面的解决方法

 

出现问题,修改密码页面跳转到的登录页面内置到了子页面中

使用iframe框架后的页面,执行跳转命令,目标页面内嵌至iframe的子页面的解决方法

 登录后出现了如下页面:

使用iframe框架后的页面,执行跳转命令,目标页面内嵌至iframe的子页面的解决方法

 前端使用的是AngularJs,后台使用的springSecurity做的安全控制

原来代码:

password.html

 <a data-toggle="modal" class="btn btn-danger" ng-click="alterPassword(oldPassword,newPassword,password)">提交修改</a>

 

Service.js

//修改密码 this.alterPassword=function(oldPassword,newPassword){ return $http.get('../teacher/alterPassword.do?oldPassword='+oldPassword+'&newPassword='+newPassword); }

Controller.js

 //修改用户密码 $scope.alterPassword=function(oldPassword,newPassword,password){ if(newPassword!=password){ alert("两次密码输入的不一致!"); return; } teacherService.alterPassword(oldPassword,newPassword).success( function(response){ alert(response.message); //重新查询 location.href="../logout"; } ); }

 

修改后代码:

 //修改用户密码 $scope.alterPassword=function(oldPassword,newPassword,password){ if(newPassword!=password){ alert("两次密码输入的不一致!"); return; } teacherService.alterPassword(oldPassword,newPassword).success( function(response){ alert(response.message); //重新查询 /*location.href="../logout";*/ windows.parent.location.href="../logout"; } ); }

修改后,index.html的(主页面)直接跳转至的login.html页面

问题完美解决。

 

解决方法有两个:
(1)在<a> </a>标签中跳转,设置标签的目标属性为_parent;

<a target="_parent" href="../logout">安全退出</a>

(2)在js中使用window.location.href跳转,让父页面跟着一起跳转,即在window.location.href = url改为window.parent.location.href = url;(window可省略)

我根据项目采用的是第二种

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/233023.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 在Windows 10上安装TensorFlow及PyCharm开发环境[通俗易懂]

    在Windows 10上安装TensorFlow及PyCharm开发环境[通俗易懂]  有时候在查看官方文档时,常常看到很多的分支,所以作为开发者我们都喜欢把最佳实践总结出来。下面一起来看看如何在Windows10上安装一个TensorFlow和PyCharm开发环境。安装Anaconda  安装Anaconda以后,即可获得运行TensorFlow所需的Python运行环境。比起直接安装Python,Anaconda安装了丰富的工具,省去了不少麻烦。从http…

    2022年8月27日
    6
  • 关于ARM2440中断源个数的一点想法[通俗易懂]

    关于ARM2440中断源个数的一点想法[通俗易懂]关于ARM2440中断源个数的一点想法

    2022年4月21日
    42
  • linux redis命令客户端,Redis客户端

    linux redis命令客户端,Redis客户端Redis客户端Redis客户端是一个程序,通过网络连接到Redis服务器,在客户端软件中使用Redis可以识别的命令,向Redis服务器发送命令,告诉Redis想要做什么。Redis把处理结果显示在客户端界面上。通过Redis客户端和Redis服务器交互。Redis客户端发送命令,同时显示Redis服务器的处理结果在Redis命令行客户端redis-cli…

    2022年5月1日
    67
  • 20191207-CHKDSK命令修复磁盘教程「建议收藏」

    20191207-CHKDSK命令修复磁盘教程「建议收藏」WIN7下的磁盘突然不能打开。在网上找DiskGenius,结果只能显示可以找到哪些文件,但是不能恢复文件!如果你想恢复文件,是要付费的!本来想找WINPE下的DiskGenius,想想还得准备1TB的移动硬盘呀!(1TB的磁盘出错了!)没有想到直接使用chkdsk几分钟就可以解决问题了!MicrosoftWindows[版本6.1.7601]版权所有(c)2009MicrosoftCorporation。保留所有权利。C:\User…

    2025年7月5日
    3
  • 文件读取(FileInputStream 读取本地文件)

    文件读取(FileInputStream 读取本地文件)使用FileInputStream读取本地文件(图片、视频、音乐、文档资料)二进制文件、文本文件1.在物理存储上上没有什么区别,存在硬盘上都是以二进制方式存储2.解释数据的逻辑不同,程序读取文本文件,可以以字符方式读取,也可以以字节读取,将读取的数据解释为ASCII或者unicode编码;当程序读取二进制文件,以字节方式读取,对读取数据的解释由读取数据而定,如读取图片时,需要了解文件的结…

    2022年5月26日
    49
  • 用matlab画三维图实例_cad绘制3d图形的教程

    用matlab画三维图实例_cad绘制3d图形的教程文章目录一、引言二、绘制三维空间曲线三、绘制三维空间曲面1.基本概念2.示例(1)3.示例(2)4.等高线的曲面图5.被光照射带阴影的曲面6.图形修饰方法四、绘制等高线一、引言一图胜前言,本篇文章的目的就是绘制这样的三维图形二、绘制三维空间曲线plot3——基本的三维曲线绘制命令调用格式:plot3(x,y,z)——x,y,z是长度相同的向量plot3(X,Y,Z)——X,Y,Z是维数相同的矩阵plot3(x,y,z,’s’)——开关量字符串s用来设定曲线颜色和

    2022年10月11日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号