当前位置:   article > 正文

VUE实现嵌入Iframe页面 不打开新窗口_iframe不打开新窗口

iframe不打开新窗口

前提:项目是基于el-admin开发的 前后端分离 

el-admin的在线预览地址:EL-ADMIN

需求:在左侧的导航栏点击百度 红色框的页面内容就切换为百度 ;点击淘宝 就切换为淘宝

 实现

1.新建一个页面来做组件,以后不管是淘宝还是百度都是指向这个页面,只是传的url参数不同

  1. <template>
  2. <div>
  3. <iframe
  4. :src="pathUrl"
  5. style="height:1000px;width:100%;background-color: #ffffff;"
  6. ></iframe>
  7. </div>
  8. </template>
  9. <script>
  10. export default {
  11. name: 'Iframe',
  12. data() {
  13. return {
  14. pathUrl: ''
  15. }
  16. },
  17. created() {
  18. this.pathUrl = this.$route.params.head + '//' + this.$route.params.href
  19. }
  20. }
  21. </script>
  22. <style>
  23. </style>

(此页面我放在 @/views/Iframe/index )

2.在router/routers.js里面添加新的路由

 

constantRouterMap 里面添加的

  1. {
  2. path: '/Iframe',
  3. component: Layout,
  4. hidden: true,
  5. redirect: '/Iframe/index',
  6. children: [
  7. {
  8. path: 'index/:head/:href',
  9. component: (resolve) => require(['@/views/Iframe/index'], resolve),
  10. name: 'Iframe',
  11. meta: { title: 'Iframe' }
  12. }
  13. ]
  14. }

 (head和href就是我传递的参数)

 

 目前是这样实现了,但是仍有存在的问题

1.tab的名称暂时没有找到怎么配 如果我把第二步的title置为空,就没有名字显示,但是现在所有的iframe页面的tag名称都叫都iframe。

 2.导航栏有点丑,不是http://形式

 3.没有考虑Iframe页面的keep-Alive情况

 4.没有考虑去绕过sameorigin,现在大部分网站都不允许被嵌入到iframe里面

 5.我VUE也是刚学,路由还不是很懂,如果有哪里说错了的地方,欢迎指正,谢谢!

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/188421
推荐阅读
相关标签
  

闽ICP备14008679号