Cocos2d-js Android手机上微信内置浏览器黑屏解决方法
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手机上微信内置浏览器黑屏解决方法相关推荐
- pc端微信内置浏览器不支持replaceAll方法
问题背景:模块功能已经开发完成上线,做了移动端的适配后,需要微信内置浏览器打开,问题就在这里,谷歌打开是正常的,微信无法正常打开. (注:这是开发踩坑的记录,解决问题方案可直接跳到 2 - 3)查看即 ...
- 安卓手机 清理微信内置浏览器里面的网页缓存方法
今天用手机访问电脑上的网页时,修改了div的颜色后电脑的页面刷新了,但是手机访问还是之前的样子,想到了应该是手机缓存的问题呢,所以百度了一下清理缓存的方式,在此记录一下. 在聊天记录中输入 debug ...
- h5 禁止微信内置浏览器调整字体大小方法
ios 通过重写样式控制 body { -webkit-text-size-adjust:100%!important; } android 通过重写事件控制 (function() {if (typ ...
- 微信内置浏览器无法使用input图片上传和lrz.bundle.js图片压缩插件
标题 微信内置浏览器无法使用input图片上传和lrz.bundle.js图片压缩插件 图片上传功能作为一个比较常见的功能,有时候需要在微信内置浏览器里打开,但是有些型号的手机会出现打不开的现象,点击 ...
- 微信内置浏览器js选择默认浏览器,微信内自动访问手机浏览器的解决方案
微信内置浏览器js选择默认浏览器,微信内自动访问手机浏览器的解决方案 参考文章: (1)微信内置浏览器js选择默认浏览器,微信内自动访问手机浏览器的解决方案 (2)https://www.cnblog ...
- 微信android返回上一页位置,解决微信内置浏览器返回上一页强制刷新问题方法...
微信内置浏览器在返回上一页面,且上一页面包含AJAX代码时,页面就会被强制刷新,极度影响用户体验.而我们想要的效果是:返回上一页面时,页面还停留在原来的状态,AJAX获取到的数据还在,滚动条也在原来的 ...
- Android手机微信内置浏览器缓存怎么清理?
有很多时候我们的网站需要在微信上打开进行测试,一次次的修改不像是浏览器一样可以随时清理缓存,不清理缓存的话这样会对测试运行结果有影响,那如何清理缓存呢? 注意:此功能只能适用于安卓微信 1.专门的清理 ...
- 微信调试--微信内置浏览器为什么对pharser.js支持这么差???
微信内置浏览器对于html5的支持如何? 是否可以等同于webkit内核的浏览器?CSS3动画的支持程度怎么样? 添加评论 分享 按投票排序按时间排序 31 个回答 28赞同 反对,不会显示你的姓名 ...
- 实现base64格式的amr音频文件在IOS、android微信内置浏览器的播放
参考文档: 1.https://github.com/yxl/opencore-amr-js (将amr文件转为wav格式的编解码项目) 因为项目需要,要将amr的base46格式的音频文件在IO ...
最新文章
- 机器学习让3D设计速度提升7倍!Adobe最新Substance 3D小白也能入门
- need study
- CNN中的卷积操作的参数数计算
- silverlight mediaElement 动态添加source
- html文档定义层标记是,jsp练习题目201312
- 怎样对流媒体进行压力测试_四合一气体检测仪怎样进行气体测试?
- neo4j values
- 解决启动WebLogic输入用户名密码问题以及密码重置
- [NLP]自然语言的处理步骤
- LightOJ 1319 Monkey Tradition(中国剩余定理)
- Java中做比较介绍
- mysql查询数据库修改记录_11. 查询数据库各种历史记录
- 关于编译android程序,期待模拟器,中文路径的问题【转载】
- 简单使用触发器(详细) SQL触发器的使用及语法
- F12解决网页不能复制
- 星际争霸2神族全兵种介绍
- 技术书是怎么写出来的
- OpenCV--直线拟合fitLine及求两直线对称轴
- Win2003 IIS6.0性能优化指南
- Verilog 总结
热门文章
- 镉系量子点 CdSe/ZnS QDs,硒化镉/硫化锌量子点(油溶性)
- Oracle数据库常用基本SQL语法
- 直通车做投产、直通车拉搜索,这2种思路适合哪类人群,以及这2种思路开直通车的技巧
- 2023电商运营关于淘宝猜你喜欢玩法
- 前端js错误监控onerror的总结
- python中日期转字符串/字符串转日期
- 2020二级c语言成绩查询入口,2020年全国计算机等级考试一本通 二级C语言
- gm220s路由器怎么设置_迷你路由器怎么设置
- 进程与线程之间的区别及联系
- SDUT OJ 数据结构实验之图论五:从起始点到目标点的最短步数(BFS)