2011-02-02 72 views
0

我有一個帶有XHTML標記的頁面,也正確地用作XHTML。有一個鏈接,如果點擊打開一個jQuery UI對話框,並在對話框中加載另一個XHTML頁面的內容。爲什麼我不能在XHTML頁面的對話框中打開XHTML內容?

問題是內容沒有加載到對話窗口內。

解決此問題的方法是通過以HTML(text/html mime類型)的形式提供主要的XHTML頁面(從中打開對話框)。

這是爲什麼?爲什麼不能正確使用XHTML?

這裏是我的代碼:

function openDialogByUri(div, uri, title, width, height, buttonsArray) { 
    div.dialog({ 
     title: title, 
     width: width, 
     height: height, 
     position: 'middle', 
     resizable: false, 
     buttons: buttonsArray 
    }); 
    $.ajax({ 
     url: uri, 
     success: function(response) { 
      div.html(response); 
     }, 
     error: function(response) { 
      alert(response); 
     } 
    }); 
} 

回答

1

你說的XHTML網頁加載到對話框。

作爲一個有效的XHTML網站,還包括一個doctype和<html><head>標籤,將它們放置在您的對話框中另一個XHTML頁面內的XHTML無效。

您將不得不使用或<object>或僅將有效的XHTML主體內容添加到jQuery-UI對話框中。

爲什麼這個工作,如果外部HTML不是XHTML完全取決於瀏覽器的解析。這在瀏覽器中可能不一致。

HTML可能會以另一種方式解析,允許更多的語法錯誤,可能會刪除或忽略內部元素和內部元素。

相關問題