2011-09-30 38 views
1

我有一個用純GWT編寫的web應用程序example.com。顯然web應用程序 有動態鏈接,如example.com/#/link1如何在GWT頁面之外建立到動態內容的鏈接

我想example.com/#/link1可以從我的網站外部訪問。例如。我想在facebook.com上發佈example.com/#/link1鏈接,以便我的朋友可以看到它。但是,當有人點擊鏈接時,即使我在EntryPoint中有一個valueChangeHandler,它也會將其轉到example.com而不是example.com/#/link1

所以我的問題是,如何使外部我的GWT頁面訪問動態鏈接。

編輯:找到了答案:

在入口點執行以下操作

public void onModuleLoad() { 
    String initState = History.getToken(); 
    //This is your initial token for your gwt ap 
    System.out.println(initState); 

    //Do any stuff you want to here, like init some stuff in your app, and finally: 
    History.newItem(initState); 
    //That las line calls the initial state of your app. This worked for me because I 
    //changed the history state in between, so I had to save initialState, do stuff and then 
    //fire inistial state. 
} 
+0

偉大的工作編輯答案! –

回答

1

像你需要用活動和地點工作,以處理瀏覽器的歷史在我看來。這通過插入/解析URL地點令牌在應用程序中的地點/狀態/頁面和瀏覽器中的URL之間創建鏈接。看看這個Google Dev page的內容。

你應該可以用history做你想做的事情。您定義了一組描述應用程序中的位置/頁面/任何狀態的標記。您的應用在URL中解析令牌並重定向到相應的頁面/視圖。

+0

我閱讀了谷歌開發鏈接,但它不回答我的問題。我需要的是一種鏈接到我的網站的方式,來自外部網站的工作。 – fernandohur

+0

查看我添加的額外鏈接。我仍然認爲這是繼續進行的方式 - 您可以將應用程序狀態/視圖編碼爲可解析令牌,然後解析它以確定要顯示哪個動態鏈接。 –

+0

非常感謝很多人,我在10分鐘之前就想出了它。我只需要使用History.getToken()和History.fireCurrentHistoryToken() – fernandohur

相關問題