我想在firefox扩展端获取MIME类型列表 .
浏览器JavaScript上下文中有 navigator 对象 . 它具有 mimeTypes 属性 - 浏览器识别的MIME类型列表 . 我需要使用附加SDK或XPCOM在附加脚本中获取该列表 . 我怎样才能做到这一点?我在XPCOM或SDK中找不到任何合适的方法 .
在此先感谢您的帮助 .
它具有mimeTypes属性 - 浏览器识别的MIME类型列表 .
不,它不是 - 它只是具有为其注册的插件(Flash&Co . )的MIME类型列表 . 如果您需要获取插件信息,我通常建议使用nsIPluginHost.getPluginTags() method . 不幸的是,插件标签没有与插件相关的MIME类型的信息 .
因此,您无法避免获取仅在窗口上下文中可用的 navigator 对象 . 您可以使用page-worker module执行此操作:
navigator
require("page-worker").Page({ contentScript: "var result = [];" + "for (var i = 0; i < navigator.mimeTypes.length; i++)" + "result.push(navigator.mimeTypes[i].type);" + "self.postMessage(result);", contentURL: "about:blank", onMessage: function(mimeTypes) { // Do something with the MIME types } });
1 回答
不,它不是 - 它只是具有为其注册的插件(Flash&Co . )的MIME类型列表 . 如果您需要获取插件信息,我通常建议使用nsIPluginHost.getPluginTags() method . 不幸的是,插件标签没有与插件相关的MIME类型的信息 .
因此,您无法避免获取仅在窗口上下文中可用的
navigator
对象 . 您可以使用page-worker module执行此操作: