【问题标题】:Access to XMLHttpRequest (sound.mp3) has been blocked by CORS policy [duplicate]CORS 策略已阻止访问 XMLHttpRequest (sound.mp3) [重复]
【发布时间】:2020-04-14 12:27:15
【问题描述】:

CORS 策略已阻止从源“null”访问“./sounds/sound.mp3”处的 XMLHttpRequest:跨源请求仅支持以下协议方案:http、data、chrome、chrome-extension、https。

我正在制作一个想要制作游戏的项目,但没有什么主要是画布元素。 (所有移动的 IMG 标签和 div)

其他解决方案不起作用。我正在使用 howler.js 播放声音剪辑,我得到了这个,但有时tone.js 确实有效。我不知道如何解决这个问题,因为我需要非精通技术的人来使用这个文件,所以 chrome 设置对我来说是禁止的。另外,我不能使用本地主机或网络服务器。有谁知道如何解决这一问题?

【问题讨论】:

  • 请访问help center,使用tour查看内容和How to Ask。做一些研究,搜索关于SO的相关主题;如果您遇到困难,请发布您的尝试minimal reproducible example,并注明输入和预期输出。
  • 您不能使用从文件协议加载到 Ajax 到启用 CORS 的服务器的页面
  • 您必须将资源下载到与页面相同的文件系统

标签: javascript html howler.js tone.js


【解决方案1】:

以 localhost 运行整个网站(例如使用 xampp)应该可以修复它

【讨论】:

  • 对不起,我不能用那个。正如我所说,我不能使用网络服务器来运行它。
  • @SuperJumpBros 那你就是 SOL
  • 不知道有没有别的办法。据我所知,您可以通过托管(本地主机或网站)或做奇怪的 chrome 设置来解决 CORS
  • 该死!我想我可以用另一种方式解决这个问题
  • 不幸的是我不认为有
【解决方案2】:

您可以将此代码放在批处理脚本 (Windows) 或 shell 脚本 (Linux/Mac) 中,并要求他们双击该脚本(如果他们使用的是 Google Chrome - 我认为您不能这样做在 Firefox 上):

窗户:

C:\Program Files (x86)\Google\Chrome\Application\chrome.exe <path to file>

Linux:

google-chrome <path to file> -allow-file-access-from-files

苹果机:

open -a 'Google Chrome' <path to file> —allow-file-access-from-files

【讨论】:

    猜你喜欢
    • 2019-12-18
    • 2021-10-11
    • 2020-05-05
    • 2020-05-30
    • 2019-08-23
    • 2020-01-05
    • 2019-04-28
    • 2019-09-23
    相关资源
    最近更新 更多