本人前端小白。。。有需求要在浏览器静态页面中使用fetch api发起网络请求时尝试更改ua,如下:
fetch('url', {
method: 'GET',
headers: {
"User-Agent": "MyWebClient"
}
})
在Edge中运行并不生效,查阅MDN文档后得知
备注: 根据规范中的禁止修改的标头列表(Firefox 43 中实现了它),User-Agent 标头不再被禁止,现在可以设置在 Fetch 的 Headers 对象中,或者通过 XMLHttpRequest 的 setRequestHeader() 方法设置。但是,Chrome 会静默地从 Fetch 请求中丢弃这个标头(请参阅 Chromium bug 571722)。
虽然备注中只提到fetch会丢弃ua标头,实际上我尝试后XMLHttpRequest在setRequestHeader()方法中更改ua也会报错。有什么可行方案吗