|
[开发工具]
api.confirm 异常报错
[复制链接]
api.confirm放在apiready里才不会报错的问题,这个怎么解决**.**form逻辑上是不能放在apiready里的,但即使你之前调用了apiready ,你不**.**firm写在apiready里面他就报错。
报错代码:<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport"
content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
<meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<link rel="stylesheet" type="text/css" href="../css/api.css" />
<link rel="stylesheet" type="text/css" href="../css/style.css" />
<link rel="stylesheet" type="text/css" href="../css/map.css" />
<link href="http://cdn**.**/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
<title>共享单车</title>
<!doctype html>
<style type="text/css">
#footer ul li:nth-child(1) {
background-image: url(../image/localion.png);
}
#footer ul li:nth-child(2) {
background-image: url(../image/scanner.png);
}
#footer ul li:nth-child(3) {
background-image: url(../image/loadmap.png);
}
.flex-con {
overflow: auto;
}
</style>
</head>
</head>
<body>
<div id="main" class="flex-con">
<div class="search bar1" style="margin-top: -255px;">
<form>
<input type="text" placeholder="搜索共享单车" list="s-bike" id="sbike" value="">
<button type="submit"></button>
</form>
<div>
<datalist id="s-bike">
<option>ofo小黄车</option>
<option>摩拜单车</option>
</datalist>
</div>
</div>
<div id="footer" class="border-t">
<ul class="flex-wrap" style="margin-top: 540px;" index="999">
<li tapmode="hover" onclick="navigation();" class="flex-con">定位导航</li>
<li tapmode="hover" onclick="openbike();" id="scanner" class="flex-con">扫码开车</li>
<li tapmode="hover" onclick="loadmap();" class="flex-con">离线地图</li>
</ul>
</div>
</div>
<script type="text/javascript" src="../script/api.js"></script>
<script type="text/javascript" src="../script/common.js"></script>
<script type="text/javascript" src="../script/map.js"></script>
<script type="text/javascript" src="../script/jquery-1.8.3.min.js"></script>
<script type="text/javascript" src="../script/jquery.cookie.js"></script>
<script>
apiready = function () {
var aMap = api.require('aMap');
aMap.updateMapViewPrivacy({
privacyAgree: 'didAgree',
privacyShow: 'didShow',
containStatus: 'didContain'
});
var aMap = api.require('aMap');
aMap.updateSearchPrivacy({
privacyAgree: 'didAgree',
privacyShow: 'didShow',
containStatus: 'didContain'
});
var aMap = api.require('aMap');
aMap.getLocation(function (ret, err) {
if (ret.status) {
var lon = JSON.stringify(ret.lon);
var lat = JSON.stringify(ret.lat);
var aMap = api.require('aMap');
aMap.open({
rect: {
x: 0,
y: 50,
w: 720,
h: 490
},
showUserLocation: true,
zoomLevel: 11,
center: {
lon: lon,
lat: lat
},
fixedOn: api.frameName,
fixed: false
}, function (ret, err) {
if (ret.status) {
} else {
alert(JSON.stringify(err));
}
});
} else {
alert(JSON.stringify(err));
}
});
// var aMap = api.require('aMap');
// aMap.show();
var aMap = api.require('aMap');
aMap.setMapAttr({
type: 'standard',
trafficOn: true,
zoomEnable: true,
scrollEnable: true,
building: true,
overlookEnabled: true,
rotateEnabled: true
});
var aMap = api.require('aMap');
aMap.setMapLanguage({
language: 'zh_cn'
});
}
function payalert() {
api.confirm({
msg: "已扫码成功,是否立即支付?",
buttons: ["立即支付", "先开锁,稍后支付"]
}, function (ret,) {
var index = ret.buttonIndex;
if (index == 1) {
document.getElementById('scanner').style.backgroundImage = 'url(../image/scanner.png)';
api.actionSheet({
title: '支付方式',
cancelTitle: '取消支付',
buttons: ['微信支付', '支付宝支付', '银联支付', '百度钱包支付']
}, function (ret, err) {
var a = ret.buttonIndex;
if (a == 5) {
alert("您取消了支付");
document.getElementById('scanner').style.backgroundImage = 'url(../image/scanner.png)';
var content = document.getElementById('footer').getElementsByTagName('li');
for (var i = 0; i < content.length; i++) {
if (i == 1) {
content[i].innerHTML = "扫码开车";
}
}
}
else if (a == 1) {
api.openFrame({
name: 'wxpay',
url: './wxpay.html'
})
} else if (a == 2) {
api.openFrame({
name: 'alipay',
url: './alipay.html'
})
} else if (a == 3) {
api.openFrame({
name: 'upacp',
url: './upacp.html'
})
} else if (a == 4) {
api.openFrame({
name: 'bdpay',
url: './bdpay.html'
})
}
});
} else {
api.closeFrame();
document.getElementById('scanner').style.backgroundImage = 'url(../image/unblock.png)';
var content = document.getElementById('footer').getElementsByTagName('li');
for (var i = 0; i < content.length; i++) {
if (i == 1) {
content[i].innerHTML = "已解锁";
}
}
}
})
}
var status = $.cookie("status");
$.removeCookie('status');
if (status) {
payalert();
}
var pay = $.cookie("pay");
if (pay) {
document.getElementById('scanner').style.backgroundImage = 'url(../image/unblock.png)';
var content = document.getElementById('footer').getElementsByTagName('li');
for (var i = 0; i < content.length; i++) {
if (i == 1) {
content[i].innerHTML = "已解锁";
}
}
} else {
document.getElementById('scanner').style.backgroundImage = 'url(../image/scanner.png)';
var content = document.getElementById('footer').getElementsByTagName('li');
for (var i = 0; i < content.length; i++) {
if (i == 1) {
content[i].innerHTML = "扫码开车";
}
}
}
function navigation() {
api.openWin({
name: 'navigation',
url: 'navigation.html',
opaque: true,
vScrollBarEnabled: false
});
}
function loadmap() {
api.openWin({
name: 'loadmap',
url: 'loadmap.html',
opaque: true,
vScrollBarEnabled: false
});
}
function openbike() {
api.openFrame({
name: 'openbike',
url: './openbike.html',
rect: {
x: 0,
y: 0,
w: api.winWidth,
h: api.winHeight
},
});
showalert();
}
function showalert() {
setTimeout(function () {
var status = $.cookie("status");
if (status) {
payalert();
}
}, 10000);
}
function back() {
api.historyBack({
}, function (ret, err) {
if (!ret.status) {
api.closeWin();
}
});
}
</script>
</body>
</html>
|
|