Javascript 尝试为自由变化的UserAgent开发Chrome扩展,但它没有';工作不好

Javascript 尝试为自由变化的UserAgent开发Chrome扩展,但它没有';工作不好,javascript,google-chrome-extension,user-agent,webrequest,chrome-webrequest,Javascript,Google Chrome Extension,User Agent,Webrequest,Chrome Webrequest,我正在开发chrome扩展 我想通过使用chrome webrequest API重写http头来更改浏览器的UserAgent,但出现了一些问题 我希望这些代码按预期运行,但我不知道该怎么办 我能给我一些建议吗 浏览器配置.js class浏览器配置{ 应用(用户代理、语言){ 让targetURL=“” 函数头(e){ e、 forEach(函数(头){ 让headerName=header.name.toLowerCase(); if(headerName==“用户代理”){ header

我正在开发chrome扩展

我想通过使用chrome webrequest API重写http头来更改浏览器的UserAgent,但出现了一些问题

我希望这些代码按预期运行,但我不知道该怎么办

我能给我一些建议吗

浏览器配置.js

class浏览器配置{
应用(用户代理、语言){
让targetURL=“”
函数头(e){
e、 forEach(函数(头){
让headerName=header.name.toLowerCase();
if(headerName==“用户代理”){
header.value=userAgent;
}
});
返回{requestHeaders:e.requestHeaders};
}
chrome.webRequest.onBeforeSendHeaders.addListener(
重写标题,
{url:[targetURL]},
[“阻塞”、“请求标头”、“外部标头”]
);
}
background.js


从“pass/to/BrowserConfig.js”导入BrowserConfig
const browserConfig=new browserConfig()
//浏览选项示例…{userAgent:HeadlessChrome}
chrome.storage.local.get('browsseroptions',({browsseroptions})=>{
this.browserConfig.apply(browservoptions.userAgent)
})
预期行为

每次设置browserOption时,UserAgent都会更改为所需

例)

1st: browserOption={userAgent:HeadlessBrowser} =>用户代理:无头浏览器

第二个: browserOption={userAgent:aaaaaa} =>用户代理:AAAAA

实际行为

只有一次,我可以将UserAgent更改为所需。 但是,从第二次开始,我无法改变它

例)

1st: browserOption={userAgent:HeadlessBrowser} =>用户代理:无头浏览器

第二~: browserOption={userAgent:aaaaaa}
=>userAgent:HeadlessBrowser

使用chrome.storage.onChanged事件。您必须重写BrowserConfig以允许更改数据。例如,apply()和rewriteHeader()可以在
中设置/获取userAgent,而不是直接使用参数,这将允许您公开其他方法,如重新配置(newData)。使用chrome.storage.onChanged事件。您必须重写BrowserConfig以允许更改数据。例如,apply()和rewriteHeader()可以在此
中设置/获取userAgent,而不是直接使用参数,这将允许您公开其他方法,如重新配置(newData)。