Heim >Web-Frontend >H5-Tutorial >Analysieren Sie die Speicherfunktion von HTML5 und die damit verbundenen Betriebsmethoden der Web-SQL_html5-Tutorialfähigkeiten
HTML5 führt zwei Mechanismen ein, ähnlich wie HTTP-Sitzungscookies, um strukturierte Daten auf der Clientseite zu speichern und die folgenden Mängel zu überwinden.
In jeder HTTP-Anfrage sind Cookies enthalten, die dazu führen, dass die Übertragung derselben Daten unsere Webanwendung verlangsamt.
Cookies sind in jeder HTTP-Anfrage enthalten, was dazu führt, dass Daten unverschlüsselt über das Internet gesendet werden.
Cookies können nur begrenzte 4 KB an Daten speichern, was nicht ausreicht, um die erforderlichen Daten zu speichern.
Die beiden Speichermethoden sind Sitzungsspeicher und lokaler Speicher, die zur Bewältigung unterschiedlicher Situationen verwendet werden.
Fast alle aktuellen Browser unterstützen HTML5-Speicher, einschließlich Internet Explorer.
Sitzungsspeicherung
_Sitzungsspeicherung_ ist für Szenarien konzipiert, in denen Benutzer eine einzelne Transaktion durchführen, mehrere Transaktionen jedoch gleichzeitig in verschiedenen Fenstern ausgeführt werden können.
Beispiel
Zum Beispiel, wenn ein Benutzer ein Flugticket in zwei verschiedenen Fenstern auf derselben Website kauft. Wenn die Website Cookies verwendet, um die von einem Benutzer gekauften Tickets zu verfolgen, werden die aktuell gekauften Tickets „durchgesickert“, wenn der Benutzer von einem Fenster zum anderen wechselt, während er durch die Seite klickt, was dazu führen kann, dass der Benutzer zwei Tickets dafür kauft Gleicher Flug ohne es zu bemerken.
HTML5 hat das sessionStorage-Attribut eingeführt, mit dem Daten zum Sitzungsspeicher hinzugefügt werden können. Der Benutzer kann weiterhin auf jede Seite derselben Website im geöffneten Fenster zugreifen, wenn die Sitzung geschlossen ist auch verloren.
Der folgende Code legt eine Sitzungsvariable fest und greift dann auf die Variable zu:
Lokaler Speicher
_Lokaler Speicher_ ist für die Speicherung über mehrere Fenster hinweg konzipiert und bleibt in der aktuellen Sitzung bestehen. Insbesondere Webanwendungen möchten aus Leistungsgründen möglicherweise Millionen Bytes an Benutzerdaten auf dem Client speichern, beispielsweise ganze von einem Benutzer geschriebene Dokumente oder das Postfach eines Benutzers.
Cookies bewältigen diese Situation nicht besonders gut, da sie bei jeder Anfrage übertragen werden.
Beispiel
HTML5 hat das Attribut localStorage eingeführt, mit dem ohne zeitliche Begrenzung auf den lokalen Speicherbereich der Seite zugegriffen werden kann. Lokaler Speicher ist verfügbar, wann immer wir diese Seite verwenden.
Der folgende Code legt eine lokale Speichervariable fest, auf die bei jedem Zugriff auf diese Seite zugegriffen werden kann, auch beim nächsten Öffnen des Fensters:
Das Speichern vertraulicher Daten auf Ihrem lokalen Computer kann gefährlich sein und Sicherheitslücken hinterlassen.
_Sitzungsgespeicherte Daten_ werden vom Browser sofort nach Beendigung der Sitzung gelöscht.
Um die lokalen Speichereinstellungen zu löschen, müssen Sie localStorage.remove('key') aufrufen; dieser 'key' ist der Schlüssel, der dem Wert entspricht, den wir entfernen möchten. Wenn Sie alle Einstellungen löschen möchten, müssen Sie die Methode localStorage.clear() aufrufen.
Der folgende Code löscht den lokalen Speicher vollständig:
Web SQL-API
Web SQL-API für HTML5 Die Verwendung von SQL-APIs ist nicht möglich.
核心方法
openDatabase:这个方法使用现有的数据库或者新建的数据库创建一个数据库对象.
transaction:这个方法以及基于这种情况执行提交或者回滚.executeSql :这个方法用于执行实际的 SQL 查询.
如果数据库已经存在,openDatabase 方法负责开启数据库,如果不存在,这个方法会创建它.
使用下面的代码可以创建并开启一个数据库:
JavaScript-Code
Die obige Methode akzeptiert die folgenden fünf Parameter:
Datenbankname
Versionsnummer
Beschreibungstext
Datenbankgröße
Erstellungsrückruf
Der letzte und fünfte Parameter, der Erstellungsrückruf, wird aufgerufen, nachdem die Datenbank erstellt wurde. Aber auch ohne diese Funktion erstellt die Laufzeitumgebung die Datenbank und die richtige Version.
Abfrage ausführen
Um die Abfrage auszuführen, müssen Sie die Funktion „database.transaction()“ verwenden. Diese Funktion benötigt einen Parameter, eine Funktion, die für die tatsächliche Ausführung der Abfrage verantwortlich ist, wie unten gezeigt:
Einfügeoperation
Um einen Eintrag in der Tabelle zu erstellen, fügen wir dem obigen Beispiel eine einfache SQL-Abfrage wie folgt hinzu:
Hier sind e_id und e_log externe Variablen.executeSql ordnet jeden Eintrag im Array-Parameter „?“ zu.
Lesevorgang
Um einen bereits vorhandenen Datensatz zu lesen, können wir einen Callback verwenden, um das Ergebnis wie folgt zu erfassen:
Gefundene Zeilen: " len "
"生成如下所示结果:下:
Gefundene Zeilen: 2
foobar
logmsg