2011-09-16 64 views
4

我已經創建了一個基於jquery移動框架的移動應用程序。JavaScript執行超時 - jQuery mobile

我使用wordpress作爲cms。

所有似乎都很好。但經過一段時間在應用程序的前後轉動,突然間,按鈕變得無法點擊這個JavaScript錯誤。

上線

JavaScript錯誤16
http://code.jquery.com/mobile/1.0a4.1/jquery.mobile-1.0a4.1.min.js
JavaScript執行超過超時

這個錯誤是什麼意思大致和爲什麼它不會立即發生呢?而如何在jQuery中發現它自己的錯誤,從來沒有見過這種情況發生過?

我對javascript錯誤的體驗是,如果它錯了/首先被破壞,那麼你馬上就會得到一個錯誤。

主要在瀏覽包含大列表的歸檔頁面時出現錯誤。

我明白它幾乎不可能說出它是什麼,如果你看不到應用程序或玩它 - 但有任何一個經歷過類似的Java腳本錯誤?

當錯誤有時出現時,仍然可以使用該應用程序,但有時會將其完全鎖定。

任何想法,將是最有幫助的 - 因爲我絕望地需要修復

而且我看它移動Safari瀏覽器在iPhone 3GS
的Mozilla/5.0(iPhone; U; CPU iPhone OS 4_3_5像Mac OS X; en-us)AppleWebKit/533.17.9(KHTML,與Gecko一樣)Mobile/8L1

+0

我建議升級到JQM的最新版本目前正處於Beta 3中 –

+0

我與菲爾同意; jQuery Mobile Beta 3具有圓頂大小管理功能,可幫助您的移動網站避免內存過重和崩潰設備。 – Jasper

+0

感謝您的意見,我會在週末升級,看看結果是什麼 - 但奇怪的是,我認爲我試圖升級已與最新JQM,出於某種原因,縮放我的應用程序非常小的手機瀏覽器,喜歡它是一個960像素寬..奇怪!如果它在升級時仍然具有相同的縮放比例,那麼我會嘗試並進行測試,以查看錯誤是否發生,然後再修復視覺問題。 – Joshc

回答

1

感覺它是一個Safari移動bug。

剛剛得到與iOS5上的其他一些流行的JavaScript密集型庫相同的JavaScript異常。

當我使用可滾動性庫和pdf.js時偶爾發生異常。即使這些庫的示例頁面也會導致我的iPad每隔一段時間都會拋出此異常。

我正在使用帶有第一個穩定版iOs 5版本的iPad 2。

用戶代理:Mozilla的/ 5.0(ipad公司; CPU OS 5_0,例如Mac OS X)爲AppleWebKit/534.46(KHTML,例如Gecko)版本/ 5.1移動/ 9A334野生/ 7534.48.3

+0

我更新到RC1 jQuery Mobile的,它似乎停止這種錯誤發生時,一直無法重新創建這樣的錯誤,因爲在iOS版本4.3.5 – Joshc

+0

同樣的問題在這裏,使用iPad3的。其他設備和瀏覽器與我的代碼工作正常只有在這個設備上的safari瀏覽器沒有。這是一種恥辱!任何想法如何臨時解決它? – Codebeat

0

該列表看起來需要花費很長時間來處理,並且瀏覽器正在關閉它(腳本),但可能還有其他因素。

發佈一些代碼,我會盡力幫助。

+0

感謝您的信息 - 我有點落後於其他工作,所以會在週末嘗試併發布一些代碼。聽起來很符合你的說法,但是你可能會在其他地方出問題。 – Joshc

0

只有一個指針,也許在正確的方向:

我收到了同樣的錯誤,當我開始一個過渡,而前一個過渡似乎仍在過程中。如果我等待轉換完成(和屏幕「解決」),然後進行下一個轉換,一切都很好。但是,如果我在完成最後一次之前觸發下一個轉換,我也會收到此錯誤。

中有一個JQM transitioningqueue,可能與它的問題。

0

重新啓動設備。另外,還要考慮你的腳本的末尾裝載jQuery和jQuery Mobile的:

<script src="//code.jquery.com/jquery-1.7.1.min.js"></script> 
<script>window.jQuery || document.write('<script src="js/jquery-1.7.1.min.js"><\/script>')</script> 

<script src="//code.jquery.com/mobile/latest/jquery.mobile.min.js"></script> 
<script>window.jQuery.widget || document.write('<script src="js/jquery.mobile.min.js"><\/script>')</script> 

我得到「JavaScript執行超過超時」在我的iPhone 4S正確的jQuery移動1.0加載後的頭跑了首次腳本元素。重新啓動我的手機修復它,所以對我來說,這似乎是與iOS5移動Safari的一個錯誤。

我還沒有試過以上,但也許給腳本的第二次機會運行會做的伎倆 - 甚至可以嘗試在像Facebook和谷歌分析的DOM注入腳本元素推薦這樣做,而不是使用文檔寫。