在Chrome扩展程序弹出窗口中显示“正在加载...”

时间:2011-02-24 16:30:18

标签: javascript google-chrome-extension

当用户点击扩展程序图标以触发弹出窗口时,Chrome似乎会在显示任何内容之前等待所有j执行。

我想在执行ajax抓取数据并显示之前显示“正在加载...”屏幕。

如何在执行js之前显示popup.html?

我尝试过window.onload和setTimeout。

更新

以下是我正在尝试的内容:

window.onload = function() {

    setTimeout(function() {
        var me = new MyApp();
        me.getDbs("apps")
    },5000);
}

getDbs一旦检索到dbs就会隐藏#loading。当我点击popup.html时,它会挂起一秒钟,我会看到dbs - 加载图标永远不会有机会被看到。

1 个答案:

答案 0 :(得分:0)

setTimeout对我有用:

//display loading msg here

setTimeout(function(){
    //heavy js here

    //hide loading msg
}, 0);

修改

你的setTimeout函数不正确,它正在执行。您需要将方法包装到匿名函数中,以便不立即进行评估:

window.onload = function() {
    var me = new MyApp();

    setTimeout(function() {
        me.getDbs("apps");
    }, 1000);
}

(我会放弃window.onload因为这里不需要imo)