1、在Cocos2d-js开发过程中 通常会遇到很多问题。本次解决在安卓手机上的微信内置浏览器黑屏问题。

2、微信的内置浏览器和其它专业的浏览器不同。微信内置浏览器用x5内核。在一些方面比其它专业的浏览器比较落后,所以经常会遇到

卡顿、跳帧、黑屏问题。

3、对于黑屏问题一般是前后端交互的时候发生的问题。比如前端是POST请求 那么后端收到也应该是POST请求。但是微信内置浏览器不一样。

它强制性 的转成了 OPTION类型。所以后端收到的就是错误的数据。而且抓包的时候也会看到前端发出的数据是 null  。所以就需要正确的在前后端进行

改进。

4、以下是主要代码。

function  Http(){
    var _succCallback = function(){};//回调函数
    var _errCallback = function(){}; //出现错误的回调函数
}

function createXMLHttpRequest() {
    var xmlHttp;
    if (window.XMLHttpRequest) {
        xmlHttp = new XMLHttpRequest();
        if (xmlHttp.overrideMimeType)
            xmlHttp.overrideMimeType('text/xml');
    } else if (window.ActiveXObject) {
        try {
            xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {
            }
        }
    }
    return xmlHttp;
}

Http.prototype.getJSON = function(url,data,callBack,errorCallBack ){
    if(typeof (callBack) == "function"){
        this._succCallback = callBack;
    }else{
        this._succCallback = function(){}
    }
    if(typeof (errorCallBack) == "function"){
        this._errorCallBack = errorCallBack;
    }
    var xmlHttp = createXMLHttpRequest();
    var datato2 = cc.loader._str2Uint8Array(data); //加密 [201,34,...]
    xmlHttp.open("POST", url+"?header=qqqq", true );//encodeURI(String(datato2)), true);
    xmlHttp.send(datato2); 
    Utils.showWaitting();
    
    var self = this;
    var callBack2 = callBack;
    var currentScene = cc.director.getRunningScene();
    xmlHttp.onreadystatechange = function(){ // ajax回调
        if (xmlHttp.status == 0) {
            Utils.showLowNet();
            self._succCallback("fail");
            return;
        }
        if(xmlHttp.readyState == 4){
            if( xmlHttp.status == 200 ){
                var strData = xmlHttp.response;
                if(strData.length>0){      //当内容为空时会有"[]"
                    self._succCallback(strData);
                }else{
                    cc.log("链接不畅,请检查网络");
                    return;
                }
            }else{
                //网络错误处理
                if(self._errorCallBack) {
                    cc.log("连接失败");
                }
            }
        }else{
            //网络错误处理
            if(self._errorCallBack) {
                cc.log("连接失败");
            }
        }
    }
}

Cocos2d-js Android手机上微信内置浏览器黑屏解决方法相关推荐

  1. pc端微信内置浏览器不支持replaceAll方法

    问题背景:模块功能已经开发完成上线,做了移动端的适配后,需要微信内置浏览器打开,问题就在这里,谷歌打开是正常的,微信无法正常打开. (注:这是开发踩坑的记录,解决问题方案可直接跳到 2 - 3)查看即 ...

  2. 安卓手机 清理微信内置浏览器里面的网页缓存方法

    今天用手机访问电脑上的网页时,修改了div的颜色后电脑的页面刷新了,但是手机访问还是之前的样子,想到了应该是手机缓存的问题呢,所以百度了一下清理缓存的方式,在此记录一下. 在聊天记录中输入 debug ...

  3. h5 禁止微信内置浏览器调整字体大小方法

    ios 通过重写样式控制 body { -webkit-text-size-adjust:100%!important; } android 通过重写事件控制 (function() {if (typ ...

  4. 微信内置浏览器无法使用input图片上传和lrz.bundle.js图片压缩插件

    标题 微信内置浏览器无法使用input图片上传和lrz.bundle.js图片压缩插件 图片上传功能作为一个比较常见的功能,有时候需要在微信内置浏览器里打开,但是有些型号的手机会出现打不开的现象,点击 ...

  5. 微信内置浏览器js选择默认浏览器,微信内自动访问手机浏览器的解决方案

    微信内置浏览器js选择默认浏览器,微信内自动访问手机浏览器的解决方案 参考文章: (1)微信内置浏览器js选择默认浏览器,微信内自动访问手机浏览器的解决方案 (2)https://www.cnblog ...

  6. 微信android返回上一页位置,解决微信内置浏览器返回上一页强制刷新问题方法...

    微信内置浏览器在返回上一页面,且上一页面包含AJAX代码时,页面就会被强制刷新,极度影响用户体验.而我们想要的效果是:返回上一页面时,页面还停留在原来的状态,AJAX获取到的数据还在,滚动条也在原来的 ...

  7. Android手机微信内置浏览器缓存怎么清理?

    有很多时候我们的网站需要在微信上打开进行测试,一次次的修改不像是浏览器一样可以随时清理缓存,不清理缓存的话这样会对测试运行结果有影响,那如何清理缓存呢? 注意:此功能只能适用于安卓微信 1.专门的清理 ...

  8. 微信调试--微信内置浏览器为什么对pharser.js支持这么差???

    微信内置浏览器对于html5的支持如何? 是否可以等同于webkit内核的浏览器?CSS3动画的支持程度怎么样? 添加评论 分享 按投票排序按时间排序 31 个回答 28赞同 反对,不会显示你的姓名 ...

  9. 实现base64格式的amr音频文件在IOS、android微信内置浏览器的播放

    参考文档: 1.https://github.com/yxl/opencore-amr-js   (将amr文件转为wav格式的编解码项目) 因为项目需要,要将amr的base46格式的音频文件在IO ...

最新文章

  1. 机器学习让3D设计速度提升7倍!Adobe最新Substance 3D小白也能入门
  2. need study
  3. CNN中的卷积操作的参数数计算
  4. silverlight mediaElement 动态添加source
  5. html文档定义层标记是,jsp练习题目201312
  6. 怎样对流媒体进行压力测试_四合一气体检测仪怎样进行气体测试?
  7. neo4j values
  8. 解决启动WebLogic输入用户名密码问题以及密码重置
  9. [NLP]自然语言的处理步骤
  10. LightOJ 1319 Monkey Tradition(中国剩余定理)
  11. Java中做比较介绍
  12. mysql查询数据库修改记录_11. 查询数据库各种历史记录
  13. 关于编译android程序,期待模拟器,中文路径的问题【转载】
  14. 简单使用触发器(详细) SQL触发器的使用及语法
  15. F12解决网页不能复制
  16. 星际争霸2神族全兵种介绍
  17. 技术书是怎么写出来的
  18. OpenCV--直线拟合fitLine及求两直线对称轴
  19. Win2003 IIS6.0性能优化指南
  20. Verilog 总结

热门文章

  1. 镉系量子点 CdSe/ZnS QDs,硒化镉/硫化锌量子点(油溶性)
  2. Oracle数据库常用基本SQL语法
  3. 直通车做投产、直通车拉搜索,这2种思路适合哪类人群,以及这2种思路开直通车的技巧
  4. 2023电商运营关于淘宝猜你喜欢玩法
  5. 前端js错误监控onerror的总结
  6. python中日期转字符串/字符串转日期
  7. 2020二级c语言成绩查询入口,2020年全国计算机等级考试一本通 二级C语言
  8. gm220s路由器怎么设置_迷你路由器怎么设置
  9. 进程与线程之间的区别及联系
  10. SDUT OJ 数据结构实验之图论五:从起始点到目标点的最短步数(BFS)