我制作了一个.bat
文件,并希望使用Javascript以链接的url作为参数来运行它。
这就是我所拥有的:
browser.contextMenus.create({
id: "downloader",
title: "Download reference",
contexts: ["link"]
});
这是用于注册Firefox上下文菜单元素和
browser.contextMenus.onClicked.addListener(function(info, tab) {
console.log("clicked on meh yo");
if(info.menuItemId === "downloader"){
// adding a new script element
var filename = info.linkText;
var fileurl = info.linkUrl;
var x = document.createElement("SCRIPT");
x.setAttribute("language", "VBScript");
// calling a vbscript that will call my bat file with the parameters
var t = document.createTextNode("Set WshShell = CreateObject(\"WScript.Shell\");WshShell.Run \"C:/Users/name/Documents/Commands/get-content.bat " + fileurl + " " + filename + "\"");
x.appendChild(t);
document.body.appendChild(x);
console.log("ref was saved yo");
}
});
HTA脚本采用简单文本的形式,添加到网站的原始html中。
请注意,这是我自己的工具,它只能在我的机器上工作。
问题是我得到了控制台日志,但是什么也没发生。我测试了我的bat文件(使用cmd),并且工作正常,因此问题应该出在我的JavaScript上。