1.正常配置菜单,在vue页面使用iframe进行嵌套加载其它系统的页面,已加载百度为例

<template><div id="app"><iframestyle="border:none":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>

效果图:

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不同域名之间进行调动

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

@Configuration
public 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链接引入其他系统页面相关推荐

  1. vue项目中将视频链接分享至推特的解决方法及踩坑记录

    vue项目中将视频链接分享至推特的解决方法及踩坑记录 将动态改变的视频链接分享至推特,并希望能直接在推特上播放视频的需求实现方法及踩坑记录 如果只要将文本或链接分享到推特,不需要推特识别图片/视频等媒 ...

  2. vue项目中使用vant时tabbar遮挡页面解决方法

    标题vue项目中使用Vant时tabbar遮挡页面解决方法 单页面使用: 页面底部可以增加一个div,<div style="height: 5rem;"></d ...

  3. 使用nw.js将vue项目打包为可在xp系统运行的桌面程序

    前情提要 在nw.js入门最如丝般润滑的教程一文中,作者介绍了简单的使用nw运行html文件为桌面程序以及将html文件打包为桌面可执行文件exe. 看vuecli创建的工程打包成exe文件可直接从[ ...

  4. vue项目 添加全局水印或某个指定页面水印 源码

    vue项目的页面添加水印,效果如图 index.vue import watermark from "./watermark"; mounted() {watermark.set( ...

  5. vue项目在ie、360兼容模式页面显示空白问题

    vue项目中,出现在ie与360兼容模式下打开页面呈现空白问题,如下: 控制台报main.js中语法错误~ 上网搜了一下,大部分解决方案是在webpack配置中与main.js中引入babel-pol ...

  6. VUE项目中使用this.$forceUpdate();解决页面v-for中修改item属性值后页面v-if不改变的问题

    VUE项目中使用this.$forceUpdate();解决页面v-for中修改item属性值后页面v-if不改变的问题 参考文章: (1)VUE项目中使用this.$forceUpdate();解决 ...

  7. vue项目中,用iframe嵌套其他页面在IE浏览器打开空白而在谷歌打开正常的问题

    问题 在vue项目中,某个页面里面用iframe嵌套了另一个vue项目的一个页面,在谷歌浏览器中打开,iframe的内容正常显示:在ie浏览器中打开,iframe的内容是空白的,没有报错. 原因 用的 ...

  8. Vue项目实战07:引入Normalize.css样式初始化

    Normalize.css简介 我们在开发的时候会发现很多样式都自带了各自特有的默认样式,而这样样式通常会被遗忘,导致样式调整起来很繁琐.为了让样式统一,我们在开发的时候通常会对一些元素进行样式重置, ...

  9. vue点击url链接下载文件

    在src下面新建一个downLoadUrl的目录 downLoadUrl / index.js文件 /** 后端返回文件的url,前端创建a标签来下载** 1. 解决了若文件为图片或浏览器支持的格式类 ...

最新文章

  1. 除了密钥,公有云还有哪些安全保护方式
  2. mysql安装ssl证书_Mysql配置ssl证书
  3. 使用 python 操作 redis
  4. (15)Node.js 自定义模块
  5. 顶目群定义及项目群管理
  6. 从零基础入门Tensorflow2.0 ----二、4.3 wide deep 模型(多输入)
  7. 矩阵转置matlab的函数,【ZZ】Matlab矩阵操作
  8. cocos 修改层级_管理节点层级和显示顺序
  9. 7-10 抢楼层 (20分) ---注意歧义啊!
  10. 多媒体计算机用什么音箱好,5款性价比高的电脑小音箱推荐(每一款音质都相当ok)...
  11. TypeError: empty() received an invalid combination of arguments
  12. python运用maya_适用于maya和其他3d应用程序的python版本
  13. 漏洞解决方案-敏感信息脱敏显示
  14. 苹果系统下载了python软件怎么卸载_mac怎么卸载pycharm
  15. 怎么往日历里面加时钟java,怎样在博客里添加钟表和日历
  16. Android多点触控之——MotionEvent(触控事件)
  17. ODL AAA认证加密
  18. 【游戏开发环境】Unity使用Mac电脑开发,开发环境的搭建(Mac mini M1 | VSCode | Git | 好用工具)
  19. MapReduce总结
  20. SpringCloudAlibaba踩坑日记(二)Relying upon circular references is discouraged and they are prohibited by

热门文章

  1. 【实战经验】Greenplum集群Master與Segment节点故障检测与恢复
  2. LINUX 和ubu 分别设置Ip
  3. 如何把很多照片拼成一张照片_ps里面怎么把多张图合成一张图
  4. 虫师 Selenium3 基于Python 生成HTML测试报告误区记录
  5. python 算法教程 pdf 英文_上手实践《Python机器学习第2版》PDF中文+PDF英文+代码+Sebastian...
  6. 2022/1/17 位运算
  7. java中display1,CSS Display(显示)
  8. ABP中IdentityServer4的Secret生成
  9. push推送相关注意事项
  10. 秋月之谋:黄金1504空再度击穿千五一线,原油反抽迎战前高阻力!