PhysiJS不适用于localhost(在线示例工作正常)

时间:2015-05-01 19:03:11

标签: physijs

从标题中可以看出,当我运行physiJS的例子(来自github repo)时,它只显示背景,fps计数器,但根本没有physiJS功能(纯三.js工作正常)。当我在:http://chandlerprall.github.io/Physijs/examples/vehicle.html上运行时,一切运行正常。我现在不知道从哪里开始寻找问题所在。关于原因可能是什么想法?

2 个答案:

答案 0 :(得分:0)

PhysiJS使用Web工作程序来运行更新功能,并且不允许在本地系统上使用Web worker,因为它们需要通过JavaScript加载其他资源(某些浏览器上的跨源策略不允许这样做)。它与您的浏览器相关,在我的Mac上允许它,但Chrome会抛出错误:

Uncaught SecurityError: Failed to construct 'Worker': Script at 'file://physijs_worker.js' cannot be accessed from origin 'null'.

工作人员需要运行PhysiJS,因此您应该使用MAMP之类的本地服务器在本地计算机上对其进行测试。

答案 1 :(得分:0)

我在使用XAMPP作为本地服务器时遇到了同样的问题,并且使用FF来浏览这些示例。 使用开发工具并检查是否找到了弹药和Web工作者。很可能不是,所以检查路径可能是... js / js ...或localhost上的主目录。然后几分钟摆弄示例脚本中的路径,并将正常工作。

Anather的事情是,XAMPP对待它自己的文件夹示例,甚至在htdocs中不是索引文件时也不会显示它。所以,我只是更改了它的名称并创建了新的空htdoc并从phisijs示例中移动文件和目录。