photo-sphere-viewer全景插件解决图片动态路径跨域问题

Posted ningxiaofang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了photo-sphere-viewer全景插件解决图片动态路径跨域问题相关的知识,希望对你有一定的参考价值。

因为公司需要网页浏览全景图,在网上找了好久支持的插件,一直没有合适的。
全景图我最后用的photo-sphere-viewer.js框架,网上有下载。

技术分享图片


当图片链接是本地静态的时候一切正常,但远程动态的话就一直报错。在网上找了很多资料,还是解决不了。

技术分享图片


最后机缘巧合之下找到了解决方法,差点没哭出来。


解决方法:
  首先要修改three.js的源码

技术分享图片

THREE.ImageLoader.prototype 添加
image.crossOrigin = ‘‘;

这样可以解决火狐浏览器的,但是chrome还是一直报错,
看了一下,因为我的全景图路径是动态的,静态的话可以支持。

然后查看了控制台发现

技术分享图片

 

意思是说ajax请求是从浏览器缓存里面读取了,所以在请求的路径后面加上随机数或者当前的时间。



然后在photo-sphere-viewer.js源码找到

技术分享图片

添加

loading.crossOrigin = ‘‘;

然后

技术分享图片

找到loadXMP函数在全景图路径后面添加当前时间。

这样还不行

然后技术分享图片

还要找到

createBuffer函数也添加当前时间。

最后刷新,完美解决,有种想哭的冲动。

第一次写博客,只是想记录一下困扰自己那么久的问题,也希望能帮到其它小伙伴。。。




















以上是关于photo-sphere-viewer全景插件解决图片动态路径跨域问题的主要内容,如果未能解决你的问题,请参考以下文章

基于Three.js的360度全景--photo-sphere-viewer--简介

Vue项目中是实现全景图片

H5使用photo-sphere-viewer.js实现360°全景

Vue 10分钟入门VR全景显示 基于photo-sphere-viewer

全景图片

Three.js制作360度全景图