- 此问题在此处已有答案**:
"Cross origin requests are only supported for HTTP." error when loading a local file(30个答案)
Access to Script at ' from origin 'null' has been blocked by CORS policy(5个答案)
昨天关门了。
我有一个使用p5.min.js
的HTML/CSS/JS
程序,它工作得非常好。但是,每当我用它加载image / JSON / font
文件时,它给我以下错误:
CORS策略已阻止从源"null"访问位于"file:///C:/Users/.../Fonts/RubikMonoOne-Regular. ttf"的XMLHttpRequest:只有以下协议方案支持跨源请求:http、数据、隔离应用程序、chrome扩展、chrome不受信任、https、edge。
- 代码中引发错误的部分:**
let font;
function preload() {
font = loadFont("./Fonts/RubikMonoOne-Regular.ttf"); // loadFont stems from p5.js
}
我不确定是什么原因导致了这个错误,因为我没有尝试做任何花哨的事情,只是运行p5js loadFont
命令。我不知道为什么它甚至是一个跨源请求,因为它们即使在同一个目录下也不起作用。我只是在我的桌面上运行这个文件,而不是使用Web或localhost server
。
我在网上找到了几个答案,但没有一个对我有效。所有答案似乎都是针对已部署的服务器或本地主机的。作为参考,我使用的是Microsoft Edge,但Chrome也不起作用。
我找到了一个建议运行MS Edge / Chrome via cmd
的答案:
–-allow-file-access-from-files --disable-web-security --user-data-dir --disable-features=CrossSiteDocumentBlockingIfIsolating` but in both cases that just tried to open an invalid link `xn---allow-file-access-from-files-k71r/
如果可以的话,我希望避免运行localhost服务器,因为那也给我带来了麻烦。但是,我希望将文件上传到fxhash
,所以任何解决方案都需要通用。
我不知道为什么它会变得如此复杂,我认为这将是一个超级容易的过程,因为它只需要双击一个HTML文件就可以运行它,而无需服务器等。
1条答案
按热度按时间ajsxfq5m1#
我猜你是使用的html文件直接打开它?!
你需要在本地服务器上运行你的html文件。
以下是一些帮助您入门的链接:
https://timnwells.medium.com/quick-and-easy-http-servers-for-local-development-7a7df5ac25ff
https://www.npmjs.com/package/http-server
https://codingshower.com/quick-local-web-server/