1

요즘 IE8에 실망한 상황이 있습니다. 가장 이상한 일입니다. 이전에 코드 작업이 중단되었습니다. header, footer, articlenav과 같은 HTML5 태그를 사용하여 외부 CSS 스타일 시트에서 상대방 CSS 선택기와 함께 사용하는 경우에 문제가있는 것으로 보입니다. 문제는 : 갑자기 CSS 스타일이 내 마크 업에 더 이상 적용되지 않습니다. 스타일 시트가 전혀없는 것 같습니다.html5 선택기를 사용할 때 CSS 스타일이 적용되지 않습니다. CSS 렌더링과 관련하여 브라우저에 대해 뭔가 바뀌 었습니까?

저는 404 오류뿐만 아니라 JavaScript 오류도 발생하지 않도록했습니다.

또한 DOCTYPE을 검사하여 내 HTML 문서가 표준 모드에 있고 브라우저에 이런 경우가 있음을 확인했습니다.

또한 브라우저가 HTML5 태그를 특수 브라우저로 보는 것은 아니지만 (최신 브라우저처럼) HTML5 태그를 변경하지 않고 계속 사용할 수 있어야합니다. 각각의 선택자가있는 CSS 스타일 시트.

적어도 그게 내가이 다른 유래 포스트에서받은 인상이다 : https://stackoverflow.com/a/7801476/295019

항상 그런 것이 있었거나 내가 모든 시간이 잘못되었습니다.

내 코드에서 HTML5 태그를 사용할 수 있어야하거나 내 코드가 실패 할 경우 사용하는 것이 무엇인지 알았습니다. 꽤 많은 사람들이 그것을 사용한다는 점을 감안할 때 IE8에서 작동하는 웹 사이트를 구축하는 것이 가장 좋습니다. (예 : 고객이 여전히 자신의 페이지에 대한 작업을 요청합니다.)

나는이 시점에서 Mac에서 작업하고 Internet Explorer 8이 설치된 VirtualBox에서 실행되는 Windows 7의 가상 컴퓨터 버전에서 테스트하십시오. 어쩌면 그건 내 문제와 관련이있다. 그러나, 나는 그것이 작동 할 것이라는 희망으로 여러 번 컴퓨터를 다시 시작했습니다. 또한 Flash가 설치되어 있고 설치가 손상되지 않았 음을 확인했습니다. 내 지식은 최대한 유용합니다.

어떤 일이 벌어지고 있는지 알 수있는 사람이 있습니까? 또는 비슷한 경험이 있습니까?

도움을 주시면 감사하겠습니다.

+0

글쎄, 나는 그것이 전부라고 생각한다. 나는 그것이 왜 효과가 있다고 생각하게되었는지 어리둥절하게 여겼다. 소년은이 오류를 해결하는 방법을 많이 배웠습니다. 모든 도움을 주셔서 감사합니다. 답장을 보내 주셔서 감사합니다. 이것은 매우 유익했습니다. – racl101

+0

당신은 내 대답에 대한 귀하의 의견에 대한 내 답장을 잊어 버린 것 같습니다 ... – BoltClock

답변

4

불행하게도, 당신은 IE8이 HTML5 요소와 작동있어 인상이 올바르지 않습니다. IE8은 <section> 또는 <header>과 같은 요소와 제대로 작동하지 않습니다. 페이지에서 이러한 요소를 사용하면 IE8의 주요 문제가 발생할 수 있습니다.

그러나 좋은 소식은이 문제에 대한 간단한 해결책이 있다는 것입니다.

수정 프로그램은 html5Shiv이라는 스크립트입니다.

이 스크립트는 IE의 이전 버전에서 HTML5 요소를 작동시키기 위해 몇 가지 자바 스크립트 해킹을 사용합니다. (즉, 단지 페이지가 깨지는 것을 막습니다. 분명히 새로운 HTML5 기능을 추가하지 않으므로 <canvas>이 갑자기 생기가 날 것이라고 기대하지 마십시오!)

이 스크립트를 페이지 상단에 추가하기 만하면됩니다.

또 다른 옵션은 Modernizr이라는 스크립트입니다. 여기에는 html5Shiv 기능이 포함되어 있으며 호환성 검사의 또 다른 레이어가 추가되어 현대 사이트를 만들려고해도 오래된 브라우저를 지원할 경우 매우 유용 할 수 있습니다.

희망이 있습니다.

2

이 유 도움이 될 :

<!--[if lt IE 9]> 
<script> 
document.createElement('header'); 
document.createElement('nav'); 
document.createElement('section'); 
document.createElement('article'); 
document.createElement('aside'); 
document.createElement('footer'); 
document.createElement('hgroup'); 
</script> 
<![endif]--> 

http://www.nickyeoman.com/blog/html/118-html5-tags-in-ie8

+1

도움이 될지 모르지만 불행히도이 문제를 해결할 수없는 다른 버그가 있습니다. 전체 html5shiv 스크립트를 사용하는 것이 더 좋습니다. 그것은 모든 문제를 해결합니다. – Spudley

+0

매우 흥미 롭습니다. HTML5 요소를 만들 수 있다는 것을 몰랐습니다. – racl101

+0

이것은 ** 아주 오래되었다는 것을 알고 있지만 이렇게해볼 수 있습니다 : for (var i = 0, t = [ 'header', 'nav', 'section', 'article', 'aside' , 'footer', 'hgroup'], l = t.length; i

1

IE8은 HTML5 마크 업을 지원하지 않습니다. 당신이 당신의 머리 아프를 없애고 싶다면 당신은 오래된 브라우저가 새로운 HTML 코드를 suport하기 위해 javascrip 라이브러리를 사용할 것을 제안 할 것입니다. 모더니져처럼 http://modernizr.com/

관련 문제