Wie führe ich jQuery-Versprechen in phantomJS aus?

9

Ich benutze versucht, nodejs und phantomjs auf der Serverseite für SEO unserer Website zu verwenden. Obwohl Ajax funktioniert, kann ich keine benutzerdefinierten Versprechungen ausführen, die ich in meinem Code verwendet habe. Wie kann ich phantomJS warten lassen, bis die Versprechen gelöst sind? Unten ist was ich codiert habe.

%Vor%

phantomJS fügt die Klassen 'vor Dom-ready' und 'nach-dom-ready' hinzu, aber ich kann die Klasse 'provide-executed' nicht auf body ausführen.

    
ggauravr 08.03.2013, 13:35
quelle

1 Antwort

4

PhantomJs wartet nicht automatisch auf das Ende aller ausstehenden Skripts. WebPage # onLoadFinished wird für das Onload-Ereignis aufgerufen.

Wie bei den meisten Skripten ist die Idee hier zu warten, bis "etwas" getan oder wahr ist. Ich empfehle Ihnen, waitfor.js zu testen. Es ist wirklich wichtig, dieses Beispiel in PhantomJs zu verstehen.

Ich nehme an, Ihr Beispiel ist ein Beispiel, aber lassen Sie mich eine Antwort vorschlagen.

Html Seite

%Vor%

PhantomJs-Skript

%Vor%

Grundsätzlich prüft waitFor alle 500 ms, ob der Body eine Klasse namens 'promise-executed' hat.

    
Cybermaxs 28.05.2013, 18:59
quelle

Tags und Links