onBeforeSendHeaders 不适用于 Chrome 桌面快捷方式
onBeforeSendHeaders does not work with Chrome desktop shortcut
一个简单的 Chrome 扩展,启用 Youtube TV on my Raspberry Pi 4: Source
background.js
const config = {
userAgent: 'Mozilla/5.0 (SMART-TV; Linux; Tizen 5.0) AppleWebKit/538.1 (KHTML, like Gecko) Version/5.0 NativeTVAds Safari/538.1'
}
function changeUserAgent (request) {
for (let header of request.requestHeaders) {
if (header.name.toLowerCase() === "user-agent") header.value = config.userAgent
}
return { requestHeaders: request.requestHeaders }
}
chrome.webRequest.onBeforeSendHeaders.addListener(changeUserAgent, {urls: ["*://*.youtube.com/tv*"]}, ["blocking", "requestHeaders"]);
清单
{
"manifest_version": 2,
"name": "YouTube TV for Browser",
"description": "Enables YouTube TV for traditional browser",
"version": "0.1",
"permissions": [
"webRequest",
"webRequestBlocking",
"*://*.youtube.com/tv*"
],
"background": {
"scripts": [
"background.js"
]
},
"browser_action": {
"default_title": "YouTube TV for Browser"
}
}
但是,当我创建桌面快捷方式并从中打开 Youtube 时(没有其他 Chrome 进程 运行),脚本不会加载(这会将我重定向到正常 youtube.com)直到我手动刷新页面。
我的问题是:如何在 Chrome 发送请求之前或打开快捷方式后立即加载脚本。
不解决就解决了。改为在快捷方式属性中修改 --user-agent
,detail here。
--user-agent="Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.77 Large Screen Safari/534.24 GoogleTV/092754 Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.77 Large Screen Safari/534.24 GoogleTV/092754"
一个简单的 Chrome 扩展,启用 Youtube TV on my Raspberry Pi 4: Source
background.js
const config = {
userAgent: 'Mozilla/5.0 (SMART-TV; Linux; Tizen 5.0) AppleWebKit/538.1 (KHTML, like Gecko) Version/5.0 NativeTVAds Safari/538.1'
}
function changeUserAgent (request) {
for (let header of request.requestHeaders) {
if (header.name.toLowerCase() === "user-agent") header.value = config.userAgent
}
return { requestHeaders: request.requestHeaders }
}
chrome.webRequest.onBeforeSendHeaders.addListener(changeUserAgent, {urls: ["*://*.youtube.com/tv*"]}, ["blocking", "requestHeaders"]);
清单
{
"manifest_version": 2,
"name": "YouTube TV for Browser",
"description": "Enables YouTube TV for traditional browser",
"version": "0.1",
"permissions": [
"webRequest",
"webRequestBlocking",
"*://*.youtube.com/tv*"
],
"background": {
"scripts": [
"background.js"
]
},
"browser_action": {
"default_title": "YouTube TV for Browser"
}
}
但是,当我创建桌面快捷方式并从中打开 Youtube 时(没有其他 Chrome 进程 运行),脚本不会加载(这会将我重定向到正常 youtube.com)直到我手动刷新页面。
我的问题是:如何在 Chrome 发送请求之前或打开快捷方式后立即加载脚本。
不解决就解决了。改为在快捷方式属性中修改 --user-agent
,detail here。
--user-agent="Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.77 Large Screen Safari/534.24 GoogleTV/092754 Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.77 Large Screen Safari/534.24 GoogleTV/092754"