Hier ist eine Herausforderung, mit der ich kürzlich beauftragt wurde. Ich habe immer noch nicht den besten Weg gefunden, es zu tun, vielleicht hat jemand anderes eine Idee.
Erstellen Sie mit PHP und / oder HTML eine Seite, die in einem bestimmten Intervall eine beliebige Anzahl anderer Seiten durchläuft.
Zum Beispiel würden wir diese Seite laden, und es würde uns 20 Sekunden lang googlen, dann für 10 Sekunden auf Yahoo, dann weiter auf Stackoverflow für 180 Sekunden und so weiter.
Verwenden Sie einen separaten Iframe für den Inhalt, verwenden Sie dann Javascript zu delay()
und definieren Sie die Eigenschaft location
des Iframes.
Wenn Sie auf eine andere Website (z. B. Google) geleitet werden, wird die Kontrolle an diese Site weitergegeben. Damit Ihr Skript also weiterläuft, müssen Sie die neue Site in einem Frame laden und Ihr Script behalten (was ich "Ich könnte mir vorstellen, dass es am einfachsten mit Javascript implementiert werden kann" in einem anderen Frame (der sehr klein sein könnte, damit man ihn nicht sehen kann).
Hängt von Ihren genauen Anforderungen ab. Wenn Sie JavaScript zulassen und Frames zulassen, können Sie einen versteckten Frame innerhalb eines Framesets auf Ihrer Seite platzieren, in den Sie JavaScript laden. Dieses JavaScript steuert dann den Inhalt des Hauptrahmens mithilfe des window.location-Objekts und der setTimeout-Funktion.
Der Nachteil wäre, dass die Adresszeile des Benutzers nicht mit der neuen URL aktualisiert wird. Ich bin mir nicht sicher, wie dies sonst erreichbar wäre. Wenn Sie die Einschränkungen klären können, kann ich Ihnen mehr helfen.
Bearbeiten - Shads Vorschlag ist eine Möglichkeit, aber wenn der Benutzer die Aktion nicht auslöst, kann der Browser das Popup blockieren. Wieder müssen Sie klären, ob ein Popup zulässig ist.
Ich denke, es müsste funktionieren wie gabbly.com , was andere Websites saugt und sie mit seinem eigenen Inhalt darüber anzeigt. p>
Sobald du die andere Seite gelesen hast und bereit warst, sie anzuzeigen, könntest du es nicht wirklich "in PHP" machen; Sie müssten ein HTML-Umleitungs-Meta-Tag senden:
%Vor%Oder Sie könnten Javascript anstelle des Meta-Tags verwenden.
Dies ist in einem PHP-Skript nicht möglich, es sei denn, Sie möchten die Weiterleitung bearbeiten. PHP ist eine Back-End-Technologie. Sie müssen dies in Javascript oder dergleichen tun.
Das Beste, was Sie tun werden, ist, so weit ich weiß, eine Textdatei auf Ihrem Webserver zu erstellen und eine andere HTTP-Adresse basierend auf der Zeit aus dieser Textdatei zu laden und dann den Browser auf die Site umzuleiten in dieser Textdatei gefunden.
Die erste Lösung, die Ihnen in den Sinn kommt, ist dies in einem Frameset. Blenden Sie einen der Rahmen aus, und der andere zeigt die fraglichen Seiten an. Fahre die Seitenübergänge mit Javascript aus dem versteckten Rahmen.
%Vor%In diesem Beispiel wäre das Javascript im Hiddend-Frame und Sie würden Ihren sichtbaren Frame "VisibleFrame" nennen.
Disclaimer: Ich habe diesen Code gerade in das Kommentarfenster geschrieben und habe ihn nicht getestet
Das könnte man recht einfach mit JavaScript machen. Es würde hilfreich sein, die Implementierungsumgebung zu kennen. Ist es ein Kiosk oder etwas?
Zeigen Sie für die JavaScript-Lösung eine Seite an, die ein JavaScript enthält, mit dem ein neues Browserfenster geöffnet wird. Die Steuerungsseite bewirkt dann, dass das neue Browserfenster eine Reihe von Seiten durchläuft. Das ist der einfachste Weg, dies zu tun, an den ich denken kann.
Bearbeiten: Stimmt dem Kommentar von Simon zu. Diese Lösung würde am besten in einem Kiosk oder einer großen öffentlichen Anzeigeumgebung funktionieren, in der die Seiten nur ohne Benutzerinteraktion angezeigt werden.
Die Theorie hinter der Anfrage ist im Grunde die Möglichkeit, von einem "Kiosk" -PC durch Webseiten-Dashboards für verschiedene Systeme zu navigieren. Ich beaufsichtige ein Rechenzentrum und wir haben mehrere Monitorsysteme, die es mir erlauben, Dashboards für Zeitpläne, System-Up-Zeit usw. zu sehen. Die Idee ist eine Seite laden, die von Dashboard zu Dashboard auf jedem für eine von mir angegebene Zeit Zyklus, 1 Minute auf diesem Board, 30 Sekunden auf dem nächsten Board, 2 Minuten auf dem nächsten und so weiter laufen würde. Javascript ist absolut zulässig (obwohl ich wenig Erfahrung damit habe). Meine Mittel der Wahl sind PHP / HTML und ich sehe keine Möglichkeit, dies einfach mit ihnen geschehen zu lassen.
Es gibt eine Reihe von Möglichkeiten, dies zu tun, iv geschrieben mehrere Skripte und Werkzeuge mit allem von JS bis Ruby
Am Ende war es viel einfacher Ссылка zu verwenden. Es hat Browser-Neustarts, Speicherzuweisung und versehentliche Fensterschließung für mich mit einer netten einfachen GUI behandelt.