2013-02-06 50 views
1

我在Sencha Touch 2中構建了一個新聞閱讀器。在這個新聞閱讀器中有一個「共享」按鈕,但我不知道如何通過URL共享當前文章。Sencha:共享一個URL

也就是說,如果我的Sencha網站的URL是:www.senchareader.com,我可以分享的唯一URL就是這樣。

有沒有什麼方法可以在Sencha框架內創建類似www.senchareader.com/article1234567的東西?所以當URL被某人點擊時,它實際上是被分享的文章?

希望這是明確的,讓我知道如果它不是。

回答

2

是的,你可以。 Sencha使用URL散列來支持瀏覽器歷史記錄。看看ExtJS 4.1.3站點上的this example,以及related documentation here。本質上,您將「令牌」(散列)添加到歷史記錄,然後監聽更改以支持向前和向後按鈕。但是,如果您使用的是Sencha Touch 2,則通過在控制器中使用「路線」,歷史記錄支持會更容易一些。您閱讀Sencha Touch history support documentation here

的代碼要做到這一點取決於您是否使用ExtJS的或煎茶觸摸不同,但ExtJS的是類似如下:

... 
Ext.History.init(); 
... 
// something happens to change the url (like a user clicks on an article) 
var newToken = '/article/'+article.id; // or whatever 
var oldToken = Ext.History.getToken(); 
if (oldToken === null || oldToken.search(newToken) === -1) { 
    Ext.History.add(newToken); 
} 
... 
Ext.History.on('change', function(token) { 
    // handle the token changing, most likely by showing the right article 
}); 
+0

爲什麼條件是(oldToken ===空|| oldToken。搜索(newToken)=== -1)而不是(oldToken!== newToken)?那是什麼意思? – Bunyk

+1

因爲令牌可能包含子路徑。您可以使用您擁有的邏輯,但這可能不夠。真的,這只是一個個案的問題,所以不管做什麼都適合你! – jakerella