【问题标题】:jQuery getJSON method on older mobile web browsers旧版移动 Web 浏览器上的 jQuery getJSON 方法
【发布时间】:2026-02-08 05:40:01
【问题描述】:

我正在使用 jQuery 的 getJSON 方法在移动网站页面上显示内容。它在 Chrome、Android 2.2+ 和移动 Safari 的当前浏览器版本上运行良好,但在 Blackberry 版本 5 和 6、Windows mobile(移动 IE)7 和 Android(浏览器)2.1 上根本不显示。

有人可以帮忙吗?我在这里用我当前的功能设置了一个小提琴: http://jsfiddle.net/hyperdouche/krqNP/

编辑:只是想知道函数或使用 getJSON 方法中是否有这些旧浏览器无法理解的内容。

谢谢。

【问题讨论】:

    标签: javascript jquery mobile-website


    【解决方案1】:

    好吧,我假设您成功使用的版本中不存在带有冒号而不是“=”的第一行,因为除非它是您真实代码中对象文字的属性,否则它应该会在任何地方中断。

    "internetIndex: 函数() {"

    旧的移动 IE 基本上是 IE7,所以我不确定为什么 JQuery 会在那里出现问题。也许是平台特有的安全问题?

    黑莓以巨大的 PITA 闻名。你可能想在那里做一些研究。我知道 JQ Mobile 在刚推出时不会涉及黑莓或移动 IE 支持,但我认为这必须更多地处理媒体查询。

    crockford 的 JSON 对象规范器(JSON 对象在较新的浏览器中是标准的)有助于在更原始的环境中获得有关 ajax 请求的反馈。

    https://github.com/douglascrockford/JSON-js/blob/master/json2.js

    在您的代码中,您可以对数据执行 JSON.stringify,如果格式合理,您应该能够将其作为字符串吐出以进行调试。

    您可能还想尝试一个更基本的核心 JavaScript ajax 函数来验证它与框架无关。它们并不难写,而且有很多例子。

    【讨论】:

    • 感谢您的回答。冒号是对象字面量的一部分——但你给了我一个关于如何更好地隔离它的想法,我可能会把它拿出来并使用一个基本函数来看看我是否能以这种方式得到任何结果。谢谢