HTML5 и frameborder



у меня есть iframe на документе HTML5. когда я проверяю, я получаю сообщение об ошибке, сообщающее мне, что атрибут на iframe frameBorder устарел и использовать CSS вместо этого.



у меня есть этот атрибут frameBorder="0" здесь, потому что это был единственный способ, которым я мог понять, как избавиться от границы в IE, я попытался border:none; в CSS не повезло. Есть ли совместимый способ исправить это?



спасибо.

800   7  

7 ответов:

в HTML 5 не поддерживает такие атрибуты как frameborder, перечисляя, и marginwidth и marginheight (который поддерживаются в HTML 4.01). Вместо, спецификация HTML 5 имеет введен бесшовный атрибут. Этот бесшовный атрибут позволяет встроить рамки, как будто его визуализируется как часть содержащего документ. Например, границы и полосы прокрутки не появятся.

источник

более информацию о html5 iframe и seamless вы можете найти здесь.

Internet explorer 8 не поддерживает все функции html5, поэтому у вас возникнут проблемы с использованием iframe,htm5,ie вместе.

Согласно другой публикации здесь, лучшее решение-использовать запись CSS

style="border:0;"

С frameBorder атрибут необходим только для IE, есть еще один способ обойти валидатор. Это легкий способ, который не требует Javascript или каких-либо манипуляций с DOM.

<!--[if IE]>
   <iframe src="source" frameBorder="0">?</iframe>
<![endif]-->
<!--[if !IE]>-->
   <iframe src="source" style="border:none">?</iframe>
<!-- <![endif]-->

это работает

iframe{
    border-width: 0px;
}

как насчет использования того же метода для "обмана" валидатора с помощью Javascript, вставив целевой атрибут в XHTML <a onclick="this.target='_blank'">?

  • onsomething = " это.frameborder = '0' "

<iframe onload = " this.frameborder='0' " src="menu.html" id="menu"> </iframe>

или getElementsByTagName]("iframe")1 добавление этого атрибута для всех iframes на странице?

не проверял это, потому что я сделал что-то, что означает, что ничего работает в IE меньше 9! :) Так что пока я разбираюсь с этим ... :)

Я нашел хорошую работу вокруг, что позволит ему работать в IE7 здесь. Он обходит валидатор для атрибута frameBorder, но сохраняет css для будущих браузеров, как описано в сообщении.

style="border:none; scrolling:no; frameborder:0;  marginheight:0; marginwidth:0; "

Comments

    Ничего не найдено.