我对 PhoneGap InApp浏览器进行了需求分析。
我想知道关于InApp浏览器的两件事..
1:Can I call an Html file which located in my WWW folder using inApp Browser?
2:Can I create SQLite(WebSQL) and saving data from the Page which loaded in inApp browser?
(这里有一个位于WWW文件夹名称test.html中的页面及其在inApp浏览器中的加载。在这个html文件中我编写了用于创建WebsQL并将数据保存到数据库中。是否可能?)
请告诉我你的意见..
答案 0 :(得分:1)
1:是的,您可以在本地www文件夹中打开HTML文件。
window.open('local-url.html', '_blank');
请参阅this link
2:是的,有一种方法可以做到这一点,但不是通过正式的API。 TJ VanToll有一个full example可用,它使用超时来检查网页中的值,然后将其保存到localStorage。然后,您可以将其保存到WebSQL中。
<div data-role="view">
<div>
<h1>Welcome!</h1>
<button data-role="button" data-click="app.setName">Set Name</button>
</div>
</div>
<script>
window.app = {
load: function() {
navigator.splashscreen.hide();
new kendo.mobile.Application( document.body );
},
setName: function() {
var win = window.open( "http://jsfiddle.net/tj_vantoll/K2yqc/show", "_blank",
"EnableViewPortScale=yes" );
win.addEventListener( "loadstop", function() {
win.executeScript({ code: "localStorage.setItem( 'name', '' );" });
var loop = setInterval(function() {
win.executeScript(
{
code: "localStorage.getItem( 'name' )"
},
function( values ) {
var name = values[ 0 ];
if ( name ) {
clearInterval( loop );
win.close();
$( "h1" ).html( "Welcome " + name + "!" );
}
}
);
});
});
}
};
document.addEventListener( "deviceready", app.load );
</script>
在本地网页上,他包括:
$( "form" ).on( "submit", function() {
localStorage.setItem( "name", this.name.value );
});
答案 1 :(得分:1)
是的,您可以使用
调用本地页面 window.open('mypage.html', '_blank','location=no');
棘手的回答。是的,您可以从inAppBrowser中的该页面创建websql。怎么样!搜索phonegap / cordova文档。但是......在inAppBrowser中使用websql存在一个问题。问题解释here : inAppbrowser and webSql failure - cordova