在学习《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就可以看到文件目录,顺利访问所需要的文件!