2011-05-22 41 views
1

想象一下,我定義了視頻類型節點,其中顯示了標題和描述以及視頻本身。想象一下,我有一個視頻剪輯器,每個傳情片鏈接到一個這樣的視頻節點。想象一下,這個模塊被添加到任何顯示視頻類型節點的頁面的底部:當用戶點擊其中一個視頻模式時,頁面將重新加載一個新的視頻類型節點。(drupal/whitehouse.gov)如何在不重新加載頁面的情況下動態加載節點內容?

最後,想象以上所有內容,但無需重新加載整個頁面。

如果你去http://whitehouse.gov/video,你會看到我想要完成的。當您點擊其中一個視頻模式時,網址將變爲新節點的網址,但整個頁面不會重新加載。只有頁面的頂部顯示新節點纔會重新加載。

我的問題:他們如何做到這一點?如何將節點內容加載到頁面上的特定div中,而無需重新加載整個頁面?

+0

fyi,你發佈的白宮鏈接確實會重新載入頁面,點擊視頻預告片 – gpilotino 2011-05-22 20:01:48

回答

3

您可以使用hook_menu在Drupal中實現MENU_CALLBACK它自己的處理函數。您將返回JSON或XML或HTML片段或任何您想要的與新視頻的HTML。然後使用JS來更新從服務器接收到的新內容的DOM。更新URL也可以用JS來完成。

所以基本上你會用JS處理客戶端的視頻點擊。 JS會向您的MENU_CALLBACK發出請求,您將收到您選擇從服務器執行的任何數據。 JS獲取數據並更新DOM。

有了類似jQuery的東西,您可以使用$.get方法並使用success屬性更新現代瀏覽器中的window history

相關問題