Нет проблем с удалением границы iframe в любом браузере, кроме IE7 ...
Мой вопрос: Как удалить/скрыть границу iframe при открытии страницы с помощью IE7?Как удалить границу iframe в IE7?
ответ
frameborder='0' border='0' style="border:0;"
не делает этого?
Попробуйте это. Он найдет любые элементы iframe и удалит их границы в IE и других браузерах (хотя вы можете просто установить стиль «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.
}
}
Это прекрасно работает – jsims281 2011-05-20 13:55:02