この方法で JavaScript を使用することもできます。iframe 要素を検出し、IE およびその他のブラウザーでそれらの境界線を削除します (ただし、JavaScript を使用する代わりに、IE 以外のブラウザーで「border : none;」のスタイルを設定することもできます)。そして、iframe が生成されてドキュメントに配置された後に使用されても機能します (たとえば、JavaScript ではなくプレーンな HTML で追加された iframe)!
これは、IE が iframe 要素ではなく、BOM で iframe が作成された後、iframe の CONTENT に境界線を作成するため、機能しているように見えます。($@&*#@!!! IE!!!)
注: IE 部分は、(もちろん) 親ウィンドウと iframe が同じオリジン (同じドメイン、ポート、プロトコルなど) からのものである場合にのみ機能します。そうしないと、スクリプトは IE エラー コンソールで「アクセスが拒否されました」というエラーを受け取ります。その場合、唯一のオプションは、他の人が指摘したように、生成される前に設定するか、非標準の frameBorder="0" 属性を使用することです。(または、単に IE の見栄えを悪くします。現在のお気に入りのオプションです ;))
これを理解するのに絶望するまで何時間もかかりました...
楽しみ。:)
// =========================================================================
// Remove borders on iFrames
var iFrameElements = window.document.getElementsByTagName("iframe");
for (var i = 0; i < iFrameElements.length; i++)
{
iFrameElements[i].frameBorder="0"; // For other browsers.
iFrameElements[i].setAttribute("frameBorder", "0"); // For other browsers (just a backup for the above).
iFrameElements[i].contentWindow.document.body.style.border="none"; // For IE.
}