文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

vue项目怎么通过url链接引入其他系统页面

2023-07-05 11:34

关注

本篇内容主要讲解“vue项目怎么通过url链接引入其他系统页面”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue项目怎么通过url链接引入其他系统页面”吧!

vue通过url链接引入其他系统页面

1.正常配置菜单

在vue页面使用iframe进行嵌套加载其它系统的页面,已加载百度为例

<template>  <div id="app">      <iframe                  :width="searchTableWidth"         :height="searchTableHeight"         v-bind:src="reportUrl"       ></iframe>  </div></template><script>import Vue from 'vue'export default {  methods: {    widthHeight() {      this.searchTableHeight = window.innerHeight -180;      this.searchTableWidth = window.innerWidth - 230    },  },  data() {    return {      reportUrl: 'https://www.baidu.com/',      searchTableHeight: 0,      searchTableWidth: 0    }  },   mounted() {    window.onresize = () => {      this.widthHeight(); // 自适应高宽度    };    this.$nextTick(function () {      this.widthHeight();    });  },  created() {    // 从路由里动态获取 url地址   具体地址看libs下util.js里的 backendMenuToRoute  方法     this.reportUrl = 'https://www.baidu.com/'  },  watch: {    '$route': function () {      // 监听路由变化      this.reportUrl =  'https://www.baidu.com/'    }  }}</script>

效果图:

vue项目怎么通过url链接引入其他系统页面

2.加载引入系统可能会出现拦截

xxx 拒绝了我们的连接请求。

前端页面Refused to display 'xxx' in a frame because it set 'X-Frame-Options' to 'sameorigin',对于这个问题我们需要在引入的项目中进行拦截处理,引入项目中response.addHeader("x-frame-options","SAMEORIGIN")需要改写为response.addHeader("x-frame-options","ALLOW-FROM http://127.0.0.1:项目端口/");对访问方式进行允许iframe不同域名之间进行调动

vue项目怎么通过url链接引入其他系统页面

3.引入项目的后台拦截代码

@Configurationpublic class MvcConfig implements WebMvcConfigurer {   //配置日志    private static final Logger logger= LoggerFactory.getLogger(MvcConfig.class);        @Autowired    SystemConfig systemConfig;       @Override    public void addInterceptors(InterceptorRegistry registry) {        registry.addInterceptor(new HandlerInterceptor() {            @Override            public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {                //设置日志级别                //logger.debug("前置方法被执行");                return true;            }             @Override            public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {                //logger.info("后置方法被执行");                //System.out.println(systemConfig.getMqiUrl());                if(null == modelAndView){                    return;                }                response.addHeader("x-frame-options","ALLOW-FROM http://127.0.0.1:8004/");                modelAndView.getModelMap().addAttribute("arcgisserviceUrl", systemConfig.getArcgisserviceUrl());            }             @Override            public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {                //logger.debug("最终方法被执行");            }        });    }}

vue页面嵌套外部url

我的需求是一进入页面通过调接口获取页面的url,然后把url嵌套到当前页面。

<template>  <div class="page-content" id="bi-div"></div></template><script>  import reportFormApi from '@/api/reportForm'    export default {    name: 'reportComponent',    props:{      codeStr:String    },    data () {      return {        urlCode :"",      }    },    mounted: function () {      if(this.codeStr){        this.urlCode = this.codeStr;        this.getUrl();      }    },    methods: {      getUrl(){        reportFormApi.getQuickBi({url : "/postUrl/" + this.urlCode}).then(res=>{          if(res.code==0){            var frame = '<iframe frameborder="no" border="0" marginwidth="0" marginheight="0" scrolling="no" width="100%" height="100%" src="' + res.data.previewUrl + '"></iframe>';            var newNode = document.createElement('div');            newNode.innerHTML = frame;            newNode.style.height = '1200px';            var htmlBody = document.getElementById('bi-div');            htmlBody.insertBefore(newNode, htmlBody.firstChild);          }else{            this.$Message.error({              content: res.message,              duration: 2.5,              closable:true,            });          }        })      }    }  }</script>

到此,相信大家对“vue项目怎么通过url链接引入其他系统页面”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