gpt4 book ai didi

javascript - HTML5 - 从本地文件加载 Web SQL DB?

转载 作者:行者123 更新时间:2023-11-27 22:48:39 25 4
gpt4 key购买 nike

让我们以一个很棒的演示为例 here .

假设我作为“管理员”创建了 5 个便签。我的浏览器有一个 SQLite 数据库,其中包含这 5 个便签及其各自的位置和文本。然后,我将此数据库文件导出到托管该页面的本地服务器。假设另一台计算机上的“用户”加载了此页面,并且默认情况下看到了我的 5 个便签;如何让页面从本地文件加载 SQLite 数据库,例如/var/www/html/db_files/5-sticky-notes.db,以便最终用户可以与我的便签互动?

这是从他们的个人浏览器加载最终用户数据库的代码:

var db;

try {
if (window.openDatabase) {
db = openDatabase("5-sticky-notes", "1.0", "HTML5 Database API example", 200000);
if (!db)
alert("Failed to open the database on disk. This is probably because the version was bad or there is not enough space left in this domain's quota");
} else
alert("Couldn't open the database. Please try with a WebKit nightly with this feature enabled");
} catch(err) {

}

最佳答案

我想我找到了这个旧方法的答案:

DEMO Here

简短示例代码(网站提供):

$(function(){
var demoRunning = false;

$("#startTest").click(function(){
if(!demoRunning){
$(this).addClass("running");
$("#demoRunning").show();
$("#results").text("running...");
demoRunning = true;
try {
html5sql.openDatabase("demo", "Demo Database", 5*1024*1024);

$.get('demo-statements.sql',function(sql){ //Your server created sticky notes database file
var startTime = new Date();
html5sql.process(
sql,
function(){ //Success
var endTime = new Date();
$("#results").text("Table with 11000 entries created in: " +
((endTime - startTime) / 1000) + "s");
$("#startTest").removeClass("running");
$("#demoRunning").hide();
demoRunning = false;
},
function(error, failingQuery){ //Failure
$("#results").text("Error: " + error.message);
$("#startTest").removeClass("running");
$("#demoRunning").hide();
demoRunning = false;
}
);
});

} catch (error) {
$("#results").text("Error: " + error.message);
$("#startTest").removeClass("running");
$("#demoRunning").hide();
demoRunning = false;
}
}
})
});

附加信息

这仅适用于支持 webDB 标准的浏览器(桌面或移动设备)

关于javascript - HTML5 - 从本地文件加载 Web SQL DB?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5481667/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com