1

尝试从以下来源加载 mp3 文件: https ://static.twilio.com/libs/twiliojs/refs/82278dd/sounds/dtmf-1.mp3

在服务工作者中使用非常简单的请求重定向代码:

function onFetch(event) {
    if (event.request.url.indexOf('.mp3') >= 0) {
        event.respondWith(fetch(event.request.url, {mode: 'no-cors'}));
    } else {
        event.respondWith(fetch(event.request));
    }
}

也尝试过其他选择:

fetch(event.request)

fetch(event.request.url)

fetch(event.request.url, {mode: 'cors'})

注意:如果我通过 {mode: 'no-cors'},服务工作者中不会引发错误,所有其他提到的情况都会引发错误:

Fetch API 无法加载https://static.twilio.com/libs/twiliojs/refs/82278dd/sounds/dtmf-1.mp3。请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,Origin 'my origin' 是不允许访问的。

我认为问题可能是 Service Worker 不发送 Accept-Encoding 和 Range Headers,因此它不加载资源。

任何形式的帮助,黑客将不胜感激。

4

0 回答 0