在firefox插件中检测firefox android?

时间:2017-12-17 09:54:24

标签: firefox-addon firefox-webextensions firefox-android

在Firefox Quantum之前,我可以使用下面的代码片段在firefox插件中检测firefox android。

const { Cc, Ci } = require('chrome');
/**
  * Is firefox android?
  *
  * @returns {boolean} true if there is firefox android in firefox addon
  * @see https://developer.mozilla.org/en-US/Add-ons/Firefox_for_Android/Code_snippets#Supporting_both_desktop_and_mobile
  */
module.exports = () =>
Cc['@mozilla.org/xre/app-info;1']
  .getService(Ci.nsIXULRuntime)
  .widgetToolkit.toLowerCase() === 'android';

但现在,此代码段已存档。如何检测?

1 个答案:

答案 0 :(得分:2)

Cc,Ci和require-syntax是XUL / SDK技术,已被弃用以支持WebExtensions。

在WebExtension中,您可以使用browser.runtime.getPlatformInfo检索平台信息:

browser.runtime.getPlatformInfo().then((info) => {
    console.log(info.os); // will return android
});

这解析为PlatformInfo对象,其中包含“os”属性,其中将设置“android”。 https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/runtime/PlatformOs

有关详细信息,请参阅 https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/runtime/getPlatformInfo