首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Crossrider扩展中的按需弹出窗口

Crossrider扩展中的按需弹出窗口
EN

Stack Overflow用户
提问于 2015-01-07 12:49:36
回答 1查看 126关注 0票数 0

我正在寻找一种在Crossrider扩展中显示按需弹出窗口的方法,与Javascript的“确认”对话框具有相同的风格。我在资源中有一个HTML页面,我想在弹出窗口中使用它,无论何时发送特定的消息都会显示出来。我意识到在Crossrider (appAPI.browserAction.setPopup)中有显示弹出窗口的功能,但是我想按需显示自定义弹出窗口,而不是简单的JS‘确认’对话框。有没有办法做到这一点?谢谢。

EN

回答 1

Stack Overflow用户

发布于 2015-01-07 21:16:08

您可以组合使用appAPI.browserAction.setPopupappAPI.browserAction.clearPopup来控制弹出窗口。在下面的示例中,扩展范围代码根据访问的页面确定需要哪个弹出窗口,并相应地设置它:

extension.js

代码语言:javascript
复制
appAPI.ready(function($) {
    if (appAPI.isMatchPages("*google", "*msn")) {
        // Send message to background to set the popup based on the page url
        appAPI.message.toBackground({
            request: 'set-popup',
            popup: (location.hostname.indexOf('google') !== -1)
                ? 'google.html'
                : 'msn.html'
        });
    } else {
        // Send message to background to clear the popup for other pages
        appAPI.message.toBackground({
            request: 'clear-popup'
        });
    }
});

background.js

代码语言:javascript
复制
appAPI.ready(function($) {
    appAPI.browserAction.setResourceIcon('icon.jpg');
    appAPI.message.addListener(function(msg) {
        switch(msg.request) {
            case 'set-popup':
                // When setting the page, first clear the existing popup
                appAPI.browserAction.clearPopup();
                // then set the new popup
                appAPI.browserAction.setPopup({
                    resourcePath: msg.popup,
                    width: 300,
                    height: 200
                });
                break;
            case 'clear-popup':
                appAPI.browserAction.clearPopup();
                break;
        }
    });
});

披露:我是一名Crossrider员工

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27812570

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档