帖子
帖子
用户
博客
课程
123下一页
返回列表 发新帖
显示全部楼层
4
帖子
0
勋章
18
Y币

[App引擎] apiready定义的函数有时候执行,有时候不执行

[复制链接]
发表于 2016-6-10 10:18:25
apiready定义的函数有时候执行,有时候不执行。打开页面relaod设置为true。是否执行很随机。不知道什么原因。
20
帖子
1
勋章
7581
Y币
apiready没有问题,你的代码随便帖了几行,各种逻辑判断省略了,谁知道你做了什么操作导致的?把你的app整个发出来。
44
帖子
0
勋章
1493
Y币
eason懿 发表于 2017-4-19 09:06
官方有没有判断apiready执行没执行的方法?

function isApiready() {
    return typeof api !== 'undefined';
}
if (isApiready()) {
    // apiready 已执行
} else {
    // apiready 未执行
}

8
帖子
0
勋章
92
Y币
我也是这个问题,自己写了个全局变量,页面内写了个函数监听apiready是否执行  没执行则刷新页面,不过这么写效率好低, 我也是魅族NOTE2,MX5,MX4,NOTE 3都有这个问题,其他手机型号(ios,android)均正常
setTimeout('outtime()',1000);
                        function outtime(){
                                if(ISREADY == 9999){

                                }else if(ISREADY == 9865){
                                        location.reload();
                                }
                        }
ISREADY 在apiready内定义apiready = function() {
                                ISREADY = 9999;}
这么写被逼无奈 唉
4
帖子
0
勋章
18
Y币
这样的代码。apiready有时候就不执行
直接代码:非常简洁的代码。以下代码在魅族note2下有概率无法显示。alert也不会执行。有时候十次又一次不显示。有时候3,4次就会又一次不显示。如果使用div + img则没有问题。。如果使用 div + ul + img也没有问题。但是使用 div + ui + li +img就有问题

<!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">
    <title>APP</title>
<script src="../mjs1/jquery-2.1.3.min.js"></script>
</head>
<body>

<a href="javascript:void(0)"><img src="../mimages/base_action_bar_back_norma.png"/></a>

    <div  id="listproduct002">
    <ul id='testxxx'>
    </ul>
    </div>


</body>
<script type="text/javascript" src="../script/api.js"></script>
<script type="text/javascript">

    apiready = function(){
                console.log("\n-------------------------------\n");
               
                var htmlstr = "<li><img src='../mimages/shopping.png' /></li>";
                htmlstr += "<li><img src='../mimages/shopping.png' /></li>";
                htmlstr += "<li><img src='../mimages/shopping.png' /></li>";
                htmlstr += "<li><img src='../mimages/shopping.png' /></li>";
                htmlstr += "<li><img src='../mimages/shopping.png' /></li>";
                htmlstr += "<li><img src='../mimages/shopping.png' /></li>";
                htmlstr += "<li><img src='../mimages/shopping.png' /></li>";
                htmlstr += "<li><img src='../mimages/shopping.png' /></li>";
                htmlstr += "<li><img src='../mimages/shopping.png' /></li>";
                htmlstr += "<li><img src='../mimages/shopping.png' /></li>";
                htmlstr += "<li><img src='../mimages/shopping.png' /></li>";
                htmlstr += "<li><img src='../mimages/shopping.png' /></li>";
                htmlstr += "<li><img src='../mimages/shopping.png' /></li>";
                htmlstr += "<li><img src='../mimages/shopping.png' /></li>";
                htmlstr += "<li><img src='../mimages/shopping.png' /></li>";
                htmlstr += "<li><img src='../mimages/shopping.png' /></li>";
                htmlstr += "<li><img src='../mimages/shopping.png' /></li>";
                htmlstr += "<li><img src='../mimages/shopping.png' /></li>";
                htmlstr += "<li><img src='../mimages/shopping.png' /></li>";
                htmlstr += "<li><img src='../mimages/shopping.png' /></li>";
               
                $('#testxxx').html(htmlstr);
    };



function openmenu()
{
api.openWin({
                    name: '111111111',
                    url: 'ProductByType.html',//点击按钮持续打开本页面测试
                    pageParam:null,
                    reload:true
                });
}
</script>
</html>



4
帖子
0
勋章
18
Y币
补充问题:在苹果上执行没有问题。在安卓上有问题(魅族 魅蓝note2)
4
帖子
0
勋章
18
Y币
经过我的测试。在有的安卓手机上正常工作。有的不正常。这是不是apicloud的bug。我用htc手机测试正常工作。
4
帖子
0
勋章
18
Y币
htc的安卓版本较老。魅蓝是5.0.是不是这个原因?apicloud的api.js是不是要手动升级到新版。还是svn会自动更新版本?
4
帖子
0
勋章
18
Y币
跟踪了一下。发现apiready调用的函数中,动态增加<img src.....>图片就有问题。如果li标签中含有height也有问题。这是什么问题。谁给解答一下。
0
帖子
0
勋章
1943
Y币
BaoBaoBao 发表于 2016-6-10 23:55
跟踪了一下。发现apiready调用的函数中,动态增加图片就有问题。如果li标签中含有height也有问题。这是什么 ...

可以把那些DOM 操作另封装一个接口看看
4
帖子
0
勋章
18
Y币
怎么封装?目前apiready函数的逻辑大概如下:ajax获取后台数据。拼装成html。然后用jquery 放到某个div上。完成。
发现如果有图片。或者ul 下有height等就有问题。总之问题症状奇怪。
其它手机都正常。在meizu note2上也是偶尔不显示。  一旦不显示,代码中间任何地方打上alert都没反应。即使第一行代码alert
20
帖子
1
勋章
7581
Y币
apiready会在整个网页及其所有内容加载完毕后触发,如果你的本地html页面中有直接通过元素加载了远程了远程的图片,css,js等资源,那么apiready也会在这些资源下载完毕后才会触发,如果当时网络不好,资源下载花费的时间较长,apiready就会等待较长时间后回调。
123下一页
您需要登录后才可以回帖 登录

本版积分规则