좋은 프로그래머 웹 프런트 엔드 튜토리얼 방법 CSS의 비동기로드의 일부를 공유하기

  좋은 프로그래머 웹 프런트 엔드 튜토리얼 공유 로드 비동기 CSS의 몇 가지 방법은 , 우리가 페이지를 쓸 때, 우리는 가장 중요한 작업이 페이지의 성능과 유연성 로딩 속도 개선하는 것입니다 지연없이 페이지를 표현 하는 양식을 로드 CSS를. 이는이다 에서 , 기본

  브라우저 동기화 외부 부하 CSS

  - 다운로드 및 CSS를 구문 분석 할 때 모든 페이지 렌더링에 영향을 미치는

모두 잠재적 인 지연을 초래할 수 있습니다.

  물론, 이는 페이지를 렌더링 시작하기 전에, 당신이해야 최소한 의 사이트로드 는 CSS의 일부를, 즉시 초기 CSS 브라우저에 추가하기 위해, 우리는 인라인 CSS를 권장합니다 . 경우 혼자 충분하지만 것이다 전체 사이트의 소수에 대한 큰 CSS (예, 이상 15 20킬로바이트에) 우선 순위에 따라 성능을 도울 수있다, 그것을 깰 수 있습니다. 분할 후에는 -aka 배경에 있어야 덜 중요한로드 CSS의 비동기 . 이 글에서, 내 목표는 나를 설명하는 A의 실제로 요즘, 이미 존재하는 기본 방법 오랜 시간 동안.

  이 비동기 로딩 여러 가지 방법에게 있습니다 CSS는, 그러나 예상대로 어떤 방법으로 직관적. 그리고 스크립트 다른, 아니 요소 비동기 또는 연기 속성은 단순히 지난 몇 년 동안 우리는 loadCSS 프로젝트를 유지하고 있으므로, 요소를 링크에 적용 할 수있는 비동기로드 CSS의 과정을 쉽게합니다. 최근에는 브라우저 표준화 된 더 이상 사소한 차이를 다루는이 loadCSS 같은 전용 스크립트를 필요로하지 않을 수 있으므로 CSS로드 동작을하고 .

  오늘, 우리는 다양한 브라우저를 처리하는 방법을 배웠 링크 요소의 속성에 대한 약간의 지식, 우리는 짧은 비동기 로딩 CSS의 HTML을 통해 결과를 얻을 수 있습니다. 여기서, 가장 쉬운 방법은 비동기로드 스타일 시트는 다음과 같습니다

<링크 확인해 = "스타일 시트"HREF = "/ 스타일 / index.css"미디어 = "인쇄"온로드 = "this.media = '모든'">

  이 라인 간단한 HTML하지만 매우 직관적 아니다는, 그래서 여기에 무슨 일이 있었는지 분해 할 수 있습니다.

  첫째, 링크의 미디어는 인쇄 설정 때문이다. "인쇄"는 미디어 유형, 그것은, 즉, 그들은 사용자가 페이지를 인쇄 할 때 적용되는 "규칙 기반의 인쇄 매체가이 스타일 시트를 적용하는"말한다. 브라우저로드 : 인정 하듯이, 우리는 우리의 스타일, 우리는 재미 있고 유용한 효과를 얻을 수있는 모든 미디어 (특히 화면)보다는 인쇄에 적용되지만 미디어 유형과 일치하지 않습니다 현재의 환경을 선언하여 원하는 지연 페이지 렌더링없이 스타일, 비동기! 유용합니다,하지만 우리는 그들 모두를 원하지 않을 것. 우리는 또한 실제 CSS를로드 한 후 희망 하는 적용 환경을 화면. 이를 위해, 우리가 사용할 수있는 모든로드 완료 미디어 설정을 링크 onload 속성을.

  기존의 조리법을 통해 소개 된, 우리는 새로운 처방전을 살펴 보자, 예, 같은! 지난 몇 년 동안, 우리가 사용하고있는 상기 모드 (REL 스위칭 특성 미디어 속성이로드되지 않음)과 유사 링크 [REL = 예압 (대신 REL = 스타일)를 달성했다. 여전히 작동 할 수 있습니다이 방법을 사용하지만, 우리는 몇 가지 단점은 사용을 미리로드 고려해야합니다. 당신이 다음 (예를 들어 작성 크로스 브라우저를 얻을 수에 의존하고 스타일 시트를 적용 할 경우, 그래서 첫째, 브라우저는 여전히 부하 지원에 특히 좋지 않다 필요 loadCSS을). 더 중요한 것은 이 점이다 PRELOAD는, 가능한 한 빨리 가장 높은 우선 순위를 파일을 얻을 다른 중요한 다운로드에 우선 순위를 부여 할 수 있으며, 실제로 중요하지 않은 CSS보다 더 높은 우선 순위를해야 할 수도 있습니다.

  당신이 제공하는 높은 우선 순위 추출 할 일이면 다행히, (그것을 지원하는 브라우저에서) 확인해 = 프리로드를, 당신은 위의 모드를 결합 할 수 있습니다.

<링크 확인해 = "프리로드"HREF = "스타일"온로드 = "this.rel = '스타일'"로 "스타일 / index.css을">

  이는 이전 방법 아 다르지 않습니다! 네, 그것은 않지만, 문법의 일부를 다음, 더 나은. 다른 하나는주의 깊게이 속성으로 = "스타일"을 찾을 포인트, 그래서 단지 CSS 파일에 사용할 수 없습니다 미리로드하지만, 리소스 파일의 대부분에서 사용할 수 있다는 것입니다.

  <링크 확인해 = "프리로드"HREF = "스타일 / index.css"= "스크립트"로>

 

  우리는 만들 수 있습니다 그것을 가리 키도록 스크립트 태그를 :

  VAR 스크립트 = document.createElement ( "스크립트");

  script.src = "scriptfile.js";

  document.body.appendChild (스크립트);

  부하가 잘되어했기 때문에 요청을 보내지 않습니다 캐시에서 바로이 시간에이 파일을 브라우저를 가져 가라.

  그래서 속성과 어떤 자원 파일은 지원 미리로드? 다음은

  • 세례반
  • 영상
  • 목적
  • 스크립트
  • 스타일

단지 구글 너무 완벽한 지원을 위해 너무 많이 생각하지 마십시오.


당신은 또한 사용할 수 있습니다 달성하기 위해 자바 스크립트를 :

  $ (창) .load (함수 () {

      // 비동기 지연로드 패턴

      VAR 링크 = $ ( '<링크 />');

      link.attr ( 'HREF', '/styles/index.css');

      link.attr ( 'REL', '스타일');

      link.appendTo ($ ( '머리'));

      link.load (함수 () {

          console.info는 ( '성공적으로로드 ...');

      });

  

이 콘텐츠는 의사 원본 기사, 소스를 표시하시기 바랍니다 것입니다.

추천

출처www.cnblogs.com/gcghcxy/p/11271696.html