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.
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.