2009-05-31 3 views
0

IFRAMEにページを読み込んでいますが、ダウンロードが不完全で、HTMLが不正であるかどうかを知りたい場合は</body></html>のような終了タグがありません。IFRAMEのドキュメントが不正な形式であるかどうかを検出します。

JavaScriptでこれを検出する方法はありますか?

+2

bodyおよびhtml要素の終了タグがないHTMLドキュメントは不正な形式ではなく、仕様ではオプションであると定義されています。 – Quentin

+0

良い点ですが、これは実際にはまれです。 –

答えて

2

私はあなたが特に正確に何を期待するとそのためのテストを知らなくても、不正な形式のHTMLまたは不足している要素をテストすることができるかどうかはわかりません。

iframeページのソースにアクセスできる場合は、親ウィンドウにバインドされた</body>の最後の前にjavascript関数変数を呼び出すことができます。 (またはwindow.onLoad()イベントを使用して呼び出しを呼び出します)

このメソッドをコンテナページに定義します。

window.iAmLoaded = function() { 
    alert('iframe loaded OK'); 
}; 

次にiframeから呼び出します。

<script type="text/javascript" charset="utf-8">  
     window.parent.iAmLoaded();  
    </script> 
</body> 

これはオプションではありません、とiframeがかなりよく知られているDOM、または独特の要素ページの終わり近くに、あなたが使用することができますgetElementByIdをまたは要素を見つけるためにあなたのお気に入り図書館のCSSセレクタメソッドを持っている場合。

-3

iframeのonLoadイベントを使用して、完了したロードを通知できます。 http://www.w3schools.com/jsref/jsref_onload.asp

不正な形式のHTMLを検出する場合:検証ツールを探しています。ブラウザはxhtml strictを除いて、それをしません。 js検証ソフトウェアが存在する可能性があります。

ラリー

+0

厳格/過渡期は無関係です。ブラウザは、XML形式で整形されていないXHTML(つまり、ドキュメントが正しいコンテンツタイプで提供されている場合)を解析することで麻痺します。 XHTMLをサポートしているほとんどのブラウザは、タグスープモードで再度解析を試みることを提案します。文書は有効でなくても整形式にすることができます。 – Quentin

関連する問題