当在iframe中要重定向页面的问题

在做网页的时候经常会用到iframe,当在页面中使用了iframe之后 ,点击对应的操作后会发现被重定向到父页面中的iframe区域来显示页面内容。

response.sendRedirect("/login.jsp");这句只是在iframe页面中发送的。这不是我们要的效果

 

举例:

假如一个网站后台分为左边操作功能区,右边为内容显示区,当点击左边区域的某个功能时,会在右边内容显示区显示相应的内容。可是在做退出系统这个功能时会直接退出到登录页面,而不是内容显示在右边的内容显示区,该如何实现 呢?

由于sendRedirect()没有target属性所以我们在servlet或jsp中利用js来转向。代码如下:

 

 

PrintWriter out = response.getWriter();
out.println("<html>");  
out.println("<script>");  
out.println("window.open ('/login.jsp','_top')");  
out.println("</script>");  
out.println("</html>");  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
回答: 当在嵌套的iframe中进行页面跳转时,可能会出现地址栏的hash路由没有改变的问题。为了解决这个问题,可以在嵌套的页面中添加一段JavaScript代码来实现重定向。可以使用以下两种方法之一来解决这个问题。 方法一:在login.html页面中添加以下代码: ```javascript $(function () { if(window != window.top){ window.top.location='/login/'; } }); ``` 这段代码的作用是,如果当前窗口不是顶层窗口(即在iframe中),则将顶层窗口的地址重定向到/login/页面。 方法二:在login.html页面中添加以下代码: ```javascript $(function () { if(window != top){ top.location.href=location.href; } }); ``` 这段代码的作用是,如果当前窗口不是顶层窗口(即在iframe中),则将顶层窗口的地址重定向到当前页面的地址。 通过使用以上方法之一,可以解决在iframe嵌套页面中进行重定向时地址栏hash路由没有改变的问题。 #### 引用[.reference_title] - *1* [iframe 重定向问题](https://blog.csdn.net/mChales_Liu/article/details/108588435)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [django登录失效重定向,解决iframe页面嵌套问题](https://blog.csdn.net/wuyepiaoxue789/article/details/125071204)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值