Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Firefox加载项无法转换为引导_Javascript_Firefox_Firefox Addon Restartless - Fatal编程技术网

Javascript Firefox加载项无法转换为引导

Javascript Firefox加载项无法转换为引导,javascript,firefox,firefox-addon-restartless,Javascript,Firefox,Firefox Addon Restartless,下面是xul插件的代码,它可以正常工作 i、 e.在浏览器启动时显示用户名和密码输入,每当主题为http时,检查响应将验证并写入指定文件 但是,当我尝试将其转换为引导扩展时,它甚至不会在浏览器启动时显示用户名密码输入,在编译和运行时,控制台中也不会显示任何内容 在我换了部件之后,我想不出什么是错的。。。至Cu/Cc/etc。 我参考了下面的链接 下面是我的代码: const {Cc, Ci, Cu, components} = require("chrome"); Cu.import('r

下面是xul插件的代码,它可以正常工作

i、 e.在浏览器启动时显示用户名和密码输入,每当主题为http时,检查响应将验证并写入指定文件

但是,当我尝试将其转换为引导扩展时,它甚至不会在浏览器启动时显示用户名密码输入,在编译和运行时,控制台中也不会显示任何内容

在我换了部件之后,我想不出什么是错的。。。至Cu/Cc/etc。 我参考了下面的链接

下面是我的代码:

const {Cc, Ci, Cu, components} = require("chrome");
Cu.import('resource://gre/modules/XPCOMUtils.jsm');
function Tdatacounter() {
  var Tdatacounter = {
    observe: function(subject, topic, data) {
      if (topic == "http-on-examine-response") {
        var httpChannel = subject.QueryInterface(Ci.nsIHttpChannel);
        if (httpChannel.responseStatusText == "OK")
        {
        var buffer =  httpChannel.URI.spec;
          var pw = buffer.search("pub.tdata.com/releasepic");
          if (pw > 0)
          {
          var date = new Date();
          var TimeStamp = date.toLocaleString();
          var pfum = buffer.search("flag=unmap");
          if (pfum > 0 )
          {
          var flagname = "unmap";
          var flagnum = 4;
          }
          if (flagnum > 0)
          {
          buffer += "^" + ThisUserName + "^" + ThisComputerName + "^" + TimeStamp + "^" + flagname + "\r\n";
          fos.write(buffer, buffer.length);
          }
          }
      }
    }
    }
  };

  var nsIEnvironment = Cc["@mozilla.org/process/environment;1"]
                                 .getService(Ci.nsIEnvironment);
  var prompts = Cc["@mozilla.org/embedcomp/prompt-service;1"]
                        .getService(Ci.nsIPromptService);

var usernamelist = ["user1","user2","user3"];
var passlist = ["e%cd1","kowgirl23","bhava1204"];
var ThisUserName = null;
var username = {value: "UserName"};              // default the username to user
var password = {value: "pass"};              // default the password to pass
var check = {value: false};                   // default the checkbox to true
var GetUserName = prompts.promptUsernameAndPassword(null, "ProcName", "Enter username and password:", username, password, null, check);

while (GetUserName === true) {
var a = usernamelist.indexOf(username.value);
var b = passlist[a];
if (password.value == b) {
var ThisUserName = username.value;
break;
} else {
var GetUserName = prompts.promptUsernameAndPassword(null, "ProcName", "Enter username and password:", username, password, null, check);
}
}

if (ThisUserName !== null) {

  var ThisComputerName = nsIEnvironment.get("ComputerName");

  var FileUtils = Cu.import("resource://gre/modules/FileUtils.jsm").FileUtils;

var d = new Date();
var dd = d.getDate();
if (dd < 10)
dd = "0" + dd;
var mm = (d.getMonth()+1);
if (mm < 10)
mm = "0" + mm;
var yyyy = d.getFullYear();


  var file = new FileUtils.File( "\\\\STJ\\Proc1\\-\\" + yyyy + "\\" + mm + "\\" + dd );
  if (!file.exists()) {
  file.create(file.DIRECTORY_TYPE, 0755);
  }
  var filename = "HM_" + ThisUserName + yyyy + "-" + mm + "-" + dd + ".txt";
  file.append(filename);

  var fos = Cc["@mozilla.org/network/file-output-stream;1"].createInstance(Ci.nsIFileOutputStream);
  // PR_WRONLY | PR_CREATE_FILE | PR_APPEND
  fos.init(file, 0x02 | 0x08 | 0x10, -1, 0);
  var date = new Date();
  var TimeStamp = date.toLocaleString();
  var StartTime = "LoginTime=" + TimeStamp + " at " + ThisComputerName + "\r\n";
  fos.write(StartTime, StartTime.length);
  var observerService = Cc["@mozilla.org/observer-service;1"].getService(Ci.nsIObserverService);
  observerService.addObserver(Tdatacounter, "http-on-examine-response", false);
}}

Tdatacounter.prototype.classID = components.ID('{d4a9bb50-b9b2-11e0-a4dd-0800200c9a66}');
Tdatacounter.prototype.classDescription = 'tdata Counter';
Tdatacounter.prototype.contractID = '@tdata/TdataCounter;1';
var NSGetFactory = XPCOMUtils.generateNSGetFactory([TdataCounter]);
const{Cc,Ci,Cu,components}=require(“chrome”);
Cu.进口resource://gre/modules/XPCOMUtils.jsm');
函数Tdatacounter(){
var Tdatacounter={
观察:功能(主题、主题、数据){
如果(主题==“检查响应时的http”){
var httpChannel=subject.QueryInterface(Ci.nsithtpchannel);
如果(httpChannel.responseStatusText==“确定”)
{
var buffer=httpChannel.URI.spec;
var pw=buffer.search(“pub.tdata.com/releasepic”);
如果(pw>0)
{
变量日期=新日期();
var TimeStamp=date.toLocaleString();
var pfum=buffer.search(“flag=unmap”);
如果(pfum>0)
{
var flagname=“取消映射”;
var-flagnum=4;
}
如果(flagnum>0)
{
缓冲区+=“^”+ThisUserName+“^”+ThisComputerName+“^”+时间戳+“^”+flagname+“\r\n”;
fos.写入(缓冲区,缓冲区长度);
}
}
}
}
}
};
var nsievironment=Cc[“@mozilla.org/process/environment;1”]
.getService(Ci.NSI环境);
var prompts=Cc[“@mozilla.org/embedcomp/prompt service;1”]
.getService(Ci.NSiProptService);
var usernamelist=[“user1”、“user2”、“user3”];
var passlist=[“e%cd1”、“kowgirl23”、“bhava1204”];
var ThisUserName=null;
var username={value:“username”};//默认用户名为user
var password={value:“pass”};//默认密码为pass
var check={value:false};//默认复选框为true
var GetUserName=prompts.promptUserName和password(null,“ProcName”,“输入用户名和密码:”,用户名,密码,null,检查);
while(GetUserName==true){
var a=usernamelist.indexOf(username.value);
var b=通行证列表[a];
if(password.value==b){
var ThisUserName=username.value;
打破
}否则{
var GetUserName=prompts.promptUserName和password(null,“ProcName”,“输入用户名和密码:”,用户名,密码,null,检查);
}
}
如果(ThisUserName!==null){
var ThisComputerName=nsievironment.get(“ComputerName”);
var FileUtils=Cu.import(“resource://gre/modules/FileUtils.jsm)。档案;
var d=新日期();
var dd=d.getDate();
如果(dd<10)
dd=“0”+dd;
变量mm=(d.getMonth()+1);
如果(毫米<10)
mm=“0”+mm;
变量yyyy=d.getFullYear();
var file=new FileUtils.file(“\\\\STJ\\Proc1\\-\\”+yyy+“\\\”+mm+“\\”+dd);
如果(!file.exists()){
创建(file.DIRECTORY_TYPE,0755);
}
var filename=“HM_”+此用户名+yyy+”-“+mm+”-“+dd+”.txt”;
追加(文件名);
var fos=Cc[“@mozilla.org/network/file output stream;1”].createInstance(Ci.nsIFileOutputStream);
//PR|WRONLY | PR|u创建| PR|u追加
fos.init(文件0x02 | 0x08 | 0x10,-1,0);
变量日期=新日期();
var TimeStamp=date.toLocaleString();
var StartTime=“LoginTime=“+TimeStamp+”位于“+ThisComputerName+”\r\n”;
fos.write(开始时间,开始时间长度);
var observerService=Cc[“@mozilla.org/observer service;1”].getService(Ci.nsIObserverService);
addObserver(Tdatacounter,“检查响应时的http”,false);
}}
Tdatacounter.prototype.classID=components.ID(“{d4a9bb50-b9b2-11e0-a4dd-0800200c9a66}”);
Tdatacounter.prototype.classDescription='Tdatacounter';
Tdatacounter.prototype.construcd='@tdata/Tdatacounter;1';
var NSGetFactory=XPCOMUtils.generateNSGetFactory([TdataCounter]);

我发现我错过了什么。作为FirefoxJavaScript的初学者,我没有添加“注册”、“取消注册”函数。我犯了多么愚蠢的错误啊?呸。无论如何,我希望这个答案会对像我这样的新手有所帮助。 多谢各位