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

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

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

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

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

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

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

然后查看了控制台发现

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

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

添加

loading.crossOrigin = ‘‘;

然后

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

这样还不行

然后

还要找到

createBuffer函数也添加当前时间。

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

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




原文地址:https://www.cnblogs.com/ningxiaofang/p/8479482.html

时间: 2024-10-15 05:08:24

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

spring mvc 图片上传,图片压缩、跨域解决、 按天生成目录 ,删除,限制为图片代码等相关配置

spring mvc 图片上传,跨域解决 按天生成目录 ,删除,限制为图片代码,等相关配置 fs.root=data/ #fs.root=/home/dev/fs/ #fs.root=D:/fs/ #fs.domains=182=http://172.16.100.182:18080,localhost=http://localhost:8080 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE be

Vue-cli proxyTable 解决开发环境的跨域问题(转)

Vue-cli proxyTable 解决开发环境的跨域问题 和后端联调时总是会面对恼人的跨域问题,最近基于Vue开发项目时也遇到了这个问题,两边各自想了一堆办法,查了一堆资料,加了一堆参数,最后还得我把自己的localhost映射成上线时将要使用的域名.今天翻看代码时,突然发现vue-cli的config文件里有一个参数叫proxyTable,看这个名字就感觉能解决问题,于是我就去搜了一下,果然.在vuejs-templates,也就是vue-cli的使用的模板插件里,有关于API proxy

Vue-cli proxyTable 解决开发环境的跨域问题

Vue-cli proxyTable 解决开发环境的跨域问题 proxyTable: { '/list': { target: 'http://api.xxxxxxxx.com', pathRewrite: { '^/list': '/list' } } } 这样我们在写url的时候,只用写成/list/1就可以代表api.xxxxxxxx.com/list/1.那么又是如何解决跨域问题的呢?其实在上面的'list'的参数里有一个changeOrigin参数,接收一个布尔值,如果设置为true,

解决阿里云OSS跨域问题

解决阿里云OSS跨域问题 现象 本人项目中对阿里云图片请求进行了两次,第一次通过img标签进行,第二次通过异步加载获取.第一次请求到图片,浏览器会进行缓存,随后再进行异步请求,保存跨域失效. 错误信息如下: Failed to load http://cdn.imayuan.com/831ccd4741a7a56d85f6698a21f4ca69.svg: No 'Access-Control-Allow-Origin' header is present on the requested re

解决js获取数据跨域问题,jsonP

网上说了一些jsonp的示例,感觉都没用,最后研究了一下,调用腾讯的一个api.最后要加output=jsonp&callback=?这个,比较适用. var url = "http://apis.map.qq.com/ws/place/v1/search?boundary=nearby(39.908491,116.374328,1000)&keyword=%E6%88%90%E9%83%BD&key=OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77

Nodejs代理解决开发环境下跨域问题

前后端分离的项目,需要解决开发环境下跨域的问题: 转载链接:https://www.cnblogs.com/ytu2010dt/p/5959899.html 1.安装node环境 2.新建JS文件:nodeProxy.js 代码: "use strict"; const express = require('express'); const path = require('path'); const app = express(); const request = require('r

spring mvc 图片上传,图片压缩、跨域解决、 按天生成文件夹 ,删除,限制为图片代码等相关配置

spring mvc 图片上传,跨域解决 按天生成文件夹 ,删除,限制为图片代码,等相关配置 fs.root=data/ #fs.root=/home/dev/fs/ #fs.root=D:/fs/ #fs.domains=182=http://172.16.100.182:18080,localhost=http://localhost:8080 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE b

P3P解决cookie存取的跨域问题

最近在做一个流量统计的东西的时候,偶然发现IE在对iframe里面的页面写Cookie的时候有一些安全限制,导致读取Cookie不成功,找了好长时间的解决办法,重要找到如下的办法: 1.页面里的COOKIE不能是浏览器进程的COOKIE(包括验证票和不设置超时时间的COOKIE),否则跨域会取不到.这点做跨域COOKIE的人比较少提到.不过实际上留意下几家大学做的方案,有细微的提到他们的验证模块里的COOKIE是有设置超时时间的. 2.当利用IFRAME时,记得要在相应的动态页的页头添加一下P3

解决项目中的跨域操作问题

浏览器存在许多安全策略,其中同源策略就是其中一个,所谓同源策略也叫同域名策略,即只有协议+域名+端口一致的情况下才可以相互访问,其目的就是为了保护用户信息的安全,同源策略现在的范围包括三方面:1).Cookie.LocalStorage.IndexDB无法读取:2).DOM无法获取:3).AJAX请求不能发送.这里主要介绍两种解决AJAX请求不能发送的解决方案:JSONP和CORS.JSONP是一种前端的解决方式:CORS是跨域资源共享,在服务端实现. 一.JSONP 这里使用jquery的$.