首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >onBeforeSendHeaders不适用于Chrome桌面快捷方式

onBeforeSendHeaders不适用于Chrome桌面快捷方式
EN

Stack Overflow用户
提问于 2021-05-01 11:22:37
回答 1查看 89关注 0票数 1

一个简单的Chrome扩展,允许在我的树莓Pi 4:Youtube电视上使用来源

background.js

代码语言:javascript
复制
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"]);

清单

代码语言:javascript
复制
{
  "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发送请求之前,或者在快捷方式打开之后,我如何加载脚本。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-01 14:18:37

通过不解决它来解决它。在快捷属性中修改--user-agent细节在这里

代码语言:javascript
复制
--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"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67345694

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档