2012-11-17 28 views
3

我的backbone.js路由器似乎嘗試在本地機器上創建PhoneGap 2.2.0構建以及PhoneGap構建雲服務時失敗。backbone.js路由器在PhoneGap中失敗iOS構建

這意味着儘管觸摸事件被觸發,但應用程序的內部鏈接和導航都不起作用。

直到現在,我的應用程序在本地通過Chrome和iOS模擬器完美工作。我可以找到很多關於jQuery Mobile和backbone.js路由器的衝突,但我使用的是jQuery 1.8.2(我也使用早期版本1.7.0到1.8.2進行了測試)。

在Xcode控制檯中,當點擊內部鏈接時,出現「加載網頁失敗:框架加載中斷」錯誤。我在應用中使用'/#link'格式作爲內部鏈接。

我猜這可能是我設置的vanilla PhoneGap Xcode項目中的某種iOS/Xcode安全功能?但是有沒有我可以改變的設置來允許這個?

+0

Habe你做了這項工作?我現在有同樣的問題?似乎沒有人有這 – Harry

+0

希望我的回答下面幫助哈利 – charlievaughan

回答

0

好吧,我更好地回答我的問題,因爲我做了相當多的努力後找到周圍工作。我會盡快回復,但希望稍後再回來並加以改進。基本上,而不是使用嵌入標記標準等環節

<a id="myLink" href="/#link">my link</a> 

你需要的功能結合到鏈接,並使用Backbone.js的路由器,像這樣:

$('#myLink').tappable(function(event){ 
    event.preventDefault(); 

    var url = $(this).attr('href'); 
    application.router.navigate(url, true); 

    return false; 
}); 

在我來說,我已經在使用jquery.tappable.js http://aanandprasad.com/articles/jquery-tappable/來改善我的用戶界面的響應能力。

我也發現了這樣做的另一個優點,就是如果您的單頁Web應用程序託管在另一個站點的子文件夾中。通過強制您的應用程序使用Backbone.js路由器,您不會有任何相對路徑中斷您的內部鏈接的問題。

我想我在測試過程中沒有遇到任何問題的原因,只有一次符合Phonegap,是因爲我真的在Safari手機上進行測試(通過主屏幕上的書籤)。一旦完成,它就在網絡視圖中。本地iOS開發人員可能會解釋這一點。

0

朋友。 我嘗試anthor的方式,它的工作原理。 只是刪除飛濺 我的鏈接

+0

my link