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

[插件开发] api.historyBack一直返回false.

[复制链接]
发表于 2017-1-5 16:24:53
//index.html
function onSearch(){
    api.openWin({
            name: 'search',
            url: './ktsearch.html',
            allowEdit:true
    });
}


//ktsearch.html
<!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"/>
    <link rel="stylesheet" type="text/css" href="../css/common.css">
    <link rel="stylesheet" type="text/css" href="../css/ads.css">
    <link rel="stylesheet" type="text/css" href="../css/api.css"/>

    <script type="text/javascript" src="../script/jquery-2.1.4.min.js"></script>
    <script type="text/javascript" src="../script/api.js"></script>
    <script type="text/javascript" src="../script/ktutility.js"></script>
</head>
<body>

<header class="ad-header" id="header" style="overflow:hidden;height:4.1em;line-height:2.2em;">
        <div tapmode="tapover-opacity" class="back"><img src="../images/back.png"></div>
        <div id='title'>热门搜索</div>
        <div tapmode="tapover-opacity" class="head_alter save" id="action" style="display:none;">编辑</div>
        <div class="progressbar"></div>
</header>

<script type="text/javascript">

    var searchHome = "http://weixin**.**/";
    var bugFixPageUrl = "http://mp.weixin**.**/s";
    var currentPage={title:'', url:'', urlLocked:false, complete:true};

    apiready = function(){
        var winHeaderHeight = initWinHeader();
        api.openFrame({
            name: getFrameName(),
            url: searchHome,
            allowEdit:true, //*FIXME: WHY
            rect: {
                x: 0,
                y: winHeaderHeight,
                w: 'auto',
                h: 'auto'
            },
        });

        api.setFrameClient({
            frameName:getFrameName()
        }, function(ret,err){
            loadPage(ret);
        });
    }

    function loadPage(pageInfo) {

        alert(JSON.stringify(pageInfo));

        switch(pageInfo.state){
        case 0://starting a new page(newly loading or back loading)
            if **.**plete){
                currentPage.title = '';
                currentPage.url = (pageInfo.url ? pageInfo.url : '');
                currentPage.urlLocked = false;
               **.**plete = false;
            }else{

            }
            break;

        case 1:              
            $(".progressbar").css({"width":pageInfo.progress+'%'});
            break;

        case 2://complete with url      
            if(!currentPage.urlLocked && pageInfo.url != bugFixPageUrl){               
                currentPage.url = pageInfo.url;
            }
           **.**plete = true;
            break;

        case 3://title
            currentPage.title = pageInfo.title;
            break;

        case 4://url changed, finalize url
            currentPage.url = pageInfo.url;               
            currentPage.urlLocked = true;
            break;  
        }

        if(!currentPage.url){//*FIXME: 有url再决定
            return;
        }

        if(currentPage.url){           
            if(currentPage.urlLocked ||**.**plete){           
                $(".progressbar").animate({"width":"100%"},700,function(){$(".progressbar").hide();});
                if(currentPage.url == searchHome){
                    $("#action").hide();
                }else{
                    $(".save").text('编辑').css({"opacity":1}).show();  
                }                 
            }
        }
    }

    function onEdit(){
         //empty
    }

    function onBack(){
        api.historyBack({
            framename: getFrameName()
        }, function(ret, err) {
            alert("back with:" + JSON.stringify(ret));

            if(ret.status) {
                // Empty
            }else {
                api.closeWin();
            }
        });
    }

    function getFrameName(){
        return api.winName + "_frame";
    }

5
帖子
0
勋章
3281
Y币
历史记录没法返回了,回到头了,当然返回为false.
6
帖子
0
勋章
30
Y币
从网页中的链接点击进入新的页面,然后点返回,也是返回false。正常的应该回到第一页:http://weixin**.**/
7
帖子
2
勋章
853
Y币
false说明不能再后退了
6
帖子
0
勋章
30
Y币
当进入一个页面的时候,historyback应该返回的是true,回到第一级页面。再次back,应该才是返回false,表示已经不能退了。

现在的问题是,无论进入几页,historyback都是返回false。
4
帖子
0
勋章
5
Y币
xunil 发表于 2017-1-5 17:02
当进入一个页面的时候,historyback应该返回的是true,回到第一级页面。再次back,应该才是返回false,表示 ...

我现在也是这个问题困扰,请问你解决了吗?若解决了,请问是怎么解决的?
0
帖子
0
勋章
246
Y币
pingguo 发表于 2017-4-25 15:17
我现在也是这个问题困扰,请问你解决了吗?若解决了,请问是怎么解决的?

返回false是不能再返回了,openFrame一个页面后,再由这个页面的标签打开的其他页面,这些页面下才能返回上一页面
23
帖子
0
勋章
148
Y币
技术支持-L 发表于 2017-4-25 15:26
返回false是不能再返回了,openFrame一个页面后,再由这个页面的标签打开的其他页面,这些页面下才能返回 ...

如果是在一个window页面进入到一个Frame页面,这个页面是第三方的一个页面,然后在这个页面再次进行操作跳转,现在想要使这个第三方的页面在回退的时候能实现逐级回退有办法吗?另外使用了historyback后在window页面打开frame页面的时候就返回false了,这是怎么回事?是写的位置不对吗?
1
帖子
0
勋章
3993
Y币
xy321 发表于 2017-9-25 15:30
如果是在一个window页面进入到一个Frame页面,这个页面是第三方的一个页面,然后在这个页面再次进行操作 ...

返回false就表明不能返回了,这时可以调用api.closeFrame关闭页面
您需要登录后才可以回帖 登录

本版积分规则