搜索

内容 ·详情

Discuz在安卓版微信不弹提示信息,帖子回复没反应!

2017-11-16 09:25| 发布者: TAO| 查看: 250| 评论: 0

摘要:最近,Inkey同学在利用Discuz部署手机版论坛时,遇到了一个非常奇葩的问题,就是在安卓手机微信里面,点击帖子页回复按钮不弹出任何提示信息:“比如,你的回复已经成功、内容为空,请填写标题或内容...”然后,根据 ...

最近,Inkey同学在利用Discuz部署手机版论坛时,遇到了一个非常奇葩的问题,就是在安卓手机微信里面,点击帖子页回复按钮不弹出任何提示信息:“比如,你的回复已经成功、内容为空,请填写标题或内容...”

然后,根据这个问题,Inkey同学做了很多测试,发现同一个页面在苹果手机微信里面是可以正常回复和弹出提示信息的!不信这个邪,Inkey同学再次使用安卓手机使用UC等浏览器打开同一个页面,发现提示信息和回复交互是可以正常使用的!

这时,Inkey同学已经测试了大半天了,当然文章中的写法是非常快的,其实Inkey同学已经在这段时间各种打开了Discuz的源码去排除问题,发现点击回复按钮后,Discuz是进行了一次ajax交互,加上只有在安卓版微信里面出现问题,Inkey同学根据以往的经验推测可能是编码问题!

接下来,不用说Inkey同学就各种找这个ajax输出内容的控制文件,很可惜木有找到,终于在模板中发现了一个header_ajax.htm的文件,终于找到正主了!

默认模板代码是这样子的,提示:Inkey同学安装的是GBK版本,预测UTF-8不会出现这个问题!

{eval 
ob_end_clean();
ob_start();
@header("Expires: -1");
@header("Cache-Control: no-store, private, post-check=0, pre-check=0, max-age=0", FALSE);
@header("Pragma: no-cache");
@header("Content-type: text/xml; charset=".CHARSET);
echo '<?xml version="1.0" encoding="'.CHARSET.'"?>'."\r\n";
}
<root><![CDATA[

修改后模板代码:

{eval 
ob_end_clean();
ob_start();
@header("Expires: -1");
@header("Cache-Control: no-store, private, post-check=0, pre-check=0, max-age=0", FALSE);
@header("Pragma: no-cache");
@header("Content-type: text/xml; charset=".CHARSET);
echo '<?xml version="1.0" encoding="UTF-8"?>'."\r\n";
}
<root><![CDATA[

成功解决问题,总结了一下很可能是安卓版本微信里面代码比较严禁,特别是对于JavaScript脚本中的ajax请求一般都需要转成UTF-8格式,而Discuz论坛GBK版本里面输出的却是GBK编码,导致了出现编码冲突!

热点 ·排行

  • 月排行
  • 周排行
  • 日排行

广告 ·推广

站点地图| 手机版| Archiver| ( 湘ICP备13009538号-1 )

Copyright  © 2016-2017 祁东人家 版权所有 All Rights Reserved

免责声明: 本网不承担任何由内容提供商提供的信息所引起的争议和法律责任。

返回顶部