gpt4 book ai didi

java - 如何获取FF中插件的安装位置?

转载 作者:行者123 更新时间:2023-12-01 15:43:16 33 4
gpt4 key购买 nike

我是开发 FF 扩展的新手。我已经下载了 javaDemo.xpi 并尝试从 javascript 调用 java。但我停在了

Components.classes['@mozilla.org/extensions/manager;1'].getService(Components.interfaces.nsIExtensionManager);未定义

我使用的是 FF 7.0.1。我尝试过 AddonManager API。但我找不到如何获取插件位置,并且厌倦了处理异步回调函数。

Warning: WARN addons.manager: Exception calling callback: ReferenceError: alert is not defined
Source File: resource://javademo/LiveConnectUtils.js
Line: 65

最佳答案

nsIExtensionManager API 仅适用于 Firefox 3.x,从 Firefox 4 开始您需要使用 the AddonManager API 。像这样的事情:

Components.utils.import("resource://gre/modules/AddonManager.jsm");
AddonManager.getAddonByID("me@mydomain.com", function(addon)
{
var manifestURI = addon.getResourceURI("install.rdf");
alert("Add-on's install.rdf is located at: " + manifestURI.spec);
});

请注意,manifestURI.spec 通常不是 file:// URL,而是 jar: URL - 大多数扩展都是“安装时解压,因此所有扩展文件都位于 JAR(也称为 ZIP)文件内。您可以使用 XMLHttpRequestNetUtil.asyncFetch()读取这些文件,无论该 URL 指向什么。

关于java - 如何获取FF中插件的安装位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7644216/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com