Wenn ein Benutzer beispielsweise meine Webanwendung über die automatisch geladene Standardseite index.html eingibt, kann dieser Socket weiterhin verwendet werden, wenn der Benutzer auf eine Schaltfläche auf meiner Webseite klickt, die eine andere HTML-Seite lädt, die Teil meiner Webanwendung ist? Im Moment habe ich eine Frontend-Seite, die für meine 3 HTML-Dateien verwendet wird. Es funktioniert gut für meine Standard-Indexdatei, aber wenn ich auf eine Schaltfläche klicke, die zu einer anderen HTML-Datei führt (die auch mit meiner Frontend-js-Seite verbunden ist), heißt das, dass io nicht in der Konsole definiert ist.Kann ich einen Socket über mehrere HTML-Seiten verwenden?
Antwort
Das Laden einer neuen HTML-Seite führt dazu, dass das Javascript auf der neuen Seite ausgeführt wird - dies zerstört jeden Kontext von der vorherigen Seite (einschließlich bestehender Verbindungen).
Es gibt ein paar Möglichkeiten, um dieses:
Code schreiben die Verbindung beim Laden der Seite wieder herzustellen. Dazu muss ein Bezeichner einer bestimmten Art übergeben werden, damit die neue Verbindung der vorhandenen Sitzung zugeordnet wird.
Schreiben Sie Ihre Anwendung als eine einzelne Seite App (SPA). In einem SPA werden die Seiten auf der Clientseite im Rahmen einer JavaScript-App gerendert, die beim ersten Laden an den Client übergeben wird. Da kein Neuladen stattfindet, wenn ein Benutzer von einer Seite zu einer anderen wechselt, ist die Verbindung nicht verloren.
- 1. Mehrere Nachrichten streamen über einen Socket
- 2. Kann ich HTML dynamisch über einen Web-Socket aktualisieren?
- 3. Wie verbinde ich einen SSL-Socket über einen HTTP-Proxy?
- 4. Kann ich die vorhandene Socket-Verbindung verwenden?
- 5. Schreiben in einen Nachrichtenrouter über einen Socket
- 6. Kann nicht mehrere Nachrichten über den Socket senden
- 7. Auswahl für mehrere Socket-Verbindungen verwenden C
- 8. Bilder über einen Socket senden und anzeigen
- 9. Welche node.js-Socket-Engine sollte ich verwenden?
- 10. Senden einer Binärdatei über einen Java-Socket
- 11. Senden Sie 5MB Daten über einen Socket?
- 12. Einen Verweis auf einen (großen) Datenbereich über einen Socket übergeben
- 13. wie kann ich einen Protokoll-Header und Körper über einen TCP-Socket in C bauen
- 14. Mehrere Socket-Verbindungen
- 15. Empfangen von Daten über einen Python-Socket
- 16. Wie kann ich std :: multimap Daten über Socket
- 17. Kann ich mehrere @ PlanningEntityCollectionProperty in OptaPlanner verwenden?
- 18. Kann ich einen Socket-Server auf Tomcat mit GenericServlet implementieren?
- 19. Wie kann ich einen Zwei-Wege-SSL-Socket in Ruby
- 20. Wie wiederhole ich mehrere Werte von Socket
- 21. Kann ich mehrere Hintergrundbilder mit CSS verwenden?
- 22. Kann ich einen simpleType mehrmals verwenden?
- 23. Wie Sie einen Protokolleintrag python.logging über einen Socket abrufen
- 24. Kann nicht über Socket mit Python
- 25. Socket-Server reagiert mehrere Anfragen gleichzeitig von einem Client-Socket
- 26. Kann ich Service-Mitarbeiter mit socket-io verwenden?
- 27. Wie kann ich Socket auf diesen Code verwenden?
- 28. Klassenfunktion nicht über Socket
- 29. Wie kann ich mit PhpMyAdmin über einen Unix-Socket mit dem Localhost verbinden?
- 30. Wie kann ich eine Nachricht über den Web-Socket an einen verbundenen Benutzer senden?
Denken Sie an jede einzelne Seite, die ein Browser als eigenständige Anwendung lädt. Wäre dies nicht der Fall, gäbe es * große * Sicherheitsprobleme, verglichen mit denen, die wir bereits haben. – Norguard