gpt4 book ai didi

jquery - 为什么在 iOS 全屏模式下运行时,jquery ajax 无法在基于 Coldfusion/Apache 的 Web 应用程序中工作?

转载 作者:行者123 更新时间:2023-12-01 01:36:39 25 4
gpt4 key购买 nike

我的应用程序在前端运行 Jquery/Jquery Mobile/RequireJS ,在后端运行 Coldfusion8/MySQL 5.0.88/Apache

我正在使用

  <meta name="apple-mobile-web-app-capable" content="yes" />

在我的页面标题中,它允许在 iOS 上以全屏模式运行应用程序。

但是,这会破坏 Jquery Mobile 使用的 AJAX 导航从页面 A 更改到页面 B(页面通过 AJAX 调用拉入)。 AJAX 请求失败(错误加载页面短暂闪烁),并且要加载的页面正在加载新内容,从而重新启动我的应用程序。

我已经在前端寻找原因两天了,可以排除以下所有原因:

  • requireJS 缓存文件(使用缓存清除配置)
  • requireJS 一般情况(完全删除)
  • 离线设置(未使用 list 文件,添加 isLocal:true 以达到良好的效果)

我已经通过 Jquery Mobile(loadPage 函数失败)通过 Jquery.Ajax 追踪到在 Jquery 中发出 AJAX 请求的行:

  xhr.send( ( s.hasContent && s.data ) || null );

如果我在全屏模式下运行应用,此 xhr.send ajax 请求将返回 readystate=0readystate=200如果在任何桌面或移动浏览器上运行。

问题:
我很确定我可以排除前端的问题。我的问题是从哪里开始寻找服务器端。我没有使用任何 Coldfusion 代码来处理 AJAX 页面请求,因此我想知道从哪里开始查找或测试可能的原因。所以我的问题是:在全屏模式下失败的原因可能是什么?这是否一定与 Coldfusion 有关,还是我必须查看 apache?我可能缺少 httpconfig 中的某些设置吗?

谢谢指点?

最佳答案

这看起来完全是客户端的。 Apache 和 CF 甚至不会知道(或关心)应用程序是否在全屏模式下运行。

您可以尝试的一个测试是转储并记录在全屏模式下查看站点页面时发送的 http header ,也许它正在发送一些导致 Apache 无法运行的内容。我不知道它会是什么,但这就是我可以开始的地方。

关于jquery - 为什么在 iOS 全屏模式下运行时,jquery ajax 无法在基于 Coldfusion/Apache 的 Web 应用程序中工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12062872/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com