常山赵子龙
常山赵子龙
  • 发布:2020-05-13 10:03
  • 更新:2020-06-01 15:56
  • 阅读:933

IOS集成阿里云滑块一直闪退

分类:HTML5+

产品分类: HTML5+

HBuilderX版本号: 2.6.16

手机系统: iOS

手机系统版本号: iOS 13.4

手机厂商: 模拟器

手机机型: IOS13.3模拟器

打包方式: 云端

示例代码:
<!DOCTYPE html>  
<html>  
    <head>  
        <meta charset="utf-8">  
        <title></title>  
    </head>  
    <body>  
        <input type='hidden' id='csessionid' name='csessionid' />  
        <input type='hidden' id='sig' name='sig' />  
        <input type='hidden' id='token' name='token' />  
        <input type='hidden' id='scene' name='scene' />  
        <div id="__nc" style="margin-left:auto;margin-right:auto;width:90%;height:100px;padding-top:30px;">  
            <div id="nc"></div>  
        </div>  
    </body>  
    <script type="text/javascript" charset="utf-8" src="https://g.alicdn.com/sd/nch5/index.js"></script>  
    <script>  
        var nc_scene = 'login_h5'; //场景,不可更改  
        var nc_token = ["nc_token ", (new Date()).getTime(), Math.random()].join(':');  
        var nc=NoCaptcha.init({  
            //声明滑动验证需要渲染的目标元素ID。  
            renderTo: '#nc',  
            //应用类型标识。它和使用场景标识(scene字段)一起决定了滑动验证的业务场景与后端对应使用的策略模型。您可以在人机验证控制台的配置管理页签找到对应的appkey字段值,请务必正确填写。  
            appkey: 'appkey',   
            //使用场景标识。它和应用类型标识(appkey字段)一起决定了滑动验证的业务场景与后端对应使用的策略模型。您可以在人机验证控制台的配置管理页签找到对应的scene值,请务必正确填写。  
            scene: nc_scene,  
            //滑动验证码的主键,请勿将该字段定义为固定值。确保每个用户每次打开页面时,其token值都是不同的。系统默认的格式为:”您的appkey”+”时间戳”+”随机数”。  
            token: nc_token,  
            //业务键字段,可为空。为便于线上问题的排查,建议您按照线上问题定位文档中推荐的方法配置该字段值。  
            //trans: {"key1": "code0"},  
            //通过Dom的ID属性自动填写trans业务键,可为空。建议您按照线上问题定位文档中推荐的方法配置该字段值。  
            elementID: [""],  
            //是否自定义配置底层采集组件。如无特殊场景,请使用默认值(0),即不自定义配置底层采集组件。  
            is_Opt: 0,  
            //语言,默认值为cn(中文)。HTML5应用类型默认支持简体中文、繁体中文、英文语言。  
            language: "cn",  
            //内部网络请求的超时时间。一般情况建议保持默认值(10000ms)。  
            timeout: 10000,  
            //允许服务器超时重复次数,默认5次。  
            retryTimes: 5,  
            //用于自定义滑动验证各项请求的接口地址。一般情况,请勿配置该参数。  
            apimap: {  
                // 'analyze': '//a.com/nocaptcha/analyze.jsonp',  
                // 'uab_Url': '//aeu.alicdn.com/js/uac/909.js',  
            },  
            //验证通过后,验证码组件是否自动隐藏,默认不隐藏(false)。  
            bannerHidden:false,  
            //是否默认不渲染,默认值false。当设置为true时,不自动渲染,需要自行调用show方法进行渲染。  
            initHidden:false,  
            //前端滑动验证通过时会触发该回调参数。您可以在该回调参数中将请求标识(token)、会话ID(sessionid)、签名串(sig)字段记录下来,随业务请求一同发送至您的服务端调用验签。  
            callback: function (data) {  
               /* window.console && console.log(nc_token)  
                window.console && console.log(data.csessionid)  
                window.console && console.log(data.sig)*/  

                document.getElementById('csessionid').value = data.csessionid;  
                document.getElementById('sig').value = data.sig;  
                document.getElementById('token').value = nc_token;  
                document.getElementById('scene').value = nc_scene;  

                console.log(document.getElementById('csessionid').value);  
                console.log(document.getElementById('sig').value);  
                console.log(document.getElementById('token').value);  
                console.log(document.getElementById('scene').value);  
            },  
            error: function (s) {  
            }  
        });  
        NoCaptcha.setEnabled(true);  
        //请务必在此处调用一次reset()方法。  
        nc.reset();   
        //用于配置滑动验证的自定义文案。详细信息,请参见自定义文案与多语言文档。  
        NoCaptcha.upLang('cn', {  
                //加载状态提示。  
                'LOADING':"加载中...",   
                //等待滑动状态提示。  
                'SLIDER_LABEL': "请向右滑动验证",   
                //验证通过状态提示。  
                'CHECK_Y':"验证通过",   
                //验证失败触发拦截状态提示。  
                'ERROR_TITLE':"非常抱歉,这出错了..."   
            });  
    </script>  
</html>

操作步骤:

新建html页面,粘贴代码,ios启动模拟器ios13.3会闪退。

预期结果:

不闪退

实际结果:

闪退

bug描述:

IOS集成阿里云滑块一直闪退,之前使用HbuilderX没事,HbuilderX更新到最新版本。也看不出报的什么错,就闪退了,系统是模拟器IOS13.3,还请大佬给看下。使用的是UIWebview,WKWebview是没事的。另外只是在模拟器上闪退,真机调试时没问题的,不知道是咋回事。

2020-05-13 10:03 负责人:无 分享
已邀请:
CLP

CLP

友情提示:UIWebview以后不能用了,苹果不让用了;WKWebview没事就行,UIWebview可以不用管

该问题目前已经被锁定, 无法添加新回复