我正在尋找iframe的替代方法來加載網站中的xhtml頁面。在iframe中處理返回和刷新事件並不那麼容易。在div中加載xhtml頁面
我發現的最佳方式是當用戶從側面菜單中單擊一個項目時,在頁面中加載頁面。但它刷新整個頁面(包括菜單)。在Facebook和Google+中,當用戶單擊div中的任何鏈接時,菜單欄不會刷新。而是div和url中的內容發生變化。檢查他們的Javascript並不是那麼簡單。我想知道這背後的想法。期待建議。
我正在尋找iframe的替代方法來加載網站中的xhtml頁面。在iframe中處理返回和刷新事件並不那麼容易。在div中加載xhtml頁面
我發現的最佳方式是當用戶從側面菜單中單擊一個項目時,在頁面中加載頁面。但它刷新整個頁面(包括菜單)。在Facebook和Google+中,當用戶單擊div中的任何鏈接時,菜單欄不會刷新。而是div和url中的內容發生變化。檢查他們的Javascript並不是那麼簡單。我想知道這背後的想法。期待建議。
的想法是,你從你的XHTML標記一個Web服務器獲取數據,或從服務器獲取XHTML立即,使用AJAX和設置DIV內容到剛纔生成的XHTML。
設置DIV內容到XHTML低水平的方法是:
div.innerHTML = xhtml
但是,它是更好的,更安全的使用圖書館像jQuery。
jQuery的,你只需要做到這一點:
$("div").html(xhtml);
在這兩種情況下
格是你需要的股利和XHTML是從服務器接收markupped形式的內容。通過這樣做,您只需更新網頁的特定元素,而不是整個網頁。
這是通過AJAX請求完成的,以獲取頁面部分並將其加載到文檔中,因此不會發生頁面刷新。
利用AJAX(XMLHttpRequest對象)的最佳方式是使用流行的Javascript庫「jQuery」。它可以抽象出瀏覽器之間的差異,並且可以很容易地實現您要查找的內容。
的代碼示例,您已經加載的jQuery後到你的頁面:
$('#content').load('ajax/test.html');
哪裏#內容是div 「代替」 的iframe。 你可以調用該函數在菜單一旦鏈路(比方說#menu)點擊:
$('#menu a').on('click', function() {
var page_name = $(this).attr('href');
$('#content').load(page_name);
return false;
});
上面的例子採用的HTML代碼的鏈接的href屬性部分,其裝入#內容元素,然後返回false以便不加載新頁面。
確保href屬性具有正確的路徑到你的HTML文件,相對於Web根目錄。