我正在開發一個基於Backbone.js的Web應用程序,用於某些用例將被包裝在本機iOS UIWebView中。在iOS應用程序中 - 當我們想要在網頁視圖中更改頁面時 - 我們只需在網頁視圖上啓動一個新請求,從而相應地加載頁面。在UIWebView中使用Backbone.js路由器和pushState
我唯一的問題是,當爲請求的URL定義了Backbone路由時,我希望Web視圖使用Backbone的路由和pushState
,而不是啓動整個新的頁面加載。但是,當沒有任何與請求的URL對應的Backbone路由時,Web視圖應該將其作爲整個新頁面請求處理,並用該URL「重新加載」頁面。
現在本地應用程序使用UIWebView
的loadRequest:
方法並通過一個新的NSURLRequest
,其URL爲例如。 「http://example.com/search」作爲參數。
現在我唯一的想法就是用UIWebView
的stringByEvaluatingJavaScriptFromString:
方法:
- 已在網頁視圖中調用JS的一些功能,這反過來會檢查我的骨幹路由就可以搞定URL。
- 如果是,它應該觸發路由器回調。
- 如果不是,它應該用URL發起一個新的頁面請求。
任何輸入?有沒有解決這個問題的方法?
謝謝!