2011-06-07 51 views
3

我在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框架。

+0

代替閱讀鏈接和Ajax的文檔。我在開始時記得'/'的一些問題。將您的鏈接更改爲更多相對。你正在鏈接'/ mobile /'中的一個頁面,所以你只需要鏈接到任務?任何..' – naugtur 2011-06-09 14:19:10

+0

麻煩的是,我使用的Zend框架,它使用mod_rewrite繞過Apache的自然目錄結構。我正在修改現有的Zend應用程序以在移動環境中工作,並且我需要解決根相對URL以使新界面與現有後端兼容。 – mikermcneil 2011-06-09 15:53:30

+1

如果你打開'/#/ mobile/tasks?filter = Open',會發生什麼?另外 - 爲IE安裝debugBar,看看JQM使用AJAX加載的地址是什麼,看看有什麼反應。 – naugtur 2011-06-09 21:04:41

回答

1

未來讀者更新:問題在最近的版本中得到修復。 它不應該出現在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"> 

+0

這些URL是由jQuery Mobile動態生成的。例如,如果我指定http://mobile.kinitawp7.designitfor.us/mobile/viewtask/93,jQuery Mobile會將其轉換爲http://mobile.kinitawp7.designitfor.us/mobile#/mobile/viewtask/93。 我繼續嘗試使用相對URL viewtask/93,但那也行不通 - jQuery Mobile仍在截斷URL的第一個子目錄(請求/ viewtask/93而不是/ mobile/viewtask/93) 。 – mikermcneil 2011-06-10 21:08:31

+1

有沒有進展?我想這可能會被報告爲github上的一個bug,但至少在一段時間內不會解決問題。我推薦閱讀關於wp7的支持,這對於JQM來說仍然是一個新東西 – naugtur 2011-06-12 21:46:54

+0

他們在上週的某個時候修復了它!我提交了一個錯誤報告,但有人將其視爲無效。幸運的是,看起來已經有人在上面了。謝謝! – mikermcneil 2011-06-13 15:17:02