js xpcom 记录

1.在xpcom文件中使用alsert、prompt、confirm:
let promptService = Components.classes["@mozilla.org/embedcomp/prompt-service;1"]
                              .getService(Components.interfaces.nsIPromptService);
promptService.alert(null, "title", "message");
promptService.confirm(null, "title", "message");
promptService.prompt( ... );


2.在xpcom文件中打开窗口及传值
    在xpcom的js文件中:
let args = new Object();
   
args.onOk = function aFun() { ... };
args.str= "aString";

args.wrappedJSObject = args;//传参数的特殊设置

var wWatcher = Components.classes["@mozilla.org/embedcomp/window-watcher;1"]
                     .getService(Components.interfaces.nsIWindowWatcher);
var param = wWatcher.openWindow(null,"chrome://xxx/content/aDialog.xul",
           "_blank", "chrome,dialog=yes,titlebar,modal,resizable",  args);


    在窗口中:
var args = null;
if(window.arguments[0].wrappedJSObject) {
    args = window.arguments[0].wrappedJSObject;//接收来自xpcom打开传递的参数
}else{
    args = window.arguments[0];//接受来自普通打开传递的参数
}
...
args.onOk();
alert(args.str);
...



你可能感兴趣的:(JavaScript,chrome)