清泛IT社区App Inventor 2 中文社区

搜索

扫码访问移动社区 移动社区,您的掌上技术专家

关注我,精彩不错过! 关注我,精彩不错过!

扫码安装最新版AI伴侣 最新版AI伴侣v2.76

Aia StoreApp上架指南 .aia 源码一站式解决方案 发布日志AI2连接测试ai2Starter模拟器

AppInventor2离线版中文教育版接入DeepSeek VIP会员 享专有教程,免费赠送基础版*技术支持服务! AI2入门必读中文文档AI2拓展IoT专题

查看: 5|回复: 0
打印 上一主题 下一主题

近期 Chrome 下 Discuz 兼容问题修复记录:AJAX 提交失效与移动链接误跳转 ...

  • TA的每日心情
    开心
    4 小时前
  • 签到天数: 772 天

    [LV.10]以坛为家III

    1085

    主题

    1816

    帖子

    5万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    51729

    AI2中文网VIP弹球达人接水果达人撸猫达人

    跳转到指定楼层
    楼主
    发表于 2 小时前 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    最近排查并修复了 2 个和新版 Chrome 兼容性相关的问题,记录如下。

      一、AJAX 操作失效,表现为“加载中”一闪而过,没有后续动作
      现象:
      1. 登录、帖子分类、部分弹层提交等 AJAX 操作失效
      2. 浏览器控制台最初还伴随扩展注入报错,但关闭扩展后问题依旧存在
      3. 页面没有明确报错,但提交后没有结果

      原因:
      Discuz 旧版很多“ajaxpost”实际上是通过隐藏 iframe 提交表单,再从 iframe 返回文档中读取结果。
      这套老机制在新版 Chrome 下兼容性较差,主要包括:
      1. 旧代码依赖过时的返回读取方式,拿不到正确内容
      2. 隐藏 iframe 的空白 load 容易被误判为提交完成
      3. 原逻辑使用了 iframe.loading 作为自定义状态,和现代浏览器原生属性产生冲突
      4. inajax=1 的返回很多是 XML/CDATA 包裹内容,不能简单按 responseText 直接处理

      修复方式:
      1. 在现代浏览器下,_ajaxpost 优先改为 XMLHttpRequest + FormData 提交
      2. 保留旧 iframe 逻辑作为回退
      3. 对返回内容增加 XML/CDATA 解包处理
      4. 修正旧 iframe 空白 load 误判
      5. 去掉对 iframe.loading 的依赖,改用内部自定义状态

      结果:
      登录、帖子分类等 AJAX 表单提交已恢复正常。

      例如访问:
      forum.php?mod=viewthread&tid=2865&fromguid=hot&extra=&mobile=2

      不会正常回到对应的电脑版帖子地址,而是错误跳转到:
      misc.php?mod=mobile

      原因:
      Discuz 全局移动识别逻辑里,当请求带 mobile 参数但当前环境未识别为移动端时,旧代码直接统一跳转到 misc.php?mod=mobile。
      这个兜底对帖子页、版块页都不合理,因为它丢失了原始访问路径和参数。

      修复方式:
      调整全局移动识别入口逻辑:
      1. 当桌面环境访问 mobile=2/mobile=yes 等移动链接时
      2. 自动移除 mobile、simpletype、forcemobile 参数
      3. 回退到当前页面对应的普通版 URL
      4. 不再统一跳到 misc.php?mod=mobile

      结果:
      电脑端访问移动帖子链接时,会正确回到对应的电脑版帖子页,不再误跳转。

    App Inventor 2 中文网 - MIT同步更新的中文本土化平台!v2.76 支持Android 15 & iOS 更新日志
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    © 2026 tsingfun.com, Inc.  沪ICP备2020034476号-1  沪公网安备31011702000040号

    GMT+8, 2026-04-06 13:41 , Processed in 0.017905 second(s), 32 queries .