Не уверен, что кто-то еще ищет решение, но предложенный ранее API chrome.webRequest
достаточно стабилен.
chrome.webRequest.onBeforeSendHeaders.addListener(
function(details) {
for (var i = 0; i < details.requestHeaders.length; ++i) {
if (details.requestHeaders[i].name === 'User-Agent') {
details.requestHeaders[i].value = details.requestHeaders[i].value + ' OurUAToken/1.0';
}
break;
}
return { requestHeaders: details.requestHeaders };
},
{urls: ['<all_urls>']},
['blocking', 'requestHeaders']
);
Одно из расширений chrome, Запрос уже имеет аналогичную реализацию, позволяющую переопределять строку User Agent для любого веб-сайта, открытого в браузере.
Для получения дополнительной информации, пожалуйста, посетите блог: https://medium.com/@requestly_ext/switching-user-agent-in-browser-f57fcf42a4b5
Расширение также доступно для Firefox. Посетите http://www.requestly.in для деталей.