下面是我的代码。现在反正就是死活报这个错。跪求解决啊Compress error!{"code":2,"message":"open failed: EINVAL (Invalid argument)"}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1,user-scalable=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<link rel="stylesheet" href="../../css/aui.css" />
<!--标准mui.css-->
<link rel="stylesheet" href="../../css/mui.css">
</head>
<style type="text/css">
body {
background: #FFFFFF;
}
/*重新定义*/
.aui-list-view {
border-radius: 6px;
}
.aui-list-view:after {
border-top: 0;
}
.aui-list-view:before {
border-top: 0;
}
.aui-grid-sixteen li .aui-iconfont {
background: #ff9900;
color: #ffffff;
width: 38px;
height: 38px;
line-height: 38px;
border-radius: 50%;
font-size: 20px;
}
/*自定义*/
.icons {
margin-top: 15px;
}
.image img {
width: 100%
}
p {
font-size: 12px;
margin-bottom: 5px;
}
.content {
font-size: 12px;
}
.aui-iconfont {
color: #ffffff;
}
.slider {
margin-bottom: 0;
}
.slider img {
width: 100%;
height: 120px;
display: inherit;
}
.aui-grid-sixteen:after {
border: none;
}
.aui-grid-sixteen li:after {
border: none;
}
.aui-grid-sixteen li .aui-iconfont {
color: #ffffff;
width: 38px;
height: 38px;
line-height: 38px;
border-radius: 50%;
font-size: 20px;
}
p.goods-title {
font-size: 1em;
color: #333;
}
p.goods-info {
font-size: 12px;
color: #999;
}
.aui-line-x {
margin: 5px 0;
}
.aui-line-x:after {
border-color: #ddd;
}
.goods-price {
font-size: 0.875em;
}
.goods-price strong {
margin: 0 5px;
font-size: 16px;
}
</style>
<body>
<header class="mui-bar mui-bar-nav">
<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
<h1 class="mui-title" id="title">课本点读</h1>
</header>
<div class="mui-content">
<div id="myhead">
<div class="my-info">
<img src="../../images/4.jpg" width="100%" height="100px" id="myimg">
</div>
</div>
<p class="aui-padded-10" style="background-color: #607FA6">
课本点读
</p>
<ul class="aui-grid-sixteen">
<li class="aui-col-xs-4 aui-text-center" id="diandu">
<img src="../../images/clickread.png" width="50px" height="50px" />
<p>在线点读</p>
</li>
<li class="aui-col-xs-4 aui-text-center" id="download">
<img src="../../images/download.jpg" width="50px" height="50px" />
<p>下载课件</p>
</li>
</ul>
<p class="aui-padded-10" style="background-color: #607FA6">
本地课件
</p>
<div class="mui-scroll">
<ul id="detail" class="aui-list-view aui-grid-view">
<li class="aui-list-view-cell aui-img aui-col-xs-4" data-id="7">
<div style="position: relative;">
<div style="position: absolute;max-width:50px;">
</div>
<img src="../../images/chinese.jpg" width="80px" height="100px" />
</div>
<div class="aui-img-body" style="font: '微软雅黑';font-size: 12px;">英语五年级上(沪教版)</div>
</li>
</ul>
</div>
</div>
<script type="text/javascript" src="../../js/md5.js"></script>
<script src="../../js/mui.min.js"></script>
<script src="../../js/ajax.js"></script>
<script>
mui.init({
swipeBack: false
});
var db;
mui.plusReady(function() {
db = openDatabase('bookDB', '1.0', 'book DB', 2 * 1024 * 1024);
db.transaction(function(context) {
//如果不存在就创建表
context.executeSql('CREATE TABLE IF NOT EXISTS book (name,imgurl,id)');
//执行查询本地课本
context.executeSql('SELECT * FROM book', [], function(context, results) {
var len = results.rows.length;
var div = "";
for (var i = 0; i < len; i++) {
var name = results.rows.item(i).name;
var imgurl = results.rows.item(i).imgurl;
var id = results.rows.item(i).id;
div += "<li class='aui-list-view-cell aui-img aui-col-xs-4' data-id='" + id + "'><img class='aui-img-object' src='" + imgurl + "'><div class='aui-img-body'>" + name + "</div></li>";
}
});
});
//在线点读
document.getElementById("diandu").addEventListener('tap', function() {
mui.openWindow({
url: 'bookList.html',
id: 'bookList.html'
});
});
//课件下载
document.getElementById("download").addEventListener('tap', function() {
mui.openWindow({
url: 'bookDownload.html',
id: 'bookDownload.html'
});
});
});
mui('#detail').on('tap', 'li', function() {
var sd_path = plus.io.convertLocalFileSystemURL("_downloads/H556CDA0F_0325074000.apk");
var dataid = this.getAttribute("data-id");
mui.openWindow({
url: "dianduBook.html",
id: "dianduBook.html",
extras: {
dataid: dataid
}
});
});
function load_success(data) {
document.getElementById('detail').innerHTML = data;
}
//特殊:添加事件接收登录页面成功后发来的消息
window.addEventListener('download', function() {
var books = plus.storage.getItem("id");
var div = "<li class='aui-list-view-cell aui-img aui-col-xs-4' data-id='" + books + "'><img class='aui-img-object' src='../../images/grade2-1.png'><div class='aui-img-body'>英语五年级上(沪教版)</div></li>";
var d = document.getElementById("detail").innerHTML;
document.getElementById("detail").innerHTML = d + div;
var url = "http://120.25.87.223:8080/books/7.zip";
var dtask = plus.downloader.createDownload(url, {}, function(d, status) {
// 下载完成
if (status == 200) {
console.log("Download success: " + d.filename);
plus.zip.decompress(d.filename, "_download/books/",
function() {
alert("Decompress success!");
},
function(error) {
alert("Compress error!" + error);
});
db.transaction(function(context) {
context.executeSql('inert into book(id,name,imgurl) values("7","英语五年级上(沪教版)","grade2-1.png")');
});
} else {
alert("Download failed: " + status);
}
});
dtask.addEventListener("statechanged", onStateChanged, false);
dtask.start();
}, false);
function onStateChanged(task, status) {
switch (task.state) {
case 1: // 开始
console.log("开始下载...");
break;
case 2: // 已连接到服务器
console.log("链接到服务器...");
break;
case 3: // 已接收到数据
console.log(task.downloadedSize + "/" + task.totalSize);
break;
case 4: // 下载完成
console.log("下载完成!");
console.log(task.totalSize);
break;
}
}
</script>
</body>
</html>
peter_yu (作者)
我在hello h5也试过了。一样的啊。怎么办啊。比较急
2016-04-23 01:32