Maison  >  Article  >  interface Web  >  Exemple de code de stockage de données HTML5

Exemple de code de stockage de données HTML5

零下一度
零下一度original
2017-04-21 15:55:593046parcourir

html5Stockage des données

Jusqu'à présent, il existe de nombreuses façons de mettre en œuvre le stockage côté client. La solution la plus simple et la plus compatible est celle des cookies, mais en tant que véritable stockage côté client, les cookies existent encore. .

大小

cookie的大小被限制在4KB。

带宽

cookie是随http事务一起发送的,因此会浪费一部分发送cookies时使用的带宽。

复杂

cookies操作起来比较麻烦:所有信息要被拼到一个长字符串里面。

联系

对cookiess来说,在相同的站点与多事务处理保持联系不是很容易。

Taille
La taille des cookies est limitée à 4 Ko.
Bande passante Les cookies sont aléatoires Les transactions HTTP sont envoyées ensemble, donc une partie de la bande passante utilisée lors de l'envoi des cookies est gaspillée.
Complexe Les cookies fonctionnent C'est plus gênant : toutes les informations doivent être orthographiées dans une longue chaîne.
Contactez pour les cookies Ceci dit, garder le contact avec plusieurs transactions sur un même site n'est pas très simple.

Dans ce cas, la fonction "stockage web"

, fonction permettant de sauvegarder les données localement sur le client, est re-fournie en HTML5.

Il contient deux types de stockage

SessionStorage et localStorage prennent tous deux en charge le stockage de 5 Mo de données dans le même domaine

La différence est que

Données de sessionStorage Temporairement enregistré (lorsque l'utilisateur ferme le navigateur --- les données n'existeront pas)

localStorage est enregistré de manière permanente lorsque l'utilisateur ferme le navigateur --- les données existent toujours (Sauf si l'utilisateur efface manuellement )

※Nous pouvons utiliser des exemples pour le prouver ci-dessous※

Créez d'abord deux pages

Le code de la page est le suivant :

Index.html->
 
<!DOCTYPE html>
<html>
    <head>
       <meta charset="utf-8" />
       <title></title>
    </head>
    <body>
       <a href="test.html" target="_blank">打开测试页面看一下</a>
       <script type="text/javascript">
           window.onload=function(){
              sessionStorage.setItem("date","今天是2017年2月3号,本少心情不错!")
              localStorage.setItem("localDate","我想讲今天这个种心情永久的保存下来,留下最美好的见证!")
           }
          
       </script>
    </body>
</html>
 
Test.html->
 
<!DOCTYPE html>
<html>
    <head>
       <meta charset="UTF-8">
       <title></title>
    </head>
    <body>
       <script type="text/javascript">
           window.onload=function(){
              alert("临时会话:"+sessionStorage.getItem("date"));
              alert("永久会话:"+localStorage.getItem("localDate"));
           }
       </script>
    </body>
</html>

Ouvrez d'abord la page d'accueil et jetez un œil ->Cliquez sur le lien

Vous pouvez voir ces effets

D'accord maintenant nous fermons Utilisez le navigateur pour voir l'effet

Copiez d'abord le lien

Nous n'ouvrirons cette page de texte que maintenant

Vous pouvez maintenant voir que cette session temporaire disparaît lorsque nous fermons la navigation

Mais elle est enregistrée via le stockage local Les données existent toujours

Les données ici utilisent donc un stockage différent en fonction de votre utilisation

Données d'image généralement volumineuses telles que Il sera corrigé pour utiliser bese64 pour enregistrer dans la session locale, mais il convient de noter que le stockage ici a également une limite de 5 Mo et que le stockage sous forme de paires clé-valeur n'est pas propice à l'expansion du programme, donc un autre mécanisme de stockage pour HTML est également fourni ici . "websql".

Il existe une base de données intégrée en HTML5 accessible via le langage SQL. Il suffit de regarder le nom et vous saurez qu'il s'agit de la fonction de stockage local de la base de données. qui peut interroger et ajouter des données, en HTML5, le contenu pouvant être stocké localement sur le client est grandement enrichi.

