我正在将Chrome扩展程序转换为Firefox,这是一种方法:
webRequest.onAuthRequired(...)
browser.webRequest.onAuthRequired()
TypeError:browser.webRequest.onAuthRequired不是函数[了解更多]
尽管如此,webRequest / onAuthRequired为described in the docs。
我安装了 Firefox 50 ,但仍然没有。它是否存在于某些开发版本中,以及如何找到它?
答案 0 :(得分:2)
webRequest / onAuthRequired在文档中有描述。
是的,有一个明确的支持表,直接表示Firefox的否。
MDN扩展文档甚至反映了Chrome文档中的文档,因为它们将自己视为所有浏览器的中心文档。
如果您想查看实际支持,请参阅以下资源之一:
然后,如果有一个尚未支持的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
}
检查支持没有更好的(运行时)方法。当部分支持API时,它会变得更加复杂,例如, notifications
功能 - 没有一般方法。
P.S。请注意,browser
是仅限Firefox(现在至少)的扩展API变体 - 唯一的区别是,如果未指定回调,它将从异步函数返回Promises。如果您不使用它,请坚持使用chrome
命名空间以获得最大的可移植性。