作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我开发了一个在 Firefox 下运行良好的二进制扩展,但无法在 XULRunner/GeckoFX 中部署它。该扩展没有 UI,只是为我们的主应用程序(在 .NET 中)提供了一个 API。
我能找到的所有教程都解释了如何将它们安装到 XULRunner 应用程序中。但是通过使用 GeckoFX,XULRunner 在我的项目中嵌入运行,所以我没有 XULRunner 应用程序。
我已经尝试将已安装扩展的目录从 Firefox 的配置文件目录复制到 XULRunner 的配置文件,并且还尝试将 FF 配置文件目录用于 GeckoFX,但均无济于事。
我目前的怀疑是该扩展的 targetApplication
在 install.rdf
需要针对 GeckoFX 进行调整,但正确的 id 是多少?
由于我们正在部署嵌入到我们项目中的 GeckoFX/XULRunner,我不需要扩展管理器,静态部署就足够了。
最佳答案
我终于设法让它工作。这是我所做的:
首先,使用 Xpcom.ComponentRegistrar.AutoRegister()
添加部署扩展的位置:
void RegisterExtensionDir(string dir)
{
Console.WriteLine("Registering binary extension directory: " + dir);
var chromeDir = (nsIFile)Xpcom.NewNativeLocalFile(dir);
var chromeFile = chromeDir.Clone();
chromeFile.Append(new nsAString("chrome.manifest"));
Xpcom.ComponentRegistrar.AutoRegister(chromeFile);
}
chrome.manifest
中使用 ABI 标志.所以代替
binary-component components/GeckoScraper.dll ABI=WINNT_x86-msvc
binary-component components/GeckoScraper.dll
关于xulrunner - 如何在 XULRunner/GeckoFX 中部署 Firefox 扩展?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27817445/
我是一名优秀的程序员,十分优秀!