我在jQuery Mobile中構建了一個web應用程序,我已經在IOS和Android上測試了它,沒有任何困難。 WebOS有一些渲染問題,但沒有什麼重要的。但是當我使用Windows Phone 7測試應用程序時,一切都破裂了。Windows Phone 7上的JQuery Mobile錯誤(使用Zend)
jQuery Mobile廚房水槽演示工作正常 - 我認爲這可能是JavaScript的東西在我的一端,所以我刪除了所有。但是,這並沒有解決問題。由於WP7沒有提供錯誤控制檯,所以很難診斷髮生了什麼事情。
這就是: http://abolition.me/wp7.php
我甩頭到我的Zend日誌點擊Chrome和WP7相同的鏈接後,這裏就是我的了:
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/viewtask/90
),它就可以工作。問題似乎涉及jQM的導航方式。
謝謝!
鏈接到JQM問題報告: https://github.com/jquery/jquery-mobile/issues/1796
編輯: 應當指出的是,我使用了Zend框架。
代替閱讀鏈接和Ajax的文檔。我在開始時記得'/'的一些問題。將您的鏈接更改爲更多相對。你正在鏈接'/ mobile /'中的一個頁面,所以你只需要鏈接到任務?任何..' – naugtur 2011-06-09 14:19:10
麻煩的是,我使用的Zend框架,它使用mod_rewrite繞過Apache的自然目錄結構。我正在修改現有的Zend應用程序以在移動環境中工作,並且我需要解決根相對URL以使新界面與現有後端兼容。 – mikermcneil 2011-06-09 15:53:30
如果你打開'/#/ mobile/tasks?filter = Open',會發生什麼?另外 - 爲IE安裝debugBar,看看JQM使用AJAX加載的地址是什麼,看看有什麼反應。 – naugtur 2011-06-09 21:04:41