1

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

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

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

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

4

3 回答 3

1

Ajax 请求应该将 HTTP HeaderHTTP_X_REQUESTED_WITH设置为XMLHttpRequest.

于 2012-10-07T09:06:22.153 回答
0

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

带萤火虫和 yslow

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

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

于 2012-10-07T09:16:16.383 回答
0

解决方案 从设备

  1. 禁用 Javascript,加载页面,看看会出现什么。
  2. 离线,Reanable Javascript,看看会出现什么。
于 2012-10-07T09:09:04.697 回答