이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 15529|회답: 1

[부츠스트랩] IE6, IE7, IE8, IE9, IE10, IE11 부트스트랩 지원 방법

[링크 복사]
게시됨 2016. 8. 3. 오후 10:55:23 | | |

유사점이 있다면 영광입니다. 재인쇄되면 알려주세요
IE6, IE7, IE8, IE9, IE10, IE11 부트스트랩 지원 방법

최근에 웹사이트를 만들었는데, 부트스트랩이 매우 좋다고 항상 느꼈습니다. 이번에는 bootstrap3, Chrome, Firefox, Safari, Opera, 360 브라우저(속도 모드)를 사용했고, Sogou 브라우저 등 다른 브라우저들은 문제 없었습니다. IE8과 IE11에서는 스타일을 표시할 수 없었습니다. 그 후 여러 Baidu를 사용했고, 결국 네티즌 Yapeng.com 게시물의 도움으로 문제를 해결했습니다. Qianxun Learning Network도 참고하세요. 해답은 다음과 같이 요약됩니다:


먼저, HTML 페이지가 DOCTYPE 선언으로 시작하는지 확인하세요. DOCTYPE은 브라우저에 HTML 문서를 파싱할 때 어떤 HTML 또는 XHTML 명세를 사용해야 하는지 알려주며, 이는 다음과 같은 요소에 영향을 미칩니다:
태그, 속성 및 속성에 대한 제약
브라우저의 렌더링 모드에 영향을 미치며, 다양한 렌더링 모드는 브라우저가 CSS 코드와 심지어 Javascrip{filter}t 스크립트를 파싱하는 데 영향을 줍니다
DOCTYPE이 매우 중요하며, 현재 모범 사례는 HTML 문서의 첫 줄에 다음과 같이 입력하는 것입니다:
<!DOCTYPE html>


부트스트랩을 찾은 이유는 여러 가지가 있습니다. 신의 글에 요약된 것처럼, 우선 부트스트랩3는 모바일 기기 우선 원칙에 따라 개발되었기 때문에 이유는 다음과 같습니다:
1. 원격 주소가 올바르게 호출되지 않음
즉, IE9 이하라면 두 개의 특수 js를 호출하세요
<!-- HTML5 Shim과 Respond.js IE8 지원, HTML5 요소 및 미디어 쿼리 -->
<!--[만약 예 9]>
  <scrip{filter}t src="http://apps.bdimg.com/libs/html5shiv/3.7/html5shiv.min.js"></scrip{filter}t>
  <scrip{filter}t src="http://apps.bdimg.com/libs/respond.js/1.4.2/respond.min.js"></scrip{filter}t>
<![끝]-->
하지만 테스트해보니 위 js 파일만 사용하는 것은 현실적으로 불가능하다는 것을 알게 되었습니다.
2. 호출 방식이 잘못됨
respond.min.js, respond.js, CSS 파일을 file:// 또는 @import 형태로 참조하지 마세요


3. 브라우저의 콘텐츠 식별 (메타 태그를 사용하여 브라우저의 렌더링 방식을 조정함)
부트스트랩은 IE 호환성 모드를 지원하지 않으며, IE가 최신 렌더링 모드를 실행하려면 다음 태그들이 페이지에 추가됩니다

IE=edge는 최신 IE 커널이 강제로 적용되었음을 의미하며, chrome=1은 IE6/7/8 및 기타 버전용 브라우저 플러그인 Google Chrome Frame이 설치되어 있을 경우(이로 인해 사용자의 브라우저가 여전히 IE의 메뉴와 인터페이스처럼 보일 수 있지만, 실제로 웹 탐색 시 Chrome 커널을 사용하고 있음), 이 경우 Chrome 커널이 렌더링에 사용됩니다. 이 메타 태그에 대한 구체적인 설명은 StackOverflow의 훌륭한 답변을 참고하시고, <meta>태그 전문가의 영어 설명은 여기에서 확인할 수 있습니다
http://stackoverflow.com/questions/6771258/whats-the-difference-if-meta-http-equiv-x-ua-compatible-content-ie-edge-e
나는 덧붙였다
<meta http-equiv="X-UA-Compatible" content="IE=9" />
그리고 그게 바로 그 순간입니다
커널은 메타 태그를 제어하는데, 중국의 현재 주류 브라우저들은 이중 커널이기 때문에, 메타 태그는 브라우저에 페이지를 렌더링할 때 어떤 커널을 사용할지 알려주기 위해 추가됩니다


