Ele*_*ios -2 .net javascript json firefox-addon firefox-addon-webextensions
我在使用Firefox v51.0的Windows 10 x64上,我对Mozilla的扩展开发世界(以及JavaScript lang)都是新手.
为了编写我的第一个" Hello world "扩展,我遵循了Mozilla网站上的Borderify示例,该版本在我这方面运行良好.
现在我正在尝试修改原始示例以编写一个简单的脚本,当用户在mozilla.org网页上时必须运行外部应用程序.要完成此任务,我正在尝试使用nsiProcess接口.问题是应用程序没有执行.
{
"manifest_version": 2,
"name": "Test",
"version": "1.0",
"description": "Runs a external application.",
"icons": {
"48": "icons/border-48.png"
},
"content_scripts": [
{
"matches": ["*://*.mozilla.org/*"],
"js": ["test.js"]
}
]
}
Run Code Online (Sandbox Code Playgroud)
// create an nsIFile for the executable
var file = Components.classes["@mozilla.org/file/local;1"]
.createInstance(Components.interfaces.nsIFile);
file.initWithPath("c:\\myapp.exe");
// create an nsIProcess
var process = Components.classes["@mozilla.org/process/util;1"]
.createInstance(Components.interfaces.nsIProcess);
process.init(file);
// Run the process.
process.run(false);
Run Code Online (Sandbox Code Playgroud)
myapp.exe(是的,它位于C:\root中)是一个只有一个空/默认形式的应用程序,它是在.NET平台(C#)中开发的,目标是基于WinForms技术的.NET Framework 4.5.我还试图运行其他应用程序,如记事本(指定完整的文件路径)没有结果.我还尝试更改" :// .mozilla.org/*"模式以匹配其他网站.
我做错了什么?,我怎么能运行那个可执行文件?
另外,如果有人能解释我怎么能在Firefox中加载脚本之后调试我的代码中发生的事情(发现错误/异常),我会非常感激,因为我完全失明了,我只是可以说脚本"什么都不做"(因为它不运行外部执行)但我根本无法控制代码,因为我找不到在哪里找到调试工具.
小智 5
WebExtensions无权访问XPCOM(或更具体地说,Components代码引用的XPCOM ).nsIProcess的WebExtensions替换是本机消息传递:https:
//developer.mozilla.org/en-US/Add-ons/WebExtensions/Native_messaging
有关如何调试WebExtensions的文档,请访问:https: //developer.mozilla.org/en-US/Add-ons/WebExtensions/Debugging
| 归档时间: |
|
| 查看次数: |
4352 次 |
| 最近记录: |