引入第三方js跨域问题,如何解决?
项目中引入了“天地图”js库,
const script = document.createElement('script')// view 层的页面运行在 www 根目录,其相对路径相对于 www 计算script.src = 'http://api.tianditu.gov.cn/api?v=4.0&tk=' + config.tianMapKeyscript.onload = this.initEcharts.bind(this)document.head.appendChild(script)
但是自己的站点是“https”协议,发布站点后,发现请求的库里面重定向到了“http”开头的地址,导致引入该库报错,导致无法使用天地图,
演示:
访问官方demo:http://lbs.tianditu.gov.cn/api/js4.0/examples.html
打开f12,你能看到都是重定向(307)的http,哪怕你把例子中的http改成https也一样
纠正一点,这不是跨域,是属于 内容安全策略 中的 混合内容。
如果对方站点只有 http 资源,那没办法,你只有自己在后端或者网关上像类似于跨域那样,使用反向代理来获取。
但是,这个网站看起来是有 https 的,你直接把 URL 里面的 http 换成 https 就好了啊,试了一下用 https 是可以访问的。
本文向大家介绍如何用Nginx解决前端跨域问题,包括了如何用Nginx解决前端跨域问题的使用技巧和注意事项,需要的朋友参考一下 前言 在开发静态页面时,类似Vue的应用,我们常会调用一些接口,这些接口极可能是跨域,然后浏览器就会报cross-origin问题不给调。 最简单的解决方法,就是把浏览器设为忽略安全问题,设置--disable-web-security。不过这种方式开发PC页面到还好,如
本文向大家介绍JS跨域问题详解,包括了JS跨域问题详解的使用技巧和注意事项,需要的朋友参考一下 JavaScript是一种在Web开发中经常使用的前端动态脚本技术。在JavaScript中,有一个很重要的安全性限制,被称为“Same-Origin Policy”(同源策略)。这一策略对于JavaScript代码能够访问的页面内容做了很重要的限制,即JavaScript只能访问与包含它的文档在同一域
本文向大家介绍angular.js中解决跨域问题的三种方式,包括了angular.js中解决跨域问题的三种方式的使用技巧和注意事项,需要的朋友参考一下 前言 开始本文之前,大家应该首先了解,协议、主机名和端口号相同叫同源。同源策略允许页面从同一个站点加载和执行特定的脚本。站外其他来源的脚本同页面的交互则被严格限制。 要解决这个问题就需要跨域,本文介绍解决angular中的跨域的三种方式: 一、JS
本文向大家介绍Nginx解决前端访问资源跨域问题的方法详解,包括了Nginx解决前端访问资源跨域问题的方法详解的使用技巧和注意事项,需要的朋友参考一下 被前端跨域问题折磨快2天后,终于用ngnx的方式解决了,所以在此总结下。 该篇只探讨如何用Ngnx解决跨域问题,对于原理不作讨论。 1、首先介绍Windows环境下Nignx的相关命令操作 nginx常用命令: 验证配置是否正确: nginx -t
本文向大家介绍js关于getImageData跨域问题的解决方法,包括了js关于getImageData跨域问题的解决方法的使用技巧和注意事项,需要的朋友参考一下 在学习h5的时候,canvas标签中getImageData()报错:security error! 具体代码如下(chrome浏览器): 报错信息如下:Uncaught SecurityError: Failed to execute
本文向大家介绍利用Nginx代理如何解决前端跨域问题详析,包括了利用Nginx代理如何解决前端跨域问题详析的使用技巧和注意事项,需要的朋友参考一下 前言 Nginx(发音同“engine X”)是异步框架的网页服务器,也可以用作反向代理、负载平衡器和HTTP缓存。 本文将讲述如何使用 Nginx 在 Web 前后端分离开发中实现路由的转发。 Web 开发通常使用的是前后端分离的开发模式,即前端和后