我们都知道 chrome 插件,很多功能都依赖于 chrome 这个变量,如下:
但是 edge 不叫 chrome ,所以理应没有这个变量
但是他有!
但是怎么不管用?
仔细看一下
原来少东西
这个问题耽误了我大概两个小时,解决这个问题可以像我这样:
if(typeof(browser)!="undefined")chrome=browser
这样修改后依然可以用于 chrome
Microsoft Edge Extension Toolkit 也可以解决这个问题,但是会给 manifest.json 加一个私有属性,导致 chrome 不认
1
xxxyyy 2016-08-06 10:39:41 +08:00 via Android
有 chrome 这个变量应该是为了兼容 chrome 的扩展来的,可能现在还在测试阶段吧,还不完全兼容。
而使用 browser 这个变量应该是想将 chrome 扩展标准化吧,因为 Firefox 也使用这个变量作为扩展的 API 的入口。 |
2
14ly OP @xxxyyy 关键是我已经被逼疯了去啃官方文档,但是文档中没有写,再加上 chrome 变量的误导……
最后我是抓应用商店的已上架扩展的 appx 包,解压,一点点推出来的 ps1 那时我还不知道 Microsoft Edge Extension Toolkit ps2 其实现在看来那个插件就是直接用了 Microsoft Edge Extension Toolkit |
3
EchoWhale 2016-08-06 10:49:58 +08:00 via Android
firefox 也有 chrome 变量
|
4
caomu 2016-08-06 10:55:59 +08:00 via Android
chrome 也有镀铬的意思, firefox 里的 chrome 一般指的是浏览器的外部装饰(大意)。
|