我想拦截来自自定义页面的POST请求,这在回调客户端界面是不可能的(与GET一样,您无法访问POST请求主体)。所以,我已经实现了一个基于服务工作者的解决方案,它将POST请求包装到具有相同数据的GET中,我可以在shouldInterceptRequest()中处理。
因此,一旦服务工作者注册并激活:
function subscribeToSWMessages()
{
navigator.serviceWorker.onmessage = function (event)
{
if (event.data.command == 'activeSW')
{
// !! Only from now we can post requests !!
}
};
}
只有在此之后才能安全地从页面发布请求。那么,如何正确地注入我的JS代码,以确保在收到消息之前没有发布任何请求?页面可以完全自定义,还是我应该让开发人员自己做点什么?