• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

浏览器同源策略限制,导致没办法获取跨域iframe里的元素

武飞扬头像
love_pgme
帮助2

问题:在做文件预览的时候,需要通过api获取文件的服务器地址,然后通过iframe绑定地址,显示在页面上。这时如果需要增加打印功能,调用浏览器打印时,由于同源策略,会获取不到iframe.contentWindow。

方案一:谷歌浏览器, 禁用同源策略

快捷方式》右键》属性》目标 ;往后插入以下内容

--disable-web-security --user-data-dir="***" --disable-site-isolation-trials

学新通

 方案一可以快速解决问题,但是局限性太大;

方案二: vue 配置跨域代理(推荐)

页面地址: http://localhost:8080/Index

原iframUrl:https://localhost:4090/Uploads/1111.pdf

  1.  
    devServer:{
  2.  
    proxy:{
  3.  
    '/Print':{//匹配所有以'/Print'开头的请求路径
  4.  
    target:'https://localhost:4090',//代理目标的基础路径
  5.  
    changeOrigin:true,//是否跨域
  6.  
    secure:false,//https
  7.  
    pathRewrite:{'/Print':''} //路径重写,将开头的print替换为空
  8.  
    }
  9.  
    }
  10.  
    }

注意:配置后url地址应该更改为:/Print/Uploads/1111.pdf ,经过代理重写后其实访问地址还是原url地址;

本篇文章来至:学新通

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通
  • 本文地址: https://www.swvq.com/boutique/detail/tanhcikkhh
  • 联系方式: luke.wu#vfv.cc
系列文章
更多 icon
同类精品
更多 icon
我要评论
我的头像
精彩评论
继续加载