XHTML Strictで無効なiframe

私は、デフォルトで次のコードを生成するGoogle Mapでウェブサイトを構築しています:

<iframe width="550" height="500" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.co.uk/maps?f=q&source=s_q&hl=en&geocode=&q=Amber,+115+Portswood+Road,+Southampton,+SO17+2FX,+United+Kingdom&aq=0&sll=50.923556,-1.394663&sspn=0.006709,0.01929&vpsrc=6&ie=UTF8&hq=Amber,&hnear=115+Portswood+Rd,+Southampton+SO17+2,+United+Kingdom&t=m&ll=50.923178,-1.393676&spn=0.012985,0.027466&z=15&output=embed"></iframe>
View Larger Map

XHTML Strictをチェックすると、古くなっているフレームなのでエラーになりますが、代わりに何を使うべきですか?

助けてくれてありがとう

2

2 答え

あなたのページにMaps iframeが必要な場合は、doctypeをXHTML 1.0 Transitionalに変更するのが最も簡単な解決策です。これにより、iframeを使用することができます。


ただし、ページのレンダリングに違いが見られるようになった場合(標準モードとほとんどの標準モードを参照)マークアップを検証するよりも、Webブラウザでのサイトの見栄えが気になる方は、XHTML 1.0 Strictのdoctypeをそのまま使用してください。ページが無効なXHTMLなので、ブラウザはエラーになりません。彼らはいずれかの方法であなたのiframeをうまく処理します。

5
追加された

Javascriptで汚いトリックが存在する:

function load()
{
    document.getElementById("ramec").innerHTML = '<iframe class="ramec"></iframe>';
}

そして:



<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="yourjshere.js">
</script>
<title></title>
</head>
<body onload="load()">
<div id="ramec">
</div>
</body>
</html>

最初のリンクのドキュメントは、内部でiframeを使用していますが、XHTML1.0 Strictとして検証されます(ドキュメント内のリンクを試してください)。重要な部分は、iframeをドキュメントに挿入するJavascriptが外部にあることです。

それはすべての努力の価値があるかどうかは分かりません。たぶん、HTML4.1厳密な文書タイプに変更するともっと役立つでしょう(ページのレンダリングはXHTML1.0 Strictと同じです)。

1
追加された