菜单内嵌的iframe控制外层页面跳转

需求: 菜单框架和菜单内容是不同组件开发,通过iframe联动的,现在需要由一个菜单跳转到另一个菜单,实现左侧菜单和上方Tab标签都跟随变化
在这里插入图片描述

菜单内容若是和菜单框架使用同一组件,那么自然有相应的文档,菜单跳转非常简单,但内嵌不同开发组件或者页面要实现跳转,提供菜单框架的组件不能使用

解决方案: 在内嵌的iframe中去控制外层的页面网址,实现菜单跳转
在内嵌iframe的js中,通过window.open("url","_top")或者通过top.location.href=url来实现跳转,url为需要跳转的菜单的网址
当有多层iframe嵌套时,可以使用window.parent.location.href=url来控制父页面

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
iframe页面内嵌跳转Vue,可以通过以下步骤实现: 1. 首先,在页面中引入Vue.js和Vue Router,并创建一个Vue实例。 2. 在页面中创建一个iframe元素,并设置src属性为要内嵌的子页面的URL。 3. 在子页面中同样引入Vue.js和Vue Router,并创建一个Vue实例。 4. 在子页面的Vue实例中配置路由,定义路由表和对应的组件。 5. 在子页面的Vue实例中使用<router-view>标签来显示路由对应的组件。 6. 在页面的Vue实例中使用Vue Router的push方法来进行内嵌跳转,即改变iframe的src属性为目标路由的URL。 下面是一个简单的示例代码: 页面(index.html): ```html <!DOCTYPE html> <html> <head> <title>Parent Page</title> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> <script src="https://unpkg.com/vue-router/dist/vue-router.js"></script> </head> <body> <div id="app"> <iframe :src="iframeSrc"></iframe> <button @click="navigateToChildPage">Go to Child Page</button> </div> <script> const router = new VueRouter({ routes: [ { path: '/child', component: ChildPage } ] }); const app = new Vue({ el: '#app', data: { iframeSrc: 'child.html' }, methods: { navigateToChildPage() { this.iframeSrc = '/child'; } }, router }); </script> </body> </html> ``` 子页面(child.html): ```html <!DOCTYPE html> <html> <head> <title>Child Page</title> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> <script src="https://unpkg.com/vue-router/dist/vue-router.js"></script> </head> <body> <div id="app"> <router-view></router-view> </div> <script> const ChildPage = { template: '<div>Child Page Content</div>' }; const router = new VueRouter({ routes: [ { path: '/', component: ChildPage } ] }); const app = new Vue({ el: '#app', router }); </script> </body> </html> ``` 在这个示例中,页面中的按钮点击事件会触发页面的Vue实例中的navigateToChildPage方法,该方法会改变iframe的src属性为子页面的URL,从而实现内嵌跳转。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值