Обнаружить Firefox Android в аддоне Firefox?

До Firefox Quantum я могу обнаружить Firefox Android в аддоне Firefox с помощью этого фрагмента ниже.

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 ответ

Решение

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

Другие вопросы по тегам