将自定义用户代理关联到特定的谷歌浏览器页面/标签页
Associate a custom user agent to a specific Google Chrome page/tab
我正在开发一个谷歌浏览器扩展程序,我想为标签页/页面或弹出窗口(iframe显示为"气泡弹出窗口")设置特定的用户代理,而不会影响其他页面或标签页。
可能吗?
webRequest
API 可用于修改用户代理标头。
注意:开发者工具中的"网络"选项卡显示旧标题。我已经使用 netcat ( nc -l 127.0.0.1 -p 6789
) 验证了标头设置是否正确。
在下面的示例中,代码在所有选项卡上激活。调整请求筛选器以满足您的要求。添加tabId
以限制此筛选器的功能,以及选项卡的 tabId(可通过各种 API 获取,特别是chrome.tabs
)。
background.js
chrome.webRequest.onBeforeSendHeaders.addListener(
function(info) {
// Replace the User-Agent header
var headers = info.requestHeaders;
headers.forEach(function(header, i) {
if (header.name.toLowerCase() == 'user-agent') {
header.value = 'Spoofed UA';
}
});
return {requestHeaders: headers};
},
// Request filter
{
// Modify the headers for these pages
urls: [
"http://stackoverflow.com/*",
"http://127.0.0.1:6789/*"
],
// In the main window and frames
types: ["main_frame", "sub_frame"]
},
["blocking", "requestHeaders"]
);
manifest.json
{
"name": "WebRequest UA test",
"version": "1.0",
"permissions": ["webRequest", "webRequestBlocking", "http://*/*"],
"background": {
"scripts": ["background.js"]
},
"manifest_version": 2
}
文档
-
chrome.webRequest.onbeforeSendHeaders
事件 - 请求筛选器
相关文章:
- 为什么可以't我在谷歌浏览器中返回cookie
- 谷歌浏览器没有阅读Jsfidle程序
- Javascript字母选择没有'我不能在谷歌浏览器上工作
- 我的时间倒计时脚本在谷歌浏览器中工作正常,但在其他浏览器中打开时它显示为南楠
- 在javascript中调用自定义谷歌搜索标签时出现问题
- 在谷歌浏览器中,标签之间最快的通信是什么
- 在谷歌浏览器中用程序固定一个标签
- 谷歌浏览器移动模拟器:如何强制它在模拟器中也打开新标签
- 让谷歌浏览器扩展程序只在一个标签上工作
- 如何在使用谷歌浏览器开发者控制台时使变量在标签页中可见
- 如何在谷歌浏览器的新标签页中打开页面中的链接
- 谷歌浏览器的“新标签”iframe如何工作
- 将自定义用户代理关联到特定的谷歌浏览器页面/标签页
- 如何获取谷歌浏览器标签的描述和网址图片
- 打开一个新的谷歌浏览器标签并获取源代码
- 谷歌浏览器 API 如何处理标签创建
- 为什么我的谷歌浏览器扩展只打开25个标签页,而不是更多
- 在谷歌浏览器扩展程序上打开一个新标签
- 什么时候在谷歌浏览器标签的tabId改变
- 检测哪个标签/窗口在谷歌浏览器中被聚焦