【问题标题】:Display prompt with firefox addon sdk使用 firefox 插件 sdk 显示提示
【发布时间】:2014-11-02 21:25:15
【问题描述】:

是否可以使用 chrome 权限向用户显示阻止的“是 否”确认对话框?

类似这样的:

【问题讨论】:

    标签: javascript firefox firefox-addon firefox-addon-sdk


    【解决方案1】:

    接受昵称的回答,但请阅读:

    这是访问 nsIPromptService 的另一种方法。并检查该页面以获取更多警报:

    var {Cu, Ci} = require('chrome');
    Cu.import('resource://gre/modules/Services.jsm');
    var doit = Services.prompt.confirm(null, 'title', 'message');
    if (doit) { 
    //he clicked yes
    }
    

    你可以传入一个像Services.wm.getMostRecentWindow(null)这样的窗口对象而不是null,它会在那个窗口上变成模态

    这种方式的好处是它使用了 services.jsm,所以你没有加载 nsipromptservice 你只是得到一个指向它的指针,这是首选方式

    【讨论】:

    • 这对我来说似乎是一个更好的解决方案。
    【解决方案2】:

    我找到了nsIPromptService,这正是我想要的:

    var chrome = require('chrome');
    var prompts = chrome.Cc["@mozilla.org/embedcomp/prompt-service;1"].getService(chrome.Ci.nsIPromptService);
    var remove = prompts.confirm(null, 'title', 'message');
    

    【讨论】:

    • chrome 是对所有 sdk 插件都可用的全局变量吗?还是必须由开发人员定义?
    • 不,我只是没有使用解构赋值。为了完整性,我添加了导入。
    • 哦,太棒了,我不能重组为chrome!感谢更新
    猜你喜欢
    • 1970-01-01
    • 2014-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多