【发布时间】:2020-02-27 01:42:34
【问题描述】:
我想制作一个 chrome 扩展来解析 youtube/soundcloud/... 页面并获取当前歌曲的名称。然后它应该在不和谐中更新用户的丰富存在状态。就像在 python there 中做的一样。
到目前为止,我有那个。标题已经解析,没有问题。我对该代码的工作有疑问。因为它不起作用。
const clientId = '605777168739598338';
const scopes = ['rpc', 'rpc.api'];
const client = new RPC.Client({ transport: 'websocket' });
client.connect();
function updatePresence(title, time, icon) {
title = title.replace(/["]/g, "\\\"");
client.setActivity({
details: title,
startTimestamp: time,
largeImageKey: icon
}, 9999)
}
我也尝试过原始的 websocket 连接,但我很愚蠢..
更新: 上面的代码在 content.js 中。
browser.js 是从我通过 npm 下载的模块 discord-rpc 的根目录复制的文件。
manifest.json
{
"manifest_version": 2,
"name": "Tomori Player",
"version": "0.1.0",
"browser_action": {
"default_icon": "icon.png"
},
"background": {
"scripts": ["browser.js"]
},
"permissions": [
"ws://localhost:6463/*",
"tabs",
"webRequest",
"webRequestBlocking"
],
"content_scripts": [
{
"matches": [
"https://www.youtube.com/watch*",
"https://youtube.com/watch*"
],
"js": ["content.js"]
}
]
}
附:我很抱歉。我是 JS 新手。
【问题讨论】:
-
扩展有不同的部分,每个部分都有不同的限制和能力。将 manifest.json 添加到您的问题并指定哪个文件包含已发布的代码片段。
-
已添加。请帮帮我^_^
-
现代 Chrome 不允许内容脚本中的跨域请求,请参阅 official CORB explainer 以获取在后台脚本中执行请求的示例。
标签: javascript google-chrome-extension discord discord-rpc