使用Flask托管Godot 4 HTML5游戏时出现net::ERR_BLOCKED_BY_RESPONSE错误
Flask托管Godot 4 HTML5游戏加载失败问题
- 问题现象:用Flask托管Godot 4导出的HTML5游戏时,游戏无法加载,页面仅显示加载转圈;直接打开本地静态文件会提示需要跨源隔离,但该游戏构建在itch.io可正常运行。
- 报错信息:
- 浏览器控制台报错:
GET http://127.0.0.1:5000/game/index.worker.js net::ERR_BLOCKED_BY_RESPONSE 200 (OK)(非强制刷新时状态码为302) - 出现重复的依赖等待错误,例如“等待wasm-instantiate”
- 禁用浏览器扩展后,
Unchecked runtime.lastError错误消失,但上述核心问题仍存在
- 浏览器控制台报错:
- Flask日志显示所有请求均返回200状态码,但游戏始终无法完成初始化。
- 已执行的操作:为
index.html响应添加了Cross-Origin-Opener-Policy: same-origin和Cross-Origin-Embedder-Policy: require-corp头。
当前使用的Flask代码如下:
from flask import Flask, send_from_directory app = Flask(__name__) @app.route('/<game>/') def index(game): response = send_from_directory(f'./{ game }', 'index.html') response.headers.add('Cross-Origin-Opener-Policy', 'same-origin') response.headers.add('Cross-Origin-Embedder-Policy', 'require-corp') return response @app.route('/<game>/<file>') def game(game, file): return send_from_directory(f'./{ game }', file) app.run()
内容的提问来源于stack exchange,提问作者SealProgrammer
相关产品推荐
相关产品推荐

