在我的js文件(game.js)中,web工作者被使用,这会给CORS带来问题。
来自game.js:
var engine = new Worker(options.machinejs|| 'static/js/mainjs/machine.js');我遇到的第一个问题是SharedArrayBuffer没有定义,我通过添加所需的头来解决它。
@app.route("/")
def home():
resp = make_response(render_template("index.html"))
resp.headers['Cross-Origin-Embedder-Policy'] = 'require-corp'
resp.headers['Cross-Origin-Opener-Policy'] = 'same-origin'
return resp我克服了那个错误,但得到了这个:
http://127.0.0.1:5000/static/js/mainjs/machine.js net::ERR_BLOCKED_BY_RESPONSE 304当我检查响应时,我可以看到我为"http://127.0.0.1:5000/“添加的标题部分,但实际上我没有看到http://127.0.0.1:5000/static/js/mainjs/machine.js的标题,它警告我要添加
Cross-Origin-Embedder-Policy: require-corp在我的文件里。不过,在哪里,怎么做?
发布于 2022-11-29 14:40:07
很明显,我把CORS和公司搞混了,虽然他们是亲戚。
我找到的解决办法是:
@app.route("/")
def home():
return render_template("index.html")
@app.after_request
def add_header_home(response):
response.headers['Cross-Origin-Embedder-Policy'] = 'require-corp'
response.headers['Cross-Origin-Opener-Policy'] = 'same-origin'
return response不知何故,after_request装饰师帮了我们这个忙。
https://stackoverflow.com/questions/74613280
复制相似问题