我不知道肯定會解決這個問題,但你真的不應該包括在一個div整個網頁(HTML計有和頭部標記)。每個頁面應該有一個html標籤,一個head標籤和一個body標籤。
有兩個選項:
- 載荷子頁面中的iframe
- 載荷子頁面的主體中的div內容
選項1可能是你最好的選擇。使用選項2,您可以從頭部丟失javascript和css。
你有過要放在格,頁面控制?如果它使用與「主」頁面相同的JavaScript文件和樣式表,那麼沒問題。
否則,你可以將它們添加到母版頁頭部(或身體的腳本,但頭CSS),但隨後它們會影響母版頁的其餘部分。如果可以的話,那麼解決這個問題的方法是在插入的頁面上使用一個獨特的class/id的容器元素,並確保該頁面的CSS和javascript隻影響容器內的東西。
例如(未經測試):
var sub_page = $(data);
$("#content").html(sub_page.find('body').html());
var head = $('head');
sub_page.find('head script').each(function(){
var src = $(this).attr('src');
// Assume that inline script tags should be added but check those with a src to see they aren't already used on the master page.
if(undefined === typeof src || '' === src || $('script[src="' + src + '"]').length == 0){
head.append(this);
}
});
CSS文件很可能需要在相同的方式腳本來對待。
你確定你沒有也使用相同的ID其他地方可能? – 3Nex
當你說「變量」數據「存儲的字符串是我想加載的頁面的html內容。」你的意思是包括HTML
等,或者它只是一個HTML片段?否則,我會檢查你沒有一個不匹配的元素(例如加載的頁面是的,這只是我已經使用該ID的地方。 – Eleni