帖子
帖子
用户
博客
课程
显示全部楼层
8
帖子
0
勋章
740
Y币

[多端开发] 首次安装后启动app后,api对象调用不到

[复制链接]
发表于 2024-4-22 09:07:17
首次安装后启动app后,api对象调用不到,删掉app后,再次打开就可以调用到api对象的方法.请问是什么原因.
现在出现的bug.用户安装进入app,显示启动页效果,然后就卡住进不去了
  1. apiready = function () {
  2.       alert(9999)
  3.       var appcount = 0
  4.       var appTimer = setInterval(function () {
  5.           if (api) {
  6.               initApp()
  7.               clearInterval(appTimer)
  8.           } else {
  9.               if (appcount >= 10) {
  10.                 alert('启动失败');
  11.                 appcount = 0;
  12.                 clearInterval(appTimer);
  13.               }
  14.           }
  15.           appcount++
  16.       }, 1000)
  17.     };
复制代码



建议检查一下程序代码,应该是代码问题,如果不行,应该都不行,有规律的行,一般都是代码逻辑导致的,建议先自行排查一下。
8
帖子
0
勋章
740
Y币
本帖最后由 138美容人才网 于 2024-4-22 10:24 编辑
chyd④④⑤⑤②⑦⑧⑤② · 2024-4-22 09:16建议检查一下程序代码,应该是代码问题,如果不行,应该都不行,有规律的行,一般都是代码逻辑导致的,建议先自行排查一下。

已经排除过代码.首次进入app 第一次调用api的方法就报错
是不是首次加载api sdk没有加载完成,导致?
8
帖子
0
勋章
740
Y币
138美容人才网 · 2024-4-22 10:21已经排除过代码.首次进入app 第一次调用api的方法就报错
是不是首次加载api sdk没有加载完成,导致?

目前只有ios 版本会出现这种情况,能帮忙看一下什么原因吗?
0
帖子
2
勋章
1079
Y币
138美容人才网 · 2024-4-22 10:45目前只有ios 版本会出现这种情况,能帮忙看一下什么原因吗?

应该还是你代码那里存在问题,你不知道引擎的运营原理,所以才有这个怀疑。

apiready函数,只有引擎的api对象在浏览器里初始化完毕后,才会由引擎去调用执行,不然为什么名称叫做「apiready」

不知道你自己怎么排除过代码,确定你自己的代码没问题的,你可以使用我下面的方法去替换你自己定义的apiready函数,然后测试一下

  1. apiready = function () {
  2.   if (window.api) {
  3.     api.alert({
  4.       title: '测试提示',
  5.       msg: '当前API对象存在'
  6.     }, function (ret, err) {
  7.       
  8.     });
  9.   } else {
  10.     alert('API对象不存在');
  11.   }
  12. }
复制代码


138美容人才网 · 2024-4-22 10:45目前只有ios 版本会出现这种情况,能帮忙看一下什么原因吗?

你有iOS有这个问题,大概率是你们代码里面有针对iOS的控制,建议自行排查一下。
8
帖子
0
勋章
740
Y币
至高吾·尚 · 2024-4-22 11:24应该还是你代码那里存在问题,你不知道引擎的运营原理,所以才有这个怀疑。

apiready函数,只有引擎的api对象在浏览器里初始化完毕后,才会由引擎去调用执行,不然为什么名称叫做「apiready」

已经找到原因.非常感谢,是代码中有一个引用js引起的.
您需要登录后才可以回帖 登录

本版积分规则