我正在为Android设备创建一个基本应用程序。我正在使用普通的Jade,JavaScript和PouchDB数据库。当我在模拟器上部署应用程序时,像HTC,Tablet这样的Android设备工作正常,但对于三星设备(Android v.4.1.3,4.2.2),它无法正常工作。
我的翡翠代码是
head
script(src='../javascripts/pouchdb-nightly.min.js').
script(type="text/javascript").
var db = new PouchDB('pouchexample');
function addBook(){
var booktitle= window.document.bookform.titlefield.value;
var authorfield= window.document.bookform.authorfield.value;
var isbnfield= window.document.bookform.isbnfield.value;
var book = {
_id : isbnfield,
title : booktitle,
author : authorfield
};
db.put(book,function(err,res){
if(!err){
clearField();
document.getElementById("message").innerHTML =
"new boook added";
}
});
}
function clearField() {
window.document.bookform.titlefield.value="";
window.document.bookform.authorfield.value="";
window.document.bookform.isbnfield.value="";
}
function showBooks(){
db.allDocs({include_docs:true, descending:true}, function(err, doc){
showTableOfBooks(doc.rows);
});
}
function showTableOfBooks(data){
var div = document.getElementById("message");
var str = "<table border='1' align='left'><tr><th>isbn</th><th>title</th><th>author</th></tr>";
for(var i=0; i<data.length;i++){
str +="<tr><td>"+data[i].doc._id+"</td><td>"+data[i].doc.title+"</td><td>"+data[i].doc.author+"</td></tr>"
}
str+="</table> ";
div.innerHTML = str;
}
body
form(name='bookform')
| book title
input(type='text', name='titlefield')
br
| book author
input(type='text', name='authorfield')
br
| book isbn
input(type='text', name='isbnfield')
br
input(type='button', value='add book', onclick='addBook()')
br
input(type='button', value='clear fields', onclick='clearFields()')
br
input(type='button', value='show book', onclick='showBooks()')
#message
我从http://download.pouchdb.com/pouchdb-nightly.min.js
下载了“pouchdb-nightly.min.js”请告诉我这个问题的适当解决方案。
...谢谢
答案 0 :(得分:1)
有an issue with个特定的android设备有一个不完整的indexedDB版本,这已在master中修复,所以如果你根据master分支构建一个pouchdb的副本,你应该没问题。
答案 1 :(得分:0)
我有一个类似的问题,解决 *它强迫pouchdb使用websql。
var db = new PouchDB('websql://pouchexample');
答案 2 :(得分:0)
在Android上,起初PouchDb给出错误:当我用React Native运行它时,“找不到变量缓冲区”。修改pouchdb-binary-utils插件以使用新缓冲区(默认情况下,React-Native安装了安全缓冲区)解决了该问题。