Windows Phone 7 上的 JQuery Mobile 错误(使用 Zend)

标签 jquery windows-phone-7 jquery-mobile

我正在 jQuery Mobile 中构建一个 Web 应用程序,并且我已经在 IOS 和 Android 上对其进行了测试,没有遇到任何困难。 WebOS 有一些渲染问题,但没什么大问题。但当我在 Windows Phone 7 上测试该应用程序时,一切都崩溃了。

jQuery Mobile 厨房水槽演示工作正常 - 我认为这可能是我的 javascript 造成的,所以我将其全部删除。然而,这并没有解决问题。由于 WP7 没有错误控制台可言,因此很难诊断发生了什么。

这是: http://abolition.me/wp7.php

在 Chrome 和 WP7 中单击相同的链接后,我将 header 转储到我的 Zend 日志中,这就是我得到的内容:

wp7:

[REDIRECT_STATUS] => 200
[HTTP_X_REQUESTED_WITH] => XMLHttpRequest
[HTTP_ACCEPT_LANGUAGE] => en-us
[HTTP_REFERER] => http://mobile.kinitawp7.designitfor.us/mobile#/mobile/tasks?filter=Open
[HTTP_ACCEPT] => text/html, */*; q=0.01
[HTTP_UA_CPU] => x86
[HTTP_ACCEPT_ENCODING] => gzip, deflate
[HTTP_USER_AGENT] => Mozilla/4.0 (compatible; MSIE 7.0; Windows Phone OS 7.0; Trident/3.1; IEMobile/7.0; Microsoft; XDeviceEmulator)
[HTTP_HOST] => mobile.kinitawp7.designitfor.us
[HTTP_COOKIE] => <censored>
[HTTP_VIA] => <censored>
[HTTP_X_FORWARDED_FOR] => <censored>
[HTTP_CACHE_CONTROL] => max-age=259200
[HTTP_CONNECTION] => keep-alive
[PATH] => /usr/local/bin:/usr/bin:/bin
[SERVER_SIGNATURE] => <address>Apache/2.2.16 (Ubuntu) Server at mobile.kinitawp7.designitfor.us Port 80</address>

[SERVER_SOFTWARE] => Apache/2.2.16 (Ubuntu)
[SERVER_NAME] => mobile.kinitawp7.designitfor.us
[SERVER_ADDR] => 50.56.102.225
[SERVER_PORT] => 80
[REMOTE_ADDR] => 50.84.91.226
[DOCUMENT_ROOT] => /var/www/kinita_branch/mobile.uwn.me/Website
[SERVER_ADMIN] => [no address given]
[SCRIPT_FILENAME] => /var/www/kinita_branch/mobile.uwn.me/Website/index.php
[REMOTE_PORT] => 46576
[REDIRECT_URL] => /viewtask/84
[GATEWAY_INTERFACE] => CGI/1.1
[SERVER_PROTOCOL] => HTTP/1.1
[REQUEST_METHOD] => GET
[QUERY_STRING] => 
[REQUEST_URI] => /viewtask/84
[SCRIPT_NAME] => /index.php
[PHP_SELF] => /index.php
[REQUEST_TIME] => 1307642025

这是来自 Chrome 的:

[REDIRECT_STATUS] => 200
[HTTP_HOST] => mobile.kinitawp7.designitfor.us
[HTTP_REFERER] => http://mobile.kinitawp7.designitfor.us/mobile
[HTTP_X_REQUESTED_WITH] => XMLHttpRequest
[HTTP_USER_AGENT] => Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_6) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.91 Safari/534.30
[HTTP_ACCEPT] => text/html, */*; q=0.01
[HTTP_ACCEPT_ENCODING] => gzip,deflate,sdch
[HTTP_ACCEPT_LANGUAGE] => en-US,en;q=0.8
[HTTP_ACCEPT_CHARSET] => ISO-8859-1,utf-8;q=0.7,*;q=0.3
[HTTP_COOKIE] => <censored>
[HTTP_VIA] => <censored>
[HTTP_X_FORWARDED_FOR] => <censored>
[HTTP_CACHE_CONTROL] => max-age=259200
[HTTP_CONNECTION] => keep-alive
[PATH] => /usr/local/bin:/usr/bin:/bin
[SERVER_SIGNATURE] => <address>Apache/2.2.16 (Ubuntu) Server at mobile.kinitawp7.designitfor.us Port 80</address>

[SERVER_SOFTWARE] => Apache/2.2.16 (Ubuntu)
[SERVER_NAME] => mobile.kinitawp7.designitfor.us
[SERVER_ADDR] => 50.56.102.225
[SERVER_PORT] => 80
[REMOTE_ADDR] => 50.84.91.226
[DOCUMENT_ROOT] => /var/www/kinita_branch/mobile.uwn.me/Website
[SERVER_ADMIN] => [no address given]
[SCRIPT_FILENAME] => /var/www/kinita_branch/mobile.uwn.me/Website/index.php
[REMOTE_PORT] => 47085
[REDIRECT_URL] => /mobile/viewtask/84
[GATEWAY_INTERFACE] => CGI/1.1
[SERVER_PROTOCOL] => HTTP/1.1
[REQUEST_METHOD] => GET
[QUERY_STRING] => 
[REQUEST_URI] => /mobile/viewtask/84
[SCRIPT_NAME] => /index.php
[PHP_SELF] => /index.php
[REQUEST_TIME] => 1307642163

问题在于 WP7 在其请求中省略了/mobile。

有什么想法吗?你以前见过这样的事情吗?

应该注意的是,如果我直接访问网址(即 /mobile/viewtask/90),它就可以工作。问题似乎涉及 jQM 进行导航的方式。

谢谢!

JQM 问题报告链接: https://github.com/jquery/jquery-mobile/issues/1796

编辑: 应该注意的是,我使用的是 Zend 框架。

最佳答案

针对 future 读者的更新:问题已在最近的版本中修复。 它不应该出现在 alpha4.1 之后的版本中

我认为你的网址应该是

http://mobile.kinitawp7.designitfor.us/mobile/#viewtask/93

而不是

http://mobile.kinitawp7.designitfor.us/mobile#/mobile/viewtask/93

您无需更改与 mod_rewrite 相关的任何内容,只需更改链接即可。

所以

<a href="/mobile/tasks?filter=Open">

将被替换为

<a href="tasks?filter=Open">

等等

关于Windows Phone 7 上的 JQuery Mobile 错误(使用 Zend),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6267976/

相关文章:

android - 类型错误 : Result of expression 'localStorage' [null] is not an object

javascript - 更改 jquery mobile 1.4.1 中的 defaultPageTransition?

Bootstrap 中的 Javascript 元素不起作用

重定向后 jQuery Mobile ListView 刷新

c# - 将 FrameworkElement.DataContext 设置为匿名对象

windows-phone-7 - WP7 导航 - NullReferenceException

c# - 使用 WebClient/HttpWebRequest 从 https 检索 XML - WP7

jquery - 移动网站看起来不移动

javascript - 在 for 循环内为 .setTimeout() 创建闭包

javascript - 如何只包含应用程序使用的 jQuery 部分