Показать "Загрузка ..." во всплывающем окне Chrome Extension - PullRequest
0 голосов
/ 24 февраля 2011

Когда пользователь нажимает на значок расширения, чтобы вызвать всплывающее окно, кажется, что Chrome ждет выполнения всех js, прежде чем показывать какой-либо контент.

Я хотел бы показать экран «Загрузка ...» перед выполнением ajax, чтобы получить данные и отобразить их.

Как я могу показать popup.html перед выполнением js?

Я пробовал window.onload и setTimeout.

Обновление:

Вот что я пытаюсь:

window.onload = function() {

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

getDbs скрывает загрузку после получения базы данных.Когда я нажимаю на popup.html, он на секунду зависает, и я вижу dbs - значок загрузки никогда не появляется.

1 Ответ

0 голосов
/ 24 февраля 2011

setTimeout работал для меня:

//display loading msg here

setTimeout(function(){
    //heavy js here

    //hide loading msg
}, 0);

edit

Ваша функция setTimeout неверна, она выполняется сразу же.Вам нужно обернуть ваш метод в анонимную функцию, чтобы он не оценивался сразу:

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

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

(и я бы отбросил этот window.onload, поскольку здесь он не нужен, imo)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...