2012-04-23 48 views
1

我想我試圖以無意的方式使用Backbone,並且我無法真正找到它。基本上我有一個Rails應用程序提供意見。我想保持常規導航(如頁面重新加載),但讓骨幹看到路線並在該頁面上設置模板的某些部分,處理模型以及所有這些好東西。所以基本上我使用Backbone來處理我所有複雜的JavaScript,而沒有將它變成一個「單頁面應用程序」。啓用PushState會在舊瀏覽器中打破我的絕對路徑嗎?例如:匹配路線「項目」的「http:// localhost:3000/projects」。沒有哈希的主幹?

回答

0

pushState的不會在舊的瀏覽器,如IE6的工作,但你可以使用不同的技術,例如,你可以使用jQuery選擇並檢查您是否是在特定頁面上:

if ($('#login-page').length > 0) { 
    // we're on the login page 
    // ..initialize login page related backbone collections and views 
} 

..或者你可以在HTML中使用的數據屬性某處存儲動作/控制器名稱:<body data-action="edit" data-controller="post">並檢查它在JavaScript va4 $body = $('body'); if ($body.data('action') == 'edit' && $body.data('controller') == 'posts') {}

..或者你可以爲每個動作/控制器對單獨的js文件,包括它的需求。