Actuellement, les données SQL de type fichier appelées « SQLLIte » qui n'ont pas besoin d'être stockées sur le serveur ont été largement utilisées, ce type de base de données est donc également utilisé en HTML5 comme base de données locale.

Utilisons simplement un exemple pour illustrer --- (Parce que ceux qui ont étudié les bases de données comprennent généralement qu'il s'agit de données locales, qui sont fondamentalement les mêmes que la base de données que nous installons habituellement.)

Créer un nouveau

WebSQL.html

<!DOCTYPE html>
<html>
    <head>
       <meta charset="UTF-8">
       <title></title>
    </head>
    <body>
       <script type="text/javascript">
           window.onload=function(){
              //打开和创建数据库
              var db;
              //首先判断浏览器是否支持本地数据库
              if(window.openDatabase){
                  //初次打开一个数据库,就会自动创建数据库。任何时间,在该“域”上只能拥有指定数据库的一个版本,因此如果创建了
                  //版本1.0,那么应用程序在没有特定的改变数据库的版本时,将无法打开1.1。
                  //打开和创建数据库,第一参数数据库名,第二个参数版本号,第三个参数为数据库的描述,第四个参数为数据库的大小
                  //该方法返回创建后的数据库访问对象,如果该数据库不存在,则创建该数据库。
                  db=openDatabase("myWBSQL",&#39;1.0&#39;,&#39;这个是描述可以写可以不写&#39;,2*1024*1024);
                  //使用事务来执行处理(一般的学过数据库知道这种处理方式的优点)
                  db.transaction(function(tx){
                     //执行SQL语句---这里创建一个数据库
                     tx.executeSql(&#39;create table if not exists st(id,age,name)&#39;);
                     //添加一条SQL语句
                     //第一个参数为需要执行的SQL语句,第二个参数为SQL语句中用到参数数组
                     //后面两个参数为成功和失败的回调函数
                     tx.executeSql("insert into st(id,age,name)values(?,?,?)",["1","天下第几","毛馨婕"],function(tx,results){
                         //成功之后的回调函数
                         alert("插入语句成功");
                         console.info(results);
                     },function(tx,errmsg){
                         alert("插入语句失败!");
                         console.info(errmsg);
                     })
                  });
              }else{
                  alert("您的浏览器不支持本地数据!")
              }
           }
       </script>
    </body>
</html>


Ouvrons le navigateur Sogou pour vérifier ->Ici pour vérifier dans la console

Ici, nous pouvons clairement voir que la déclaration insérée dans la base de données locale est exactement la même que ce que nous avons écrit

Créons ensuite une nouvelle page pour voir les données dans les données locales après avoir fermé le navigateur

selectSQL.html 
<!DOCTYPE html>
<html>
    <head>
       <meta charset="UTF-8">
       <title></title>
    </head>
    <body>
       <script type="text/javascript">window.onload = function()
 {
    var db;
    if(window.openDatabase)
 {
       db = openDatabase("myWBSQL", &#39;1.0&#39;, &#39;这个是描述可以写可以不写&#39;, 2 * 1024* 1024);
        db.transaction(function(tx)
 {
           tx.executeSql("select * from st where name=?", ["毛馨婕"],function(tx, results)
 {
              console.info(results);
              alert(results[&#39;rows&#39;][0][&#39;name&#39;]+"---"+results[&#39;rows&#39;][0][&#39;age&#39;]);
           }, function(tx, errmsg)
 {
              console.info(errmsg);
           })
       });
    } else {
       alert("您的浏览器不支持本地数据!")
    }
}</script>
    </body>
</html>

Ouvrez la page

Vous pouvez voir dans la console

Bien sûr, c'est très simple, mais c'est grâce à une lente accumulation que nous pouvons grandir étape par étape. Alors étudions ensemble avec tout le monde

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn