14ly
V2EX  ›  Edge

微软真的真的是太可爱了

  •  
  •   14ly · Aug 6, 2016 · 6242 views
    This topic created in 3594 days ago, the information mentioned may be changed or developed.

    我们都知道 chrome 插件,很多功能都依赖于 chrome 这个变量,如下:

    但是 edge 不叫 chrome ,所以理应没有这个变量

    但是他有!

    但是怎么不管用?

    仔细看一下

    原来少东西


    这个问题耽误了我大概两个小时,解决这个问题可以像我这样:

    if(typeof(browser)!="undefined")chrome=browser

    这样修改后依然可以用于 chrome

    Microsoft Edge Extension Toolkit 也可以解决这个问题,但是会给 manifest.json 加一个私有属性,导致 chrome 不认

    5 replies    2016-08-06 11:23:48 +08:00
    xxxyyy
        1
    xxxyyy  
       Aug 6, 2016 via Android
    有 chrome 这个变量应该是为了兼容 chrome 的扩展来的,可能现在还在测试阶段吧,还不完全兼容。

    而使用 browser 这个变量应该是想将 chrome 扩展标准化吧,因为 Firefox 也使用这个变量作为扩展的 API 的入口。
    14ly
        2
    14ly  
    OP
       Aug 6, 2016
    @xxxyyy 关键是我已经被逼疯了去啃官方文档,但是文档中没有写,再加上 chrome 变量的误导……
    最后我是抓应用商店的已上架扩展的 appx 包,解压,一点点推出来的
    ps1 那时我还不知道 Microsoft Edge Extension Toolkit
    ps2 其实现在看来那个插件就是直接用了 Microsoft Edge Extension Toolkit
    EchoWhale
        3
    EchoWhale  
       Aug 6, 2016 via Android
    firefox 也有 chrome 变量
    caomu
        4
    caomu  
       Aug 6, 2016 via Android
    chrome 也有镀铬的意思, firefox 里的 chrome 一般指的是浏览器的外部装饰(大意)。
    EchoWhale
        5
    EchoWhale  
       Aug 6, 2016 via Android
    @caomu firefox 的 chrome 的并不是指的装饰,比如 chrome.alarms.create , chrome.openOptionsPage 等等 API
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5791 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 03:16 · PVG 11:16 · LAX 20:16 · JFK 23:16
    ♥ Do have faith in what you're doing.