jQuery Mobile页面 - 直接访问或由Ajax加载?

时间:2012-10-07 08:59:56

标签: jquery html5 jquery-mobile

有什么方法可以确定使用jQuery Mobile的页面是由Ajax由该框架加载,还是由其URL直接访问?

为了澄清我的问题和要求,我想根据页面的访问方式更改页面上的一些内容(即内部的几个元素)。目前我正在处理pageload事件,但是当我直接访问页面时似乎没有触发,即在地址栏中输入URL。我需要在代码中使用的东西来确定页面的访问方式。

我也试过了$('#pageId').on('pageinit', function(event){ blah });但是我似乎无法从事件对象中得到我的位置...除非我错过了什么。

更新:好的,解决方案是用所有样式装饰页面并包含“直接访问”条件的内容,当从另一个jQuery Mobile页面导航到我处理pageload事件并更改内容时和相应的风格。我仍然想知道是否有一种方法可以检测页面的访问方式。注意:我指的是“页面”,它是一个jQuery Mobile构造,而不是整个文档。

3 个答案:

答案 0 :(得分:1)

Ajax请求应将名为HTTP_X_REQUESTED_WITH的HTTP标头设置为XMLHttpRequest

答案 1 :(得分:0)

解决方案来自设备

  1. 禁用Javascript,加载页面,查看显示的内容。
  2. 离线,可重复使用Javascript,查看显示的内容。

答案 2 :(得分:0)

从计算机上使用带有firebug扩展的Firfox和Yslow。

使用firebug& YSlow的

  • 您将能够评估源代码的所有相关文件,并进行探索。
  • 在“网络”选项卡下,您可以查看是否有任何ajax查询,是否加载以及运行时源的内容是什么。

支持的平台: http://jquerymobile.com/demos/1.0a4.1/docs/about/platforms.html