javascript - 在移动浏览器中测试 AJAX

标签 javascript jquery ajax mobile mobile-website

我正在构建一个移动Web应用程序,它可能依赖也可能不依赖ajax,具体取决于用户的浏览器是否支持javascript。由于我使用的是 JQuery,因此我想在启用 AJAX 功能之前确保移动浏览器通过 JQuery 支持 AJAX。

由于 Opera Mini 渲染页面的方式,我遇到了问题,而且我不知道如何检查它。这是我用来测试 AJAX 的代码:

$(document).ready(function () {
    $.get(
        'test.txt',
        function() {
            init_ajax();
        }
    );
});

其中 init_ajax() 启用我的 ajax 功能并禁用我的静态功能。

问题是,Opera Mini 在将页面输出到浏览器之前成功运行了这段代码,但是 ajax 实际上并没有在渲染的页面上工作。我尝试在 setTimeout 中而不是在 document.ready 中运行此函数,但遇到了同样的问题。

是否有一种通用方法可以准确测试移动浏览器中是否存在 AJAX?

附注如果您想在 Opera Mini 中测试您的解决方案,这里有一个功能齐全的模拟器:

http://www.opera.com/mini/demo/

[编辑] 我应该提到这个应用程序需要使用 setInterval 每分钟大约进行一次 ajax 调用,所以即使 Opera Mini 在 onclick 触发时确实支持一些 ajax,我不相信有任何方法使其支持以一定间隔进行的 ajax 调用。如果我们能够对此进行测试,则可能会解决上述问题。

最佳答案

Opera Mini 不会在 Operas 服务器上检索 Web 请求并渲染页面,然后将输出(以图像和文本的形式)传递到功能减少的目标吗?由于渲染发生在 Opera Mini 服务器场上,因此客户端和 Web 服务器之间没有真正的来回通信,因此您实际上无法执行 ajax。

您可能需要另一种方法来执行 Opera Mini 检查,查看“Opera Mini/1.2”的用户代理将是理想的选择。至于对移动浏览器进行检查,这取决于移动浏览器提供的功能范围。有时您只是无法检查,而必须按名称提取特定的移动浏览器。

更多信息请点击 Designing With Opera Mini in Mind .

关于javascript - 在移动浏览器中测试 AJAX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1663931/

相关文章:

javascript - 谷歌地图拖动ajax不工作

ajax - ASP.Net MVC : Can you use Data Annotations/Validation with an AJAX/jQuery call?

javascript - 与 Ajax 循环中的 onClick 不起作用

javascript - 搜索功能可从选择下拉列表中添加和删除选项

Jquery添加href而不是click事件

javascript - 初始化空表单中断页面; knockout

javascript - Echarts.js : How to create a custom chart type?

javascript - 使用 jquery 或 javascript 拆分具有不同分隔符的字符串

javascript - 在向前迭代之前等待调用函数完成

javascript - 设置区域设置不需要修改