


Adakah pangkalan data tempatan ciri baharu HTML5?
Jan 23, 2022 pm 04:41 PMPangkalan data tempatan ialah ciri baharu html5. Html5 menyediakan sokongan pangkalan data sebelah penyemak imbas, membolehkan pembangun mencipta pangkalan data tempatan pada bahagian penyemak imbas secara langsung melalui JS API, dan menyokong operasi standard SQL CRUD, menjadikan aplikasi web luar talian lebih mudah untuk menyimpan data berstruktur .
Persekitaran pengendalian tutorial ini: sistem Windows 7, versi HTML5, komputer Dell G3.
Walaupun Html5 telah menyediakan localStorage dan sessionStorage yang berkuasa, kedua-duanya hanya boleh menyediakan data untuk menyimpan struktur data ringkas dan tidak berkuasa untuk data aplikasi web yang kompleks. Apa yang luar biasa ialah Html5 menyediakan sokongan pangkalan data pada bahagian penyemak imbas, membolehkan kami mencipta pangkalan data setempat di bahagian penyemak imbas secara langsung melalui JS API, dan menyokong operasi SQL CRUD standard, menjadikan aplikasi web luar talian lebih mudah untuk menyimpan data tersusun . Seterusnya, kami akan memperkenalkan API yang berkaitan dan penggunaan data tempatan.
Langkah paling asas untuk mengendalikan pangkalan data tempatan ialah:
- Langkah pertama: kaedah openDatabase: Cipta objek untuk mengakses pangkalan data.
- Langkah 2: Gunakan objek akses pangkalan data yang dibuat pada langkah pertama untuk melaksanakan kaedah transaksi Melalui kaedah ini, anda boleh menyediakan kaedah tindak balas acara untuk memulakan transaksi dengan jayanya kaedah tindak balas.
- Langkah 3: Jalankan pertanyaan melalui kaedah executeSql Sudah tentu, pertanyaan boleh: CRUD.
Seterusnya, kami akan memperkenalkan parameter dan penggunaan kaedah yang berkaitan.
(1) kaedah openDatabase:
//Demo:獲取或者創(chuàng)建一個數(shù)據(jù)庫,如果數(shù)據(jù)庫不存在那么創(chuàng)建之 var dataBase = openDatabase("student", "1.0", "學(xué)生表", 1024 * 1024, function () { });
Kaedah openDatabase membuka pangkalan data sedia ada Jika pangkalan data tidak wujud, ia juga boleh mencipta pangkalan data. Maksud beberapa parameter ialah:
- 1, nama pangkalan data.
- 2. Nombor versi pangkalan data pada masa ini, 1.0 sudah tentu, anda tidak perlu mengisinya
- 3.
- 4. Tetapkan saiz pangkalan data yang diperuntukkan (unit ialah kb).
- 5, fungsi panggil balik (boleh diabaikan).
- Buat pangkalan data apabila membuat panggilan buat kali pertama, dan kemudian buat sambungan.
(2) Kaedah db.transaction boleh menetapkan fungsi panggil balik Fungsi ini boleh menerima parameter yang menjadi objek transaksi yang kami mulakan. Kemudian skrip Sql boleh dilaksanakan melalui objek ini, yang boleh digabungkan dengan langkah-langkah berikut.
(3) Jalankan pertanyaan melalui kaedah executeSql.
ts.executeSql(sqlQuery,[value1,value2..],dataHandler,errorHandler)
Penerangan parameter:
- qlQuery: Pernyataan SQL yang perlu dilaksanakan secara khusus, yang boleh dibuat, pilih, kemas kini, padam
- nilai1 , nilai2.]: Tatasusunan semua parameter yang digunakan dalam penyataan sql, mula-mula gantikan parameter yang akan digunakan dalam penyataan s> letakkannya dalam parameter kedua
- ataHandler: Fungsi panggil balik dipanggil apabila pelaksanaan berjaya, yang melaluinya set hasil pertanyaan boleh diperolehi
- 4, errorHandler: Fungsi panggil balik dipanggil apabila pelaksanaan gagal;
Berikut ialah contoh menyeluruh, anda boleh lihat:
<head> <script src="Scripts/jquery-1.5.1.js" type="text/javascript"></script> <script type="text/javascript"> function initDatabase() { var db = getCurrentDb();//初始化數(shù)據(jù)庫 if(!db) {alert("您的瀏覽器不支持HTML5本地數(shù)據(jù)庫");return;} db.transaction(function (trans) {//啟動一個事務(wù),并設(shè)置回調(diào)函數(shù) //執(zhí)行創(chuàng)建表的Sql腳本 trans.executeSql("create table if not exists Demo(uName text null,title text null,words text null)", [], function (trans, result) { }, function (trans, message) {//消息的回調(diào)函數(shù)alert(message);}); }, function (trans, result) { }, function (trans, message) { }); } $(function () {//頁面加載完成后綁定頁面按鈕的點擊事件 initDatabase(); $("#btnSave").click(function () { var txtName = $("#txtName").val(); var txtTitle = $("#txtTitle").val(); var txtWords = $("#txtWords").val(); var db = getCurrentDb(); //執(zhí)行sql腳本,插入數(shù)據(jù) db.transaction(function (trans) { trans.executeSql("insert into Demo(uName,title,words) values(?,?,?) ", [txtName, txtTitle, txtWords], function (ts, data) { }, function (ts, message) { alert(message); }); }); showAllTheData(); }); }); function getCurrentDb() { //打開數(shù)據(jù)庫,或者直接連接數(shù)據(jù)庫參數(shù):數(shù)據(jù)庫名稱,版本,概述,大小 //如果數(shù)據(jù)庫不存在那么創(chuàng)建之 var db = openDatabase("myDb", "1.0", "it's to save demo data!", 1024 * 1024); ; return db; } //顯示所有數(shù)據(jù)庫中的數(shù)據(jù)到頁面上去 function showAllTheData() { $("#tblData").empty(); var db = getCurrentDb(); db.transaction(function (trans) { trans.executeSql("select * from Demo ", [], function (ts, data) { if (data) { for (var i = 0; i < data.rows.length; i++) { appendDataToTable(data.rows.item(i));//獲取某行數(shù)據(jù)的json對象 } } }, function (ts, message) {alert(message);var tst = message;}); }); } function appendDataToTable(data) {//將數(shù)據(jù)展示到表格里面 //uName,title,words var txtName = data.uName; var txtTitle = data.title; var words = data.words; var strHtml = ""; strHtml += "<tr>"; strHtml += "<td>"+txtName+"</td>"; strHtml += "<td>" + txtTitle + "</td>"; strHtml += "<td>" + words + "</td>"; strHtml += "</tr>"; $("#tblData").append(strHtml); } </script> </head> <body> <table> <tr> <td>用戶名:</td> <td><input type="text" name="txtName" id="txtName" required/></td> </tr> <tr> <td>標(biāo)題:</td> <td><input type="text" name="txtTitle" id="txtTitle" required/></td> </tr> <tr> <td>留言:</td> <td><input type="text" name="txtWords" id="txtWords" required/></td> </tr> </table> <input type="button" value="保存" id="btnSave"/> <hr/> <input type="button" value="展示所喲數(shù)據(jù)" onclick="showAllTheData();"/> <table id="tblData"> </table> </body> </html>
Kesan pelaksanaan adalah seperti yang ditunjukkan dalam rajah:
Cadangan berkaitan: "tutorial video html》
Atas ialah kandungan terperinci Adakah pangkalan data tempatan ciri baharu HTML5?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

React sendiri tidak secara langsung menguruskan fokus atau kebolehcapaian, tetapi menyediakan alat untuk menangani isu -isu ini dengan berkesan. 1. Gunakan ref untuk mengurus fokus secara programatik, seperti menetapkan fokus elemen melalui useref; 2. Gunakan atribut ARIA untuk meningkatkan kebolehcapaian, seperti menentukan struktur dan keadaan komponen tab; 3. Beri perhatian kepada navigasi papan kekunci untuk memastikan logik fokus dalam komponen seperti kotak modal adalah jelas; 4. Cuba gunakan elemen HTML asli untuk mengurangkan beban kerja dan risiko ralat pelaksanaan tersuai; 5. React membantu kebolehcapaian dengan mengawal DOM dan menambah atribut ARIA, tetapi penggunaan yang betul masih bergantung kepada pemaju.

WebAssembly (WASM) isagame-changerforfront-enddevelopersseekinghigh-performanceWebapplications.1.wasmisabinaryInstructionFatThatRunsatnear-nativespeed, enablinglanguageslikerust, c, andgoexecuteinthebrowser.2.itreBrowser.2.itreBrowser.2

Server-siderendering (ssr) innext.jsgenerateshtmlontheserverforachrequest, InfrovingPormanceAndSeo.1.ssrisidealfordynamiccontentthatchangesfrequents, suchasuserdashboard

Kemas kini yang tidak berubah adalah penting dalam bertindak balas kerana ia memastikan bahawa perubahan keadaan dapat dikesan dengan betul, mencetuskan komponen komponen dan mengelakkan kesan sampingan. Secara langsung mengubah keadaan, seperti push atau tugasan, akan menyebabkan reaksi tidak dapat mengesan perubahan. Cara yang betul untuk melakukan ini adalah untuk membuat objek baru dan bukannya objek lama, seperti mengemas kini array atau objek menggunakan pengendali Expand. Untuk struktur bersarang, anda perlu menyalin lapisan mengikut lapisan dan mengubahsuai hanya bahagian sasaran, seperti menggunakan pengendali pengembangan berganda untuk menangani atribut yang mendalam. Operasi biasa termasuk mengemas kini elemen array dengan peta, memadam elemen dengan penapis, menambah elemen dengan kepingan atau pengembangan. Perpustakaan alat seperti Immer dapat memudahkan proses, yang membolehkan "seolah -olah" untuk mengubah keadaan asal tetapi menjana salinan baru, tetapi meningkatkan kerumitan projek. Petua utama termasuk masing -masing

Front-end applications should set security headers to improve security, including: 1. Configure basic security headers such as CSP to prevent XSS, X-Content-Type-Options to prevent MIME guessing, X-Frame-Options to prevent click hijacking, X-XSS-Protection to disable old filters, HSTS to force HTTPS; 2. Tetapan CSP harus dielakkan menggunakan garis yang tidak selamat dan tidak selamat, gunakan nonce atau hash dan membolehkan ujian mod pelaporan; 3. Pengepala yang berkaitan dengan HTTPS termasuk permintaan peningkatan automatik HSTS dan dasar perujuk untuk mengawal rujukan; 4. Tajuk lain yang disyorkan seperti Permis

Atribut data-* digunakan dalam HTML untuk menyimpan data tambahan, dan kelebihannya termasuk data yang berkait rapat dengan unsur-unsur dan mematuhi piawaian HTML5. 1. Apabila menggunakannya, namakan ia bermula dengan data, seperti data-produk-id; 2. Ia boleh diakses melalui getattribute atau dataset JavaScript; 3. Amalan terbaik termasuk mengelakkan maklumat sensitif, penamaan yang munasabah, memberi perhatian kepada prestasi dan tidak menggantikan pengurusan negeri.

Untuk gaya SVG menggunakan CSS, anda perlu menanamkan SVG secara langsung ke HTML untuk kawalan halus. 1. SVG inline membolehkan unsur -unsur dalamannya seperti atau dipilih secara langsung melalui CSS dan untuk menggunakan gaya, manakala SVG luaran hanya menyokong gaya global seperti lebar dan ketinggian atau penapis. 2. Gunakan sintaks CSS biasa seperti .class: hover untuk mencapai kesan interaktif, tetapi gunakan mengisi bukan warna untuk mengawal warna, dan gunakan strok dan lebar strok untuk mengawal garis besar. 3. Gunakan nama kelas untuk menyusun gaya untuk mengelakkan pertindihan dan memberi perhatian kepada penamaan konflik dan pengurusan skop. 4. Gaya SVG boleh diwarisi dari halaman, dan boleh diset semula melalui svg*{isi: none; stroke: none;} untuk mengelakkan

Menambah laman web Favicon memerlukan menyediakan fail ikon, meletakkan laluan yang betul dan memetiknya. 1. Sediakan ikon berbilang saiz .ico atau .png, yang boleh dihasilkan oleh alat dalam talian; 2. Letakkan favicon.ico dalam direktori akar laman web; 3. Jika anda perlu menyesuaikan jalan atau menyokong lebih banyak peranti, anda perlu menambah rujukan tag pautan di htmlhead; 4. Kosongkan cache atau gunakan alat untuk memeriksa sama ada ia berkesan.
