WebGL跨域问题

  在学习《WebGL编程指南》的时候出现如下错误:

 

   开始根据网上所说的设置cross-origin,并且设置了浏览器的security.fileuri.strict_origin_policy,然而并没有用。

  后来看到了stackOverFlow上的解决帖子(链接:https://stackoverflow.com/questions/10752055/cross-origin-requests-are-only-supported-for-http-error-when-loading-a-local),找到解决办法。ps:测试表明目前火狐浏览器也已经不能直接访问本地的文件了。

  帖子中的解答截图:

  大致翻译:加载图像、模型从本地文件夹里面加载,而不是使用http://,所以可以在本地计算机上安装webserver或者从别处加载这个图片信息

 

  大致翻译:尽管文件来自同一文件夹,只要scheme(http/file)不同,就会被当作不同来源。

 

  总结解决办法就是在本地服务器上访问文件。

  具体步骤:(1)安装部署Python,NodeJS,本文中使用NodeJS。命令函键入npm install -g http-server,安装http-server

       (2)在顶层文件夹shift+鼠标右键,选择在此处运行命令行程序,键入hs -p 8080(即http-server -p 8080)。

       (3)在浏览器输入http://localhost:8080就可以看到文件目录,顺利访问所需要的文件!

posted on 2021-02-03 11:22  YuanYZX  阅读(685)  评论(1编辑  收藏  举报