2011-01-16 2 views
1

Ich habe eine Website, die für neue Daten auf der ersten Seite besuchen wird. Ich würde gerne AJAX dazu verwenden, um dem Benutzer während des Scraps zumindest einige loading.gifs zu präsentieren, aber nur wenn Javascript aktiviert ist.
Meine Website verwendet eine PHP-Template-Engine, also dachte ich, die Scrape-Funktion in <noscript> Tags in der HTML-Vorlage zu setzen. Da dies nach dem ganzen PHP-Code passieren würde, müsste ich die Seite neu laden, damit ich die Scraped-Daten mit PHP rendern/parsen kann.Verwenden Sie PHP-Funktion, wenn Javascript aktiviert ist

Diese Methode scheint ein wenig schlampig, ich frage mich, ob es eine effiziente Möglichkeit gibt, dies zu tun.

Antwort

1

Gibt es einen Grund, warum Sie dies mit Javascript tun müssen? Warum nicht einfach mit PHP, mit cURL, um den Inhalt und andere PHP-Erweiterungen wie SimpleXML zu bekommen, um den Inhalt zu bekommen? Sie können den Scraped-Inhalt sogar für eine bestimmte Zeit in einer Datenbanktabelle zwischenspeichern, so dass PHP bei jeder Seitenladung nicht gezwungen wird, den Scraping erneut auszuführen.

+0

Die schaben genau so gemacht wird. Mein Problem ist, wie man zuerst kratzt und die Seite lädt, wenn JS deaktiviert ist, oder zuerst laden und dann mit Ajax füllen, wenn JS aktiviert ist. –

+0

Ich vermisse den Punkt von dem, was Sie versuchen, aber warum mit dem Ajax-Laden zu beschäftigen Wenn das Scrape Server-seitig von PHP ausgeführt wird? Wenn die Daten auf Ihrem Server zwischengespeichert werden, wie Sie sagen, dann gibt es keinen Vorteil für eine AJAX-Belastung der Daten. Ich kann jedoch etwas in etwas vermissen, was du versuchst zu tun ... – Jeremy

1

Das Tag <noscript> wird nur vom Client (Webbrowser) interpretiert, nachdem die Seite gesendet wurde, was bedeutet, dass es zu spät ist, eine PHP-Funktion auszulösen. Ich würde wahrscheinlich auf den Dual-Ansatz aufgeben, wenn ich du wäre, aber es könnte andere (hacky) Möglichkeiten, dies zu erreichen ...

Vielleicht könnten Sie einen iframe in die <noscript>-Tag, dessen src ist nein- js separates Scraping-Skript.
Oder Sie könnten js Fähigkeit auf einer Landingpage testen, dann senden Sie Leute auf die Seite für ihre Einrichtung gemacht.

Mögliche nützliche Links:
Check if JavaScript is enabled with PHP
Can I let PHP know that a user does not have javascript enabled?

Verwandte Themen