>  기사  >  웹 프론트엔드  >  H5 새 태그의 브라우저 호환성 문제에 대한 자세한 설명

H5 새 태그의 브라우저 호환성 문제에 대한 자세한 설명

Y2J
Y2J원래의
2017-05-22 13:48:543808검색

결국 HTML5 사양은 이제 막 정의된 사양이므로 새 태그와 새 속성을 지원하지 못하는 브라우저도 있습니다. 특히 IE8 이하의 브라우저에서는 더욱 그렇습니다. 다음은 HTML5 새 태그 처리의 브라우저 호환 버전에 대한 소개입니다. 필요한 친구들은

을 참조하면 됩니다. 결국 HTML5 사양은 아직 정의된 사양이 있습니다. 특히 IE8 이하 브라우저의 경우 새 태그와 새 속성을 지원할 수 없습니다. 다음은 페이지에서 HTML5 새 태그를 사용하는 몇 가지 실용적인 방법을 소개합니다. 그 목적은 HTML5의 새 태그가 하위 수준 브라우저에서 제한적으로 지원되고 전체 페이지 기능에 영향을 미치지 않도록 하는 것입니다.

  • 브라우저가 HTML5 사양의 새 태그를 인식하도록 합니다.

IE8 브라우저의 경우 HTML5 새 태그에 대한 지원이 아직 추가되지 않았으므로 HTML5 새 태그의 콘텐츠를 IE8에서 직접 표시할 수 없습니다. 다행히 IE8/IE7/IE6은 document.createElement 메소드로 생성된 태그를 지원합니다. 이 기능을 사용하면 이러한 브라우저가 HTML5 새 태그를 지원하도록 할 수 있습니다.

var e = "abbr, article, aside, audio, canvas, datalist, details, dialog, eventsource, figure, footer, header, hgroup, mark, menu, meter, nav, output, progress, section, time, video".split(', ');
var i= e.length;
while (i--){
    document.createElement(e[i])
}

브라우저가 새 태그를 지원하면 태그, 태그의 기본 스타일을 추가해야 합니다:

article,aside,figcaption,figure,footer,header,hgroup,nav,section{display:block}
mark{background:#FF0;color:#000}

이러한 방식으로 JavaScript 코드와 CSS 코드의 두 가지 간단한 조각으로 IE8 이하의 브라우저가 새 태그를 지원할 수 있습니다. HTML5에서. 물론 가장 좋은 방법은 성숙한 프레임워크를 직접 사용하는 것입니다. 현재 가장 많이 사용되는 프레임워크는 html5shim을 사용하는 방법이 매우 간단합니다. 페이지 헤드 부분의 프레임

<!--[if lt IE 9]>
<script> src="http://html5shim.googlecode.com/svn/trunk/html5.js"</script>
<![endif]-->

  • HTML5의 새로운 기능과의 호환성으로 인용할 수 있습니다.

광의의 HTML5에는 HTML5, CSS3 및 새로운

API가 포함됩니다. 새로운 기능에는 브라우저 호환성 문제가 있을 수 있으므로 새로운 기능을 사용할 때에는 브라우저가 해당 기능을 지원하는지 확인하는 것이 매우 필요합니다. 브라우저가 새로운 기능을 지원하지 않는 경우 적절한 이전 버전과의 호환성 처리가 수행될 수 있습니다. 현재는 새로운 기능에 대한 지원을 감지하는 통합된 방법이 없습니다. 일부 새로운 기능에는 식별할 수 있는 해당 API가 있으며 일부 새로운 기능은 일부 기술을 통해서만 식별할 수 있습니다. 다행스럽게도 해외의 열정적인 엔지니어들은 새로운 기능을 감지하기 위한 여러 프레임워크를 개발했습니다. 그중 Modernizr는 감지 정확도와 사용률이 더 높습니다.

Modernizr 프레임워크의 원리는 브라우저가 새로운 기능을 지원하는지 자동으로 감지하고 해당 클래스를 100db36a723c770d327fc0aef2ce13b1 태그에 추가하는 것입니다. 브라우저가 기능을 지원하는 경우 기능 이름으로 명명된 클래스가 추가됩니다. 그렇지 않으면 "no-" 접두사와 기능 이름으로 명명된 클래스가 추가됩니다. 동시에 modernizr이라는 이름의

객체 도 생성됩니다. 이 객체의 각 기능을 나타내는 속성 값을 판단하면 현재 브라우저가 이 새로운 기능을 지원하는지 알 수 있습니다. Modernizr 프레임워크에는 html5shim 프레임워크의 기능도 포함되어 있어 IE8 이하 브라우저에서 새 태그를 지원할 수 있습니다.

Modernizr을 사용하는 방법은 매우 간단합니다. 먼저 헤드 부분에 프레임워크의 JavaScript 파일을 도입합니다.

<script src="js/modernizr.min.js"></script>

두 번째로

에 no-js라는 클래스를 추가합니다. html 태그 :

<html class="no-js">

브라우저에서 JavaScript가 비활성화되어 있지 않으면 브라우저가 페이지를 로드한 후 html 태그의 클래스가 동적으로 교체되고 추가됩니다. 로드 후 html 태그는 다음과 같습니다.

<html class="js canvas canvastext geolocation rgba hsla no-multiplebgs borderimage borderradius boxshadow opacity no-cssanimations csscolumns no-cssgradients no-cssreflections csstransforms no-csstransforms3d no-csstransitions  video audio cufon-active fontface cufon-ready">

CSS 코드에서 이러한 클래스를 사용하여 이전 버전과의 호환성 코드를 추가할 수 있습니다. 다음은 여러 배경 이미지를 사용하는 예입니다.

#nice {
    background: url(background-one.png) top left repeat-x;
}
.multiplebgs #nice {
    background: url(background-one.png) top left repeat-x,url(background-two.png) bottom left repeat-x;
}

프레임워크에 관심이 있는 독자는 Modernizr 공식 웹사이트에서 더 자세한 예제와 사용 방법을 찾아볼 수 있습니다.

  • 오디오 및 비디오 호환성

오디오 및 비디오는 페이지에 있습니다.

멀티미디어 태그가 흔히 사용되지만 브라우저 호환성이 상당히 혼란스럽기 때문에 여기서는 별도의 주제로 다루겠습니다. 오디오 및 비디오는 브라우저에서 기본적으로 지원되는 비교적 초기 기능이므로 오디오 및 비디오 재생은 특히 모바일 플랫폼에서 더 이상 타사 플러그인으로 제한되지 않습니다. 오디오와 비디오는 매우 중요한 부분이며 각 브라우저 제조업체는 가장 큰 부분을 원합니다. 이로 인해 브라우저에서 지원하는 오디오 및 비디오 형식도 차별화되었습니다. 브라우저에서 지원하는 오디오 형식 목록은 다음과 같습니다.

브라우저

버전

지원 형식

Internet Explorer

9.0+

MP3, AAC

크롬

6.0+

Ogg Vorbis, MP3, WAV(9.0+)

Firefox

3.6+

Ogg Vorbis, WAV

사파리

5.0+

MP3, AAC, WAV

오페라

10.0+

오그 보비스, WAV

大约有80%的浏览器支持HTML5的b97864c2e0ef2353a16c4d64c7734e92标签,但是并没有一种统一的音频格式。从支持的格式来看,要让所有的浏览器可以播放audio元素上的音频,最佳的方式是提供MP3和Ogg两种格式,兼容代码如下:

<audio controls>
    <source src="elvis.mp3" type=&#39;audio/mpeg; codecs="mp3"&#39;>
    <source src="elvis.oga" type=&#39;audio/ogg; codecs="vorbis"&#39;>
    <!-- 向后兼容代码:如,显示提示信息、提供下载链接使用flash播放器等 -->
    浏览器不支持<code>audio</code>标签
</audio>

视频也有和音频类似的状况,如下是浏览器支持视频的格式列表:

浏览器

版本

支持格式

Internet Explorer

9.0+

MP4

Chrome

6.0+

MP4,WebM,Ogg

Firefox

3.6+

WebM,Ogg

Safari

5.0+

MP4

오페라

10.0+

WebM,Ogg

从浏览器支持的视频格式来看,最佳的方式是提供WebM和MP4两种格式的视频。兼容代码如下:

<video controls>    
    <source src=video.webm type=video/webm>    
    <source src=video.mp4 type=video/mp4>      
    <!—向后兼容代码: -->      
    <iframe width="480" height="360" src="http://www.youtube.com/embed/xzMUyqmaqcw?rel=0" frameborder="0" allowfullscreen></iframe>  
</video>

【相关推荐】

1. Html5免费视频教程

2. 通过phonegap操作数据库的的教程详解

3. H5中indexedDB 数据库的使用方法详解

4. 为什么现在HTML5的优势越来越大

5. \9和\0可能hack IE11\IE9\IE8无效原因详解

위 내용은 H5 새 태그의 브라우저 호환성 문제에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.