赞
踩
浏览器提示 CORS policy 错误,所加载的底图、地形、模型等外部数据没有显示。F12 中提示 CORS 相关错误。
这是资源跨域权限的错误,由于浏览器同源策略,凡是发送请求 url 的协议,域名,端口三者之间任意一个与当前页面地址不同即为跨域,存在跨域的情况:
Access-Control-Allow-Origin 是 HTML5 中定义的一种服务器端返回 Response header,用来解决资源(比如字体)的跨域权限问题。 它定义了该资源允许被哪个域引用,或者被所有域引用(google 字体使用*表示字体资源允许被所有域引用)。
因为浏览器和 WebGL 的安全性要求,Cesium 和 Mars3D 加载的所有外部资源,都需要服务端允许跨域访问,跨域问题的终极解决方法在服务端:
以下一些问题也会提示CORS错误,但实际原因可能不是跨域引起的。
Chrome浏览器访问mars3d官网模型调试示例,加载本地localhost的服务模型时,报了这么个错:
The request client is not a secure context and the resource is in more-private address space private.
1
这是浏览器安全机制,是谷歌94+后,新增的功能,公网资源(访问者) 访问 私网资源(被访问者)会提示此错误。
任选下面1种方式
chrome://flags/#block-insecure-private-network-requests
页面 , 将Block insecure private network requests.
配置项的Default
改为Disabled
即可Access-Control-Allow-Private-Network
请求头(实际测试后,没有配置成功)访问影像瓦片底图时,如果瓦片不存在,也会在404错误后提示CORS错误。
{
"name": "合肥",
"type": "xyz",
"url": "{dataServer}/tile/googleImg/{z}/{x}/{y}.jpg",
"rectangle": { "xmin": 116.33236, "xmax": 118.183557, "ymin": 31.143784, "ymax": 32.565035 }
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。