• Unity/WebGL打包/跨域问题/简单解决“......has been blocked by CORS policy: ......“


    报错原文:

    Access to XMLHttpRequest at'file:///C:/Users/13171/My%20project%20(1)/Test/Build/test.data.gz' from origin 'null' has been blocked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.

    1.WebGL 打包

    Files->buid Setting(注意不勾选Development build),点击Player Settings...

    Other Settings的Color Space选择Gamma

     

     Publishing Settings中Compression Format改为Disabled(否则会出现第二张图里的syntaxerror导致web页面无法加载)

    回到BuildSettings点击Build,跳出该项目文件夹。在该项目文件夹中创建新文件夹(我创建的文件夹名字叫Test,名字无所谓,别中文就行。这个文件夹应与Assets同级),最后选择该新建文件夹,在新文件夹里面build。初次build大概需要5分钟,之后就很快了。

     

     build成功之后,新文件夹应该有这么几个东西。

    2.利用python

    代码原文:
    Python http.server for a CORS world · Francesco Pira (fpira.com)

    在这个新文件夹里新建一个文本文档(.txt)。并且在该文档中复制粘贴如下代码。

    1. #!/usr/bin/env python3
    2. # It's python3 -m http.server PORT for a CORS world
    3. from http.server import HTTPServer, SimpleHTTPRequestHandler
    4. import sys
    5. class CORSRequestHandler(SimpleHTTPRequestHandler):
    6. def end_headers(self):
    7. self.send_header('Access-Control-Allow-Origin', '*')
    8. self.send_header('Access-Control-Allow-Methods', '*')
    9. self.send_header('Access-Control-Allow-Headers', '*')
    10. self.send_header('Cache-Control', 'no-store, no-cache, must-revalidate')
    11. return super(CORSRequestHandler, self).end_headers()
    12. def do_OPTIONS(self):
    13. self.send_response(200)
    14. self.end_headers()
    15. host = sys.argv[1] if len(sys.argv) > 2 else '0.0.0.0'
    16. port = int(sys.argv[len(sys.argv)-1]) if len(sys.argv) > 1 else 8080
    17. print("Listening on {}:{}".format(host, port))
    18. httpd = HTTPServer((host, port), CORSRequestHandler)
    19. httpd.serve_forever()

     保存后,将该txt文件更名为.py后缀。(名字随意,英文就行)

    利用cmd进入该文件夹,并且运行该python文件。

    在浏览器中进入localhost

    进入之后,以下为成功运行界面。

     

  • 相关阅读:
    vue3 分屏 可拖拽分屏
    虚拟数字人的商业价值
    数据结构 -栈和队列
    康迈斯多通路基因抗衰老之九:PQQ PRO线粒体能量
    centos使用root用户登录
    如何设置HTTP代理服务器??
    UniRx 入门
    GLTF-pipeline
    一款利用人工智能将自然语言查询转换为 SQL 代码的互译工具 - SQL Translator
    MySQL 开启 binlog 日志
  • 原文地址:https://blog.csdn.net/Solar_Zheng0817/article/details/133312177