本帖最后由 民审-M 于 2017-10-19 16:12 编辑
今天有会员使用刷单插件和第三方模板遇到discuz手机版在微信里面操作登录和注册的时候会提示404错误或undefined的问题,当时以为是他手机模板的问题,今天无意看到有很多朋友也出现类似微信里面登录和注册提示undefined和404的问题,下面说下解决方法
因为测试默认手机版也是存在问题的,但第三方的一些手机模板是正常的,基本判断是默认手机模板JS的问题
故障现象:
注册或者登录按钮提交以后会出现404页面,出错页面的网址为xxx.com/undefined
网络出现问题,请稍后再试
不能快捷回复
不能删除附件图片,提示网络错误
……
一切跟DZ自带提交表单有关的ajax返回xml数据有关的错误
最近我的客户也遇到了这个问题,不得不研究一下,这里将最终的研究成果公布给需要的网友。
经过追踪注册、登录按钮的去路,调试错误信息以后,我们得到一个最终的结果,安卓版本最新的X5核心(或许今后的核心都会遇到这个问题)的内置浏览器不支持XML的GBK编码,所以UTF8的程序没问题,只有安卓版本的微信或者X5核心的浏览器会如此。
好了,话不多说,我知道你们需要结果而不是这个过程
解决方案看下面
既然有了方向,我们找到了XML编码控制的地方(其实这个位置也可能控制了部分正常页面的编码,会导致有些在模板里直接书写的中文字符乱码):
header_ajax.htm
这个文件有触屏版本和普通电脑版本,路径分别在
template\default\common\header_ajax.htm(电脑版本)
template\default\touch\common\header_ajax.htm(触屏版本)
编辑header_ajax.htm,查看第8行:
echo '<?xml version=\"1.0\" encoding=\"'.CHARSET.'\"?>'.\"\r\n\";
这里的编码使用了系统配置文件里的全局设置CHARSET,既然是GBK版本,全局设置就是默认GBK,我们只需要修改这里指定为UTF8即可
实际修改为如下即可
echo '<?xml version=\"1.0\" encoding=\"UTF-8\"?>'.\"\r\n\";
感谢 @翼哥 反馈分享!
本帖最后由 民审-M 于 2017-10-19 17:44 编辑
dz 解决 微信
dz 登录 注册 微信 404
dz undefined
dz 发帖 回帖 网络出错
dz 内置qq浏览器 404
以下是网友提供的解决方案
Discuz x3.2 GBK编码,微信内置浏览器才会出现这个问题,别的浏览器不会。
附件覆盖\static\js 后台更新缓存
mobile.rar
dz 解决 微信
dz 登录 注册 微信 404
dz undefined
dz 发帖 回帖 网络出错
dz 内置qq浏览器 404
以下是网友提供的解决方案
Discuz x3.2 GBK编码,微信内置浏览器才会出现这个问题,别的浏览器不会。
附件覆盖\static\js 后台更新缓存
mobile.rar