Hat jemand den SharedObject-Mechanismus von Flash für clientseitige Persistenz verwendet? Gibt es große Gatchas? Größenbeschränkungen?SharedObject für clientseitige Persistenz verwenden?
Antwort
SharedObjects mit AS3 ist sehr einfach, aber ja hier sind ein paar Dinge zu beachten. Aber nichts zu ernst.
Size Limit. Ja, es gibt eine 100kb Grenze pro Standort. Wenn dieses Limit erreicht ist, erhält der Benutzer eine kleine Popup-Abfrage, um das Limit für Ihre Website nur zu erhöhen. Sie können ändern Sie Ihr eigenes Limit von rechts Klicken Sie auf eine eingebettete SWF und gehen zu "Einstellungen> Local Storage".
DataTypes. Sie können jeden Datentyp speichern, der in Flash funktioniert.
Debugging. Oft ist es für das Debugging nützlich, einen Blick darauf zu werfen, was tatsächlich im gemeinsamen Objekt gespeichert wird. Dafür gibt es viele Tools, aber ich würde SharedObject Reader from Sephiroth empfehlen. Es gibt auch eine Version von diesem, die mit FlashDevelop kommt.
Sicherheit. Es gibt fast keine "Sicherheit" mit SharedObjects, sie sind im Grunde eine Textdatei ohne Verschlüsselung, also verwenden Sie sie nicht, um einen Benutzernamen und ein Passwort zu verwenden. Beachten Sie jedoch, dass nur die Site, die das SharedObject erstellt, Zugriff darauf hat (und alle anderen Benutzer mit Dateisystemzugriff).
Position. Sie können das tatsächliche finden.SOL-Dateien (unter Windows XP) auf "C:/Dokumente und Einstellungen/[Benutzername]/Anwendungsdaten/Adobe/Flash Player/# Shared/"
zurücksetzen. Ich habe festgestellt, dass mein SharedObject häufig nicht mehr funktioniert, da während der Entwicklung fehlerhafte Daten gespeichert wurden. In diesem Fall ist es das Beste, die .SOL-Datei zu löschen und neu zu starten.
Hoffe das hilft. A würde definitiv lesen HOWTO: SharedObjects for Local Storage AS3 für weitere Informationen zur tatsächlichen Verwendung von SharedObjects.
Dinge, die Sie sollten daran denken über SharedObjects Dokumentation:
- Sie verfallen nicht standardmäßig aktiviert.
- Standardmäßig sind sie auf eine Größe von jeweils 100 KB begrenzt.
- Sie können einfache Datentypen (wie String, Array und Datum) speichern.
- Sie werden an einem Ort gespeichert, der von der Anwendung angegeben wurde (im Home-Verzeichnis des Benutzers).
- Sie werden nie zwischen dem Client und dem Server übertragen.
- Verwenden Sie getLocal(), um ein gemeinsames Objekt zu erstellen. (SharedObject.getLocal ("myTasks");)
- Verwenden Sie flush(), um das gemeinsam genutzte Objekt in die Clientdatei zu schreiben. (SharedObj.flush())
- Verwenden clear() ein gemeinsames Objekt zu zerstören (sharedObj.clear())
Beachten Sie auch, dass der Ort, an dem die Daten gespeichert wird, hängt von dem verwendeten Browser.
Also ja, das ist definitiv gut für die Speicherung einfacher Daten.
- 1. Clientseitige Persistenz (Speicher)
- 2. Kann clientseitige Python-Threads verwenden?
- 3. AS3 - SharedObject über https
- 4. Clientseitige Objektgeschwindigkeit
- 5. Clientseitige
- 6. Workflow-Persistenz für mehrere Workflows
- 7. Architektur für Redis-Cache & Mongo für Persistenz
- 8. Best Practices für clientseitige vs. serverseitige Weiterleitungen: wann was verwenden?
- 9. Welche Datentypen unterstützt ein SharedObject?
- 10. Verwenden H2-Mem als Persistenz-Einheit
- 11. Firebase clientseitige Fanout für Datenkonsistenz
- 12. Clientseitige MVC-Frameworks für ClojureScript
- 13. Redux: Meinungen/Beispiele für die Backend-Persistenz?
- 14. Air iOS SharedObject gelöscht nach dem Update
- 15. Eclipse Präferenz Speicher Persistenz
- 16. Confluence Persistenz
- 17. Stauchen node_modules für die clientseitige Bereitstellung
- 18. Richtig flashen.utils.Dictionary zu einem SharedObject serialisieren
- 19. Flex: Wiederherstellung von einem beschädigten lokalen SharedObject
- 20. module.exports clientseitige
- 21. Unterstützt SAVON clientseitige Zertifikatsauthentifizierung
- 22. Beispiele für clientseitige Authentifizierung in react
- 23. Firefox 3.5 Unterstützung für clientseitige Datenbanken?
- 24. Sichern von Datenbankschlüsseln für die clientseitige Verarbeitung
- 25. Clientseitige Validierung für CompareAttribute DataAnnotation nicht ausgelöst
- 26. Clientseitige JSX-Übertragung
- 27. Müssen Sie API-Schlüssel für Google Maps API für clientseitige Anwendungen verwenden?
- 28. sqlalchemy autoloaded orm Persistenz
- 29. Firebase 3.0-Sitzung Persistenz
- 30. Grails clientseitige Validierung