2016-11-17 4 views
0

Я преобразование расширения Chrome для Firefox, и вот один метод:Как узнать, поддерживается ли метод в аддонах Firefox?

webRequest.onAuthRequired (...)

browser.webRequest.onAuthRequired()

TypeError: browser.webRequest.onAuthRequired is not a function [Learn More]

Тем не менее, WebRequest/onAuthRequired является described in the docs.

Я установил Firefox 50, но все же он отсутствует. Он присутствует в некоторых сборках разработки и как это выяснить?

ответ

2

webRequest/onAuthRequired is described in the docs.

Да, с явной таблицы поддержки, которая прямо не говорит Нет для Firefox.

Документация по расширению MDN отражает документы Chrome даже для битов, не поддерживаемых в FF, поскольку они считают себя центральной документацией для всех браузеров.

Если вы хотите, чтобы проверить реальную поддержку, увидеть один из этих ресурсов:

Затем, если есть API, который еще не поддерживается, вы должны проверить, что она существует в названиях темп до его использования:

if (browser && browser.webRequest && browser.webRequest.onAuthRequired) { 
    // browser.webRequest.onAuthRequired is not yet supported, 
    // see https://bugzilla.mozilla.org/show_bug.cgi?id=1190689 
} else { 
    // Can use it 
} 

Существует не лучший (runtime) способ проверить поддержку. Это становится еще более сложным, когда API частично поддерживается, например. notifications Особенности - нет общего способа.


P.S. Обратите внимание, что browser - это модификация API расширения только для Firefox (на данный момент, по крайней мере), единственная разница заключается в том, что он возвращает Promises из асинхронных функций, если не указан обратный вызов. Если вы не используете это, придерживайтесь пространства имен chrome для максимальной переносимости.

+0

Как-то я пропустил этот стол. Благодаря! –

 Смежные вопросы

  • Нет связанных вопросов^_^