我正在尝试为浏览器的Web扩展测试示例代码.但是,它不起作用.我检查了控制台的谷歌浏览器和Firefox.它不打印任何东西.以下是我的代码:
manifest.json:
{
"description": "Demonstrating webRequests",
"manifest_version": 2,
"name": "webRequest-demo",
"version": "1.0",
"permissions": [
"webRequest"
],
"background": {
"scripts": ["background.js"]
}
}
Run Code Online (Sandbox Code Playgroud)
background.js:
function logURL(requestDetails) {
console.log("Loading: " + requestDetails.url);
}
chrome.webRequest.onBeforeRequest.addListener(
logURL,
{urls: ["<all_urls>"]}
);
console.log("Hell o extension background script executed");
Run Code Online (Sandbox Code Playgroud)
我错过了什么吗?
firefox-addon google-chrome-extension google-chrome-devtools firefox-developer-tools firefox-addon-webextensions
我想在一个简单的WebExtensions插件中运行一个带有参数的命令(在磁盘上的某个地址),并且可能得到它的标准输出.有没有办法在WebExtensions中这样做,因为旧的API被弃用了?
所有 Web 扩展开发人员都注意到,Firefox 将停止 SDK 支持(允许在客户端执行 shell 的 API)并且仅接受 Web 扩展。
由于上述更改,我试图在 Firefox 的 Web 扩展 API 中获取由 javascript 代码执行的 shell 命令。
我正在处理一个执行 Web 扩展的网页(我通过使用 javascript 事件解决了它),但真正的麻烦是我需要在 javascript 主代码中执行 shell 命令来打开客户端程序,例如 LibreOffice 或后台Java代码,我不知道如何实现它。
还需要在 Windows、OSX 和 Linux 上执行这些 shell 命令。
我有一个简单的扩展,用于Cu.import导入JavaScript 代码模块。但是,当我加载扩展时,我收到此错误:
Cu is not defined
Run Code Online (Sandbox Code Playgroud)
我试图使用的代码是:
Cu.import("resource://gre/modules/MatchPattern.jsm");
Cu.import("resource://gre/modules/BrowserUtils.jsm");
var regExArray = [];
var myArray = ["facebook.com", "google.com"];
var myURL="http://www.google.co.uk/?gfe_rd";
for (var x=0; x<myArray.length; x++)
{
console.log("loop: "+x);
var match = new MatchPattern(/(http:\/\/)(.*\.)*(myArray[x])(\/.*)*(\/)*/);
log("match result is: "+match.matches(myURL));
}//end for loop
Run Code Online (Sandbox Code Playgroud)
我知道如何Cu在 Firefox Add-on SDK 中使用定义require,但如何在 WebExtesnions 中定义它?