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

[BUG] historyBack退上一页无效,求解

[复制链接]
发表于 2015-3-17 13:03:18
如题:historyBack这个返回上一页功能好像使用没有效果, 我想做的是首页一个网址导航,用户通过导航打开到其他网站,同时打开外部网站时,能返回上一页,  我也跟官方技术反应这个这个问题,官方说是个bug正在修复,已经好几天了,我测试还是不行,请官方尽快处理啊,有其他方法实现的话,请给个方案哈

或许 可以试一下 api.closeWin
4
帖子
0
勋章
18
Y币
技术支持-Altair 发表于 2015-3-17 21:32
或许 可以试一下 api.closeWin

打开内部网页你这个方法还行,但是调用的外部网站这个方法实现不了就
123
帖子
0
勋章
1275
Y币
我可以理解为你想在openframe中打开一个外部网站,点击网站后进入子链接,然后需要从子链接返回网站首页是吗?这样的话用html原生js自带的历史返回就可以,你完全将frame当成一个浏览器插件,api无法管理你打开的外部网站及其子链接,进行控制,因为你并不是一个页面一个win。或者你的问题是返回到app的首页,那么alter的方法就可以,同时还有closeToWin()参考使用
  1.     apiready = function(){
  2.         var main = $api.byId('main');
  3.         $api.fixIos7Bar(main);

  4.         api.openFrame({
  5.             name: 'main',
  6.             url: 'http://www.apicloud.com',
  7.             showProgress: true,
  8.             bounces: false,
  9.             opaque: true,
  10.             rect: {
  11.                 x: 0,
  12.                 y: 0,
  13.                 w: api.winWidth,
  14.                 h: api.winHeight
  15.             }
  16.         });

  17.         api.addEventListener({
  18.             name: 'keyback'
  19.         }, function(ret, err){
  20.             var js = 'api.historyBack(function(ret, err){if(!ret.status){api.closeWidget();}});';
  21.             api.execScript({
  22.                 frameName: 'main',
  23.                 script: js
  24.             });
  25.         });
  26.             
  27.     };
复制代码

算了,直接上代码!
4
帖子
0
勋章
18
Y币
yanxlg 发表于 2015-3-18 09:18
我可以理解为你想在openframe中打开一个外部网站,点击网站后进入子链接,然后需要从子链接返回网站首页是 ...

是返回上一页  不是返回首页
4
帖子
0
勋章
18
Y币

哈哈 ,这样直接, 你这是监听返回键吧,这个我知道, 如果在html中加个  按钮呢, 点击按钮返回上一页,怎么操作
向天笑 发表于 2015-3-19 13:46
哈哈 ,这样直接, 你这是监听返回键吧,这个我知道, 如果在html中加个  按钮呢, 点击按钮返回上一页, ...
  1. function history(ret, err){
  2.             var js = 'api.historyBack(function(ret, err){if(!ret.status){api.closeWidget();}});';
  3.             api.execScript({
  4.                 frameName: 'main',
  5.                 script: js
  6.             });
  7.         }
复制代码
4
帖子
0
勋章
18
Y币
18
帖子
0
勋章
69
Y币
我看到这还有种方法,和技术支持发的有区别吗?那种更好?

api.execScript({///在指定页面中执行srcipt中脚本
name:'win2',    ///打开外部网页的Win名
frameName:api.pageParam.mFrameName,  ///呈现外部网页的frame名
script:'api.historyBack(function(ret, err) {if (ret.status) {} else {api.closeWin();}});'
});///要执行的脚本字符串
12下一页
您需要登录后才可以回帖 登录

本版积分规则