4. IE8은 컨테이너의 여러 속성을 지원하지 않습니다
IE8은 박스 크기를 완전히 지원하지 않습니다: border-box는 최소 너비, 최대 너비, 최소 높이, 최대 높이 중 하나로 사용됩니다. 따라서 부트스트랩 v3.0.1의 컨테이너 클래스는 더 이상 최대 폭을 사용하지 않습니다.


CSS가 도입되는 순서5.JS 문제
js를 인용하기 전에 반드시 CSS를 인용해야 합니다
<link rel="stylesheet" type="text/css" href="bootstrap.min.css" media="screen"/>
<scrip{filter}t type="text/javascrip{filter}t" src="js/respond.min.js"></scrip{filter}t>


6. DOCTYPE은 앞뒤로 빈칸 줄을 가지고 있습니다
<!DOCTYPE html>
여기에 공백이 있는 것은 옳지 않으며, 공백을 제거해야 합니다
<html>


7. bootstrap.css 수동 수정도 가능합니다
부트스트랩 2.1.1을 사용 중이라면 navbar-inner{ filter:none}을 수정하면 문제를 해결할 수 있습니다. 버전 3.0+를 사용 중이라면 코드가 없으니 자세한 내용은 연결 상태를 참고해 주세요
http://stackoverflow.com/questions/12460190/bootstrap-navbar-does-not-show-in-ie8


8. 개성 모드 사용
웹 페이지를 정의할 때, 구형 브라우저와 하위 호환되는 모드는 퀴크 모드이며, 이에 대응하는 "표준 모드"는 표준 모드입니다. 구체적으로, <!DOCTYPE html>는 이전과 동일하게 작성되었습니다
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
이 방법을 테스트해봤지만, 현실적으로 불가능합니다


마지막으로 IE11에서 테스트했지만 IE8에서 테스트했는데 플레이스홀더가 지원되지 않는 문제가 있음을 발견했습니다
IE가 플레이스홀더를 지원하는 문제를 해결하는 방법은 다음과 같습니다
이 글에서 언급한 jquery는 1.11.1에서 테스트되었으며, jquery가 먼저 참조됩니다
<scrip{filter}t type="text/javascrip{filter}t" src="http://code.jquery.com/jquery-1.11.1.min.js"></scrip{filter}t>
다른 jquery 버전도 사용할 수 있습니다
그다음 <scrip{filter}t type="text/javascrip{filter}t" src="js/jquery.placeholder.js"></scrip{filter}t를 도입합니다>
이 파일의 다운로드 주소jquery.placeholder.js https://github.com/mathiasbynens/jquery-placeholder
그 다음 파일에 코드를 추가하세요
<scrip{filter}t type="text/javascrip{filter}t">
    $(함수 () {
        플러그인을 호출하세요
        $('입력, 텍스트 영역').placeholder();
    });
</scrip{filter}t>
제가 관련되어 있거나 문제가 아직 해결되지 않았다면 더 자세한 http://hustlzp.com/post/2014/01/ie8-compatibility 알려주세요


위의 IE6, 7, 8, 9, 10, 11, 크롬, 파이어폭스, 사파리, 오페라, 360 브라우저(속도 모드), 소고우 브라우저 테스트는 통과했지만, IE5.5만 가능해 보입니다. 요컨대, 문제는 여기서 해결되었습니다. 모든 악마 IE6 - 간장이라고 부르세요


jquery.placeholder.js 사용을 원하지 않는다면, 브라우저에서 플레이스홀더 에뮬레이션 구현을 더 이상 지원할 수 없습니다
자세한 내용은 이 기사를 참고하시면 됩니다 http://ju.outofmemory.cn/entry/1595




이전의:Winform이 원격 사진을 다운로드하여 표시합니다
다음:Nhibernate에서 단독 인수 하에 있는 일부 예외는 무효가 될 수 없습니다
 집주인| 게시됨 2016. 8. 3. 오후 11:05:15 |
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com