当前位置: 首页 > 工具软件 > openFrame > 使用案例 >

只使用了一个openFrame打开页面使用返回键 伪解决办法

田焕
2023-12-01

在index.html入口文件加上监听返回按钮

api.historyBack({
            frameName: 'index' // 打开的openFrame
        }, function(ret, err) {
            if (!ret.status) {
                api.closeWin();
            }
        });

入口文件例子

<!doctype html>
<html>

<head>
    <meta charset="utf-8">
    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,initial-scale=1.0,width=device-width" />
    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
    <title>主页</title>
    <link rel="stylesheet" type="text/css" href="./css/api.css" />
</head>

<body class="wrap">
    <!-- <header>APICloud</header> -->
    <section class="flex-1">

    </section>
    <!-- <footer>Copyright &copy;<span id="year"></span></footer> -->
</body>
<script type="text/javascript" src="./script/api.js"></script>
<script type="text/javascript">
    apiready = function() {
        window.localStorage.setItem("apiUrl", "http://m.luhong421.com");
        var header = $api.dom('header'); // 获取 header 标签元素
        var footer = $api.dom('footer'); // 获取 footer 标签元素

        // 1.修复开启沉浸式效果带来的顶部Header与手机状态栏重合的问题,最新api.js方法已支持适配iPhoneX;
        // 2.默认已开启了沉浸式效果 config.xml中 <preference name="statusBarAppearance" value="true"/>
        // 3.沉浸式效果适配支持iOS7+,Android4.4+以上版本
        var headerH = $api.fixStatusBar(header)+20;
        // 最新api.js为了适配iPhoneX增加的方法,修复底部Footer部分与iPhoneX的底部虚拟横条键重叠的问题;
        var footerH = $api.fixTabBar(footer);
        api.addEventListener({
            name: 'keyback'
          }, function(ret, err) {
        //     api.closeFrame({
        //       name: 'index'
        //     });
        api.historyBack({
            frameName: 'index'
        }, function(ret, err) {
            if (!ret.status) {
                api.closeWin();
            }
        });
          });
        api.openFrame({
            name: 'index',
            url: 'html/mobile/index/index.html',
            // url: 'html/mobile/pay/pay_type.html',
            bounces: false,
            scrollEnabled: false,
            rect: { // 推荐使用Margin布局,用于适配屏幕的动态变化
                marginTop: headerH, // main页面距离win顶部的高度
                marginBottom: footerH, // main页面距离win底部的高度
                w: 'auto' // main页面的宽度 自适应屏幕宽度
            }
        });

        var ver = api.version;
        var sType = api.systemType;
        var sVer = api.systemVersion;
        var id = api.deviceId;
        var model = api.deviceModel;
        var name = api.deviceName;
        var cType = api.connectionType;
        var winName = api.winName;
        var winWidth = api.winWidth;
        var winHeight = api.winHeight;
        var frameName = api.frameName || '';
        var frameWidth = api.frameWidth || '';
        var frameHeight = api.frameHeight || '';

        var str = '<ul>';
        str += '<li>引擎版本信息: ' + ver + '</li>';
        str += '<li>系统类型: ' + sType + '</li>';
        str += '<li>系统版本: ' + sVer + '</li>';
        str += '<li>设备标识: ' + id + '</li>';
        str += '<li>设备型号: ' + model + '</li>';
        str += '<li>设备名称: ' + name + '</li>';
        str += '<li>网络状态: ' + cType + '</li>';
        str += '<li>主窗口名字: ' + winName + '</li>';
        str += '<li>主窗口宽度: ' + winWidth + '</li>';
        str += '<li>主窗口高度: ' + winHeight + '</li>';
        str += '<li>子窗口名字: ' + frameName + '</li>';
        str += '<li>子窗口宽度: ' + frameWidth + '</li>';
        str += '<li>子窗口高度: ' + frameHeight + '</li>';
        str += '</ul>';
    };
</script>

</html>
 类似资料: