2

웹 프로젝트에 약 40 개의 글꼴을로드하려고합니다. 사람들은 웹 상점에서 사용자 정의 글꼴을 선택할 수 있습니다. Google의 Web Font Loader를 사용하며 IE8 이하를 제외하고는 잘 작동합니다.IE8 이하의 Google 웹 글꼴 (로더)

그래서 Webfont Loader가 Google에서로드해야하는 올바른 글꼴 모음으로 PHP 배열을 인쇄하고 있습니다. 40 개의 글꼴을 모두로드하려고하면 Internet Explorer 8 이하를 제외한 모든 브라우저에서 작동합니다.

글꼴 배열을 6 개의 글꼴로 제한하면 6 개의 글꼴이로드됩니다. 그러나 배열에 하나 이상의 글꼴을 추가하면 IE8에서 글꼴을로드 할 수 없습니다. 내 "네트워크"탭에서 개발자 도구에서 잘못된 요청을 받지만 아직 http 요청의 내 URL은 괜찮은 것 같습니다.

다른 사람이 전에이 문제가 있었습니까? HTTP-Header의 Request URL 길이가 IE8 이하로 제한되어 있습니까?

<script type="text/javascript"> 
    WebFontConfig = { 
     google: { families: /*json_encode(php array here)*/ }, 
    }; 
    (function() { 
     var wf = document.createElement('script'); 
     wf.src = ('https:' == document.location.protocol ? 'https' : 'http') + 
       '://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js'; 
     wf.type = 'text/javascript'; 
     wf.async = 'true'; 
     var s = document.getElementsByTagName('script')[0]; 
     s.parentNode.insertBefore(wf, s); 
    })(); 
</script> 

또한 모든 패밀리를 하나의 '링크'에 붙여 넣으려고했습니다. 하지만 또한 .. IE8 이하의 잘못된 요청.

<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family= /* families */"> 

%에 7

요청 '|' 하고 응답 :

GET /css?family=Aclonica%7CAveria+Serif+Libre%7CBoogaloo%7CCandal%7CCantora+One%7CCapriola%7CCarter+One%7CChewy%7CCoda+Caption:800%7CComfortaa%7CCourgette%7CCreepster%7CCrete+Round%7CDamion%7CDays+One%7CFrancois+One%7CFredoka+One%7CGalindo%7CGloria+Hallelujah%7CIndie+Flower%7CIrish+Grover%7CJust+Me+Again+Down+Here%7CLeckerli+One%7CLobster+Two%7CLondrina+Solid%7CLove+Ya+Like+A+Sister%7CMcLaren%7CMiniver%7CPiedra%7CPlaster%7CPoiret+One%7CQuantico%7CRacing+Sans+One%7CRadley%7CRammetto+One%7CRevalia%7CSchoolbell%7CSmokum%7CSniglet%7CStint+Ultra+Condensed%7CSue+Ellen+Francisco%7CUbuntu+Mono%7CUltra%7CUnifrakturCook:700%7CWaiting+for+the+Sunrise%7CYesteryear HTTP/1.1 

https://docs.google.com/open?id=0B4anyChu_EhkRFNmRmd3UGY4RlU

그리고 정말 이상한 생각 : 나는위한 responseBody 다시 구글에서 올바른 데이터를 얻을 ..

https://docs.google.com/open?id=0B4anyChu_EhkdFVqVjFVUVhFRWs

답변

1

5를로드하여 해결 WebFontLoader를 사용하여 한 번에 글꼴을 IE8 이하에서만 사용할 수 있습니다.

 <script src="http://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js"></script> 
     <script> 
     <?php 
      $splitArrays = array_chunk($families, 5); 
      foreach ($splitArrays as $id => $split) { 
      echo 'WebFont.load({google:{families: ' . json_encode($split) . '}});'; 
      } 
     ?> 
     </script> 

Google Web Fonts don't work in IE8. 이 기사에서는 '< 링크 >'태그를 통해 여러 글꼴을로드하는 방법이 IE8에서 실패하는 이유도 설명합니다. 따라서이 버그는 웹 글꼴 로더를 사용하지 않는 것으로 보입니다.

관련 문제