iframe 重定向问题

在 vue 项目中,加载第三方 html 网页,怎么办呢?

可以用 iframe 实现。思路如下:

新建一个页面,比如: new.vue。

然后在路由里注册该页面,并配置好路由。

这样写好之后,运行一下项目,引入的 iframe 也能够加载出来。可是一个问题也随之而来了:点击按钮跳转时,页面变化了,但是地址栏的 hash 路由并没有改变,而且一刷新立马又回到 preIndex 页面了。怎么办呢?解决方法如下:

如果有 iframe 的源码,打开并编辑 iframe 的源码。在其 title 标签下嵌入一段 JavaScript 代码,比如:重定向iframe的路由至login页面,可以这样写:

function redirectIframeHash(){
	window.location.href = 'https://XXX/#login';
}

然后,在引入的 iframe 页的源码中,需要跳转至父路由的地方调用该函数即可。

tip:这种用 font 写的页面加载会特别特别的慢。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 当在嵌套的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 ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值