近来看到一篇谷歌插件的入门文章,挺感兴趣,看了官方文档( https://developer.chrome.com/docs/extensions/mv3/xhr/)
就做了一个随机听网易云 FM 歌曲的插件。
然后就遇到问题了。在 git 上搜到了网易云的接口调用文档,但实现环境是 node 环境。其中有用到 node 的 crypto 的加密函数。可谷歌插件调用不到 node 环境(或者是我不知道要用什么姿势)。
求教:谷歌插件环境怎么模拟调用网易云的 api ?
1
gauzung 2022-08-16 17:37:19 +08:00
插件也是浏览器环境,你把插件当成一个网页,只能调接口,node 只提供接口给插件调用
|
2
bobo2 2022-08-16 18:08:40 +08:00
在插件进程开个 node 进程?那肯定不可能啊;另外调用接口跟哪个环境无关,用相同的加密算法就行
|
3
DingJZ 2022-08-16 20:22:18 +08:00
调用 api 用 ajax ,fetch 自己实现,crypto 有浏览器侧能用的库,参考人家 node 的思路实现一个
|
4
Trim21 2022-08-16 20:27:27 +08:00 via Android
把 node 的 crypto 用浏览器提供的 crypto API 重写一下
|
5
eason1874 2022-08-16 20:33:16 +08:00
node 有 browserify 之类的模块可以把代码打包成浏览器可用代码,不知兼容性如何,你可以试试
|
6
Felldeadbird 2022-08-17 00:13:23 +08:00
换一个思路,你扩展给了网易云域名名单,直接 xhr 就不会存在跨域问题了。 前提是你知道怎样播放歌曲的逻辑。
|
7
daysv 2022-08-17 08:41:31 +08:00
crypto-js
|