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

[App引擎] Uncaught ReferenceError: api is not defined

[复制链接]
发表于 2015-3-31 20:23:40
发现用api的网页不能在google浏览器中直接开打,

仅仅使用编译好的版本,在模拟器上这不算一个错误。
但是如何想把生成的页面在微信公众账号中完美呈现的话,就需要去掉这个错误。


Uncaught ReferenceError: api is not defined
这个错误的发生是用谷歌浏览器打开任何例子的index.html,
当遇到api这个变量时,就会报错,显示不出子页面。

哪位大神能解决这个问题?

    // 随意切换按钮
    function randomSwitchBtn(obj, name, index) {
        var $header = $api.dom('header');
        var $titleBar = $api.domAll($header, '.topbar');
        for (var i = 0; i < $titleBar.length; i++) {
            $api.removeCls($titleBar[i], 'activebar');
        }
        $api.addCls($api.byId(name), 'activebar');
        var $footer = $api.byId('footer');
        var $footerBar = $api.domAll($footer, 'li');
        for (var j = 0; j < $footerBar.length; j++) {
            $api.removeCls($footerBar[j], 'active');
        }
        $api.addCls(obj, 'active');

        console.log(api);    //<================这里会错
        api.setFrameGroupIndex({ //<=====下面这句也不会正确执行,这样就无法切换子页面了。
            name: 'group',
            index: index
        });

    }


   1.api 是我们平台扩展的一个对象,您在它的初始化完成前调用api相关的属性或方法,就会报这个错误.
   2.api 初始化的时间极端,但仍是需要时间的.
   3.api 初始化完成后,会自动调用 window.apiready 函数一次,所以您可以把您页面内自己的初始化
     代码放到此函数里.[代码]
0
帖子
0
勋章
78
Y币
技术支持-Altair 发表于 2015-4-1 11:11
1.api 是我们平台扩展的一个对象,您在它的初始化完成前调用api相关的属性或方法,就会报这个错误.
   2.a ...

能具体一点,或者给个代码看看吗,这个是系统的页面存在的问题
4
帖子
0
勋章
61
Y币
技术支持-Altair 发表于 2015-4-1 11:11
1.api 是我们平台扩展的一个对象,您在它的初始化完成前调用api相关的属性或方法,就会报这个错误.
   2.a ...

经过验证, 可行.
我遇到了相同的报错,  将代码放到window.apiready函数就OK了.
9
帖子
0
勋章
62
Y币
相同的问题啊
2
帖子
0
勋章
12
Y币
求代码   我也遇到了相同的问题
8
帖子
0
勋章
129
Y币
apiready = function(){
////放在这里面就行了。。。
api.addEventListener({
..........
});
////
}
3
帖子
0
勋章
8
Y币
官方赶紧修复这样的问题吧,这样的问题和这样的解决方案,真的很奇葩!!!!
5
帖子
0
勋章
3281
Y币
guosl 发表于 2017-3-23 11:47
官方赶紧修复这样的问题吧,这样的问题和这样的解决方案,真的很奇葩!!!! ...

官方的模块和接口都写在apiready里面,不要写错了
1
帖子
0
勋章
3
Y币
好贴!解决了问题
12下一页
您需要登录后才可以回帖 登录

本版积分规则