2011-04-05 29 views
0

我的基於phonegap的應用程序使用JQTouch和JQuery在iPhone,Android,Chrome上運行良好。但它在Blackberry 6.0上無法正常工作。我能找到問題所在,問題是出在以下jqtouch.js是達到該行的方式:location.hash在黑莓6.0上重新加載HTML

jqtouch.js > animatePages-function > callback-private function 

中,每當我的應用程序達到這一點,他們定義

location.hash = "#"+ id; 

私人回調函數行它重新呈現整個HTML文件,因此應用程序重新啓動。我無法爲此找到任何解決方案。有沒有其他方法可以做到這一點?我試圖把window.event.preventDefault(),但它會引發錯誤。

由於提前

回答

0

我找到了問題的解決方案,我用
history.pushState({}, document.title, ("#"+id));
更換"location.hash"無論jqtouch嘗試爲location.hash分配新值並且它在Blackberry 6.0上正常工作

1

我在JQTouch類似的問題,我設置我的位置,當使用非真正的哈希解決。如果你的散列是一個實際的ID,頁面跳轉到元素。只是「頁面」或東西添加到您的哈希值的末尾,以便它不指向一個元素ID:

location.hash = "#" + id + "page";