【问题标题】:"physi.js" causes the error: "Script cannot be accessed from origin 'null'"“physi.js”导致错误:“脚本无法从源'null'访问”
【发布时间】:2015-05-12 22:28:49
【问题描述】:

我正在尝试使用 physi.js 库 ()。我按照给定的所有步骤操作:

https://github.com/chandlerprall/Physijs/wiki/Basic-Setup

但是,我得到了错误:

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

我试图更深入,并看到该行的问题:

this._worker = new Worker( Physijs.scripts.worker || 'physijs_worker.js' );

是什么导致了这个问题?浏览器是谷歌浏览器。我检查了,文件“physijs_worker.js”出现在正确的位置。

【问题讨论】:

标签: javascript three.js physics-engine physijs


【解决方案1】:

浏览器不允许从本地文件创建工作线程,因为这会带来安全问题。

另请参阅此问题:

Why does not Chrome allow Web Workers to be run in JavaScript?

【讨论】:

    【解决方案2】:

    只需添加 chrome 扩展 https://chrome.google.com/webstore/detail/web-server-for-chrome/ofhbbkphhbklhfoeikjpcbhemlocgigb?hl=en

    并使用扩展程序启动您的 index.html。现在它会在localhost中运行,不会有错误

    【讨论】:

    • 甜蜜。像冠军一样工作。谢谢。
    • 遗憾的是,这不适用于 macOS/ 使用 Brave。扩展程序已安装,但运行应用程序(您可以通过 Spotlight 找到)会启动应用程序,但不会出现任何窗口。
    【解决方案3】:

    在网络服务器上部署您的网站。如果没有 Web 服务器,我也会遇到同样的错误。

    【讨论】:

      猜你喜欢
      • 2012-08-10
      • 1970-01-01
      • 2015-02-18
      • 2023-03-05
      • 2020-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多