2010-12-15 113 views

回答

15

frameborder='0' border='0' style="border:0;"不行嗎?

+0

這個完美的作品 – jsims281 2011-05-20 13:55:02

+0

Ty,工作完美! – 2011-10-10 06:38:39

+2

我不得不利用框架邊界中的B來讓它工作,所以你應該:frameBorder =「0」 – Sean 2011-12-09 01:53:35

1

試試這個。它會在IE和其他瀏覽器中找到任何iframe元素並刪除其邊框(儘管您可以在非IE瀏覽器中設置「border:none;」的樣式,而不是使用JavaScript)。並且即使在iframe生成後並在文檔中就位也能正常工作(例如,以純HTML和非JavaScript添加的iframe)!

這似乎工作,因爲IE會創建邊框,而不是像您期望的那樣在iframe元素上,而是在iframe的CONTENT上 - 在BOM中創建iframe之後。 ($ @ & *#@ !!! IE !!!)

注意:只有當父窗口和iframe來自同一個來源(相同的域,端口,協議等)時,IE部分纔會工作)。否則,該腳本將在IE錯誤控制檯中出現「訪問被拒絕」錯誤。如果發生這種情況,您唯一的選擇是在生成它之前設置它,或者使用非標準的frameBorder =「0」屬性。 (或者只是讓IE看的fugly - 我目前最喜歡的選擇;))

帶我努力了絕望的點多小時算出這個...

享受。 :)

// ========================================================================= 
// 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. 
     } 
    }