2015-05-17 9 views
13

Potrzebuję uruchomić trochę kodu javascript, aby sprawdzić, kiedy odoo zakończyło ładowanie.Wykryj, kiedy interfejs odoo jest w pełni załadowany

Wiem, że zapytanie jQuery.active == 0 robi trik w wersji 7, ale to nie działa w odoo, ponieważ zawsze utrzymuje jedno połączenie otwarte dla longpolling.

Czy ktoś wie, z jakiego elementu strony internetowej mogę się upewnić, czy interfejs jest w pełni załadowany?

Jeśli mogę zapytać o adres URL aktywnych połączeń jQuery, które również powinny wystarczyć.

+0

A co z $ (window) .load()? –

+0

, a następnie musisz opublikować istniejący kod. nie możemy zakładać, co dzieje się u ciebie. ale chcę ci powiedzieć, że jeśli istnieją pewne asynchroniczne wywołania, możesz użyć '$ .when(). then()', aby połączyć je w łańcuchowy sposób. – Jai

+0

Próbuję to zrobić: http://agilesoftwaretesting.com/selenium-wait-for-ajax-the-right-way/ Kod jest tam Krok 5: selenium.browserbot.getCurrentWindow () .jQuery.active == 0 – yucer

Odpowiedz

7

Nie wiem odoo ale Przypuszczam, że można czekać na zmiennej w odoo i to zrobić:

function checkodoo() { 
    if ('undefined' !== typeof odooVariableThatYouWatch) { 
     clearInterval(intervalOdoo); 
     lauchYourStaff(); 
    } 
} 

var intervalOdoo = setInterval("checkodoo()",100); 

Jeśli na https://www.odoo.com zmienna jest OpenERP

patrzę zmienną tutaj: https://www.odoo.com/documentation/8.0/howtos/web.html

+0

Czy masz na myśli, że zmienna openerp jest niszczona przy każdej interakcji użytkownika (np. Użytkownik klika element menu) i czy jest ostatnim elementem, który zostanie przypisany po przeładowaniu wszystkich potrzebnych elementów? – yucer

+0

Przy okazji ... Pytanie nie dotyczy czekania. Chodzi o wyrażenie, na które trzeba czekać. Czy twoja odpowiedź byłaby "niezdefiniowana"! == typeof openerp? – yucer

Powiązane problemy