Попробуйте это. Он найдет любые элементы iframe и удалит их границы в IE и других браузерах (хотя вы можете просто установить стиль CSS «border: none;» в браузерах, отличных от IE, вместо использования JavaScript). И он будет работать, даже если используется ПОСЛЕ того, как iframe создается и находится в месте документа (например, iframes, которые добавляются в обычный HTML, а не JavaScript)!
Это похоже на работу, потому что IE создает границу, а не в элементе iframe, как и следовало ожидать, но в CONTENT iframe - после создания iframe в спецификации. ($ @ & * # @ !!! IE !!!)
Примечание. Часть IE будет работать (конечно) только в том случае, если родительское окно и iframe относятся к одному и тому же происхождению (тот же домен, порт, протокол и т. Д.) .). В противном случае скрипт получит ошибки «отказа в доступе» в консоли ошибок 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.
}
}
+1, была такая же проблема, Ответ Тима был прекрасен. Заголовок нуждается в редактировании, кстати: jav * s * ascript. Сделал бы это, если бы мог. – Pedro
[Это] [1], кажется, работает для IE8, (IE такая боль !!) [1]: http://stackoverflow.com/questions/12414525/how-to-get- rid-of-border-for-an-iframe-in-ie8 – 2013-12-10 07:58:41