2010-12-15 24 views

答えて

15

frameborder='0' border='0' style="border:0;"しません?

+0

これは完全に動作します – jsims281

+0

タイ、完璧に働いた! –

+2

私はそれを動作させるためにframeborderのBを大文字にしなければならなかったので、frameBorder = "0" – Sean

1

これを試してください。 IEや他のブラウザでは、iframe要素を見つけてその枠線を削除します(JavaScriptを使用するのではなく、IE以外のブラウザでは「border:none;」というスタイルを設定できます)。 iframeが生成され、ドキュメントの所定の場所に置かれた後であっても使用できます(iframeはJavaScriptではなくプレーンHTMLで追加されます)。

これは、IEがiframe要素ではなく、iframeのCONTENTにBorderにiframeを作成した後で、境界線を作成するために機能します。 ($ @ & *#@ !!! IE !!!)

注:親ウィンドウとiframeが同じ原点(同じドメイン、ポート、プロトコルなど)からのものである場合、IE部分は機能します)。そうしないと、スクリプトはIEエラーコンソールで「アクセス拒否」エラーを受け取ります。それが起こった場合、唯一のオプションは生成される前にそれを設定するか、他の人が指摘しているように設定するか、非標準のframeBorder = "0"属性を使用することです。 (または単にIEは非常に醜い見てみましょう - 私の現在のお気に入りのオプション;))

はこれを理解するために私に絶望のポイントに取り組んで多くの時間を要した...

お楽しみください。 :)

// ========================================================================= 
// Remove borders on iFrames 

if (window.document.getElementsByTagName("iframe")) 
    { 
     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. 
     } 
    } 
関連する問題