这可能吗?
在任何页面加载之前,我可以运行 JavaScript 代码来检查数据库中的值是什么,然后打开相关页面吗?
到目前为止,这是我的代码:
function onDeviceReady() //Phone gap is ready
{
try
{
db = openDatabase('cuopioid', '1.0', 'cupioids application database',
2 * 1024 * 1024);
} catch (e)
{
// Error handling code goes here.
if (e == INVALID_STATE_ERR)
{
// Version number mismatch.
alert("Invalid database version.");
}
else
{
alert("Unknown error " + e + ".");
}
}
console.log("DATABASE Created!");
db.transaction(createTableTerms, errCB, console.log("MEDICINES Table Created!"));
$('#btnaccept').on('click', acceptTerms);
}
下面的代码创建数据库(如果它不存在)
function createTableTerms(tx)
{
tx.executeSql('CREATE TABLE IF NOT EXISTS TERMS (id unique, status boolean)');
tx.executeSql('INSERT INTO TERMS (id, status) VALUES (0, 0)');
console.log("TERMS Table Created!");
}
我已经创建了这个函数,如果它设置为 true,则从数据库中选择行,然后如果结果有 1 条记录,我希望它打开菜单页面,如果它没有结果,则意味着条款和条件还没有之前接受:
function checkTerms(tx)
{
db.transaction(function(tx)
{
tx.executeSql('SELECT * FROM TERMS WHERE status=1', [],console.log("check terms"), errCB);
});
var len = results.rows.length;
if (len = 1)
{
console.log("accepted previously - menu page");
}
else
{
console.log("termsandconditions page");
}
}
我不知道把这个 checkTerms(tx) 函数放在哪里