2011-02-02 10 views
0

私は、XHTMLマークアップがXHTMLとしても正しく機能するページを持っています。リンクをクリックすると、jquery UIダイアログが開き、ダイアログの中に別のXHTMLページからコンテンツを読み込むリンクがあります。XHTMLページ内のダイアログでXHTMLコンテンツを開くことができないのはなぜですか?

問題は、コンテンツがダイアログウィンドウ内に読み込まれないということです。

この問題を解決する方法は、HTML(text/html mime type)としてメインの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のWebページがダイアログにロードされると述べました。

有効なXHTMLウェブサイトにもdoctypeが含まれており、<html><head>というタグがダイアログに配置されているため、他のXHTMLページ内のXHTMLは無効です。

または<object>を使用するか、jQuery-UIダイアログに有効なXHTMLボディコンテンツを追加する必要があります。

外側のHTMLがXHTMLでない場合は、これが全然ブラウザの解析に依存するのはなぜですか。これは、ブラウザ間で一貫しないことがあります。

HTMLは、おそらく内部のhtmlhead要素を削除または無視して、構文上の間違いを許す別の方法で解析することができます。

関連する問題