Как мне разрешить загрузку Service Worker из другого домена с CSP в Firefox? - PullRequest
0 голосов
/ 11 октября 2018

В статье MDN в директиве worker-src Content-Security-Policy говорится, что с помощью этой директивы можно указывать разрешенные источники для работников (в Chrome> 59 и Firefox> 58)..

Так что, если я устанавливаю заголовок Content-Security-Policy: worker-src foo.com, почему я не могу сделать, например,

new Worker('https://foo.com/worker.js')

из bar.com без получения ошибки в Chrome 69 и Firefox 62?

Вот пример во Flask:

app.py (на bar.com)

from flask import Flask, make_response, render_template

app = Flask(__name__)

@app.route('/', methods=['GET'])
def index():
    r = make_response(render_template('index.html'))
    r.headers.set('Content-Security-Policy', "worker-src foo.com")
    return r

index.html

<code><!doctype html>
<html>
  <body>
    <h1>Hello Service Worker</h1>
    <pre id="remote-worker">
var remoteWorker = new Worker ('https://foo.com/worker.js') var elRemoteWorker = document.getElementById (' remote-worker ') remoteWorker.onmessage = function (e) {elRemoteWorker.textContent = e.data;};

worker.js (на foo.com)

postMessage('Hello from the remote worker!');

Я хотел бы увидетьпроверяемый рабочий пример или очень веская причина, почему это не должно работать (из спецификации W3C не понятно, почему это не должно).

...