2017-09-14 2 views
1

Magento 1.9.3 웹 사이트를 최적화하려고합니다. Google PageSpeed ​​힌트 다음에 js 및 css가 동기로로드되어 페이지 렌더링을 차단한다고 말합니다.Magento에서 PageSpeed ​​용 JavaScript를 비동기로로드

이 문제를 해결하기 위해이 answer에 제시된대로 비동기 로딩을 포함한 모든 자바 스크립트 파일을 준비하고 있습니다.

그래서 내 모든로드 된 스크립트는 다음과 같습니다

<action method="addItem"><type>skin_js</type><name>js/jquery.fancybox.2.1.5.min.js</name><params>defer</params></action> 
<action method="addItem"><type>skin_js</type><name>js/jquery.fancybox.2.1.5.min.js</name><params>async</params></action> 

이 방법은, 다시 페이지 속도를 실행, 더 나은 결과를 제공합니다.

문제는 스크립트 파일이로드되기 전에 스크립트 파일 (.phtml)에있는 스크립트가로드되기 때문에 많은 자바 스크립트 예외가 발생한다는 것입니다. 브라우저 캐시를 지우고 페이지를 새로 고침하면 더 나쁜 것입니다.

그래서이 "문제"를 해결할 더 좋은 방법이 있습니까? 페이지 끝에서 모든 파일을 이동해야합니까? 또는 GooglePageSpeed ​​힌트를 무시하십시오.

미리 감사드립니다.

답변

1

결국 js의 솔루션에는 dom 끝에있는 모든 j를 이동하는 확장 프로그램이 있으며 페이지를로드하는 데 문제가없는 것처럼 보입니다.

확장 프로그램은 페이지 스피드라고하며 미디어 룩스에서 제공됩니다. 작업을 계속할 수있는 한 참고 용으로 링크를 남겨 두겠습니다. 그 전에 많은 DOM이로드되었는지 볼 수 있고 준비가되어 다른 방법 때문에

Magento Google PageSpeed Optimization Extension

어쨌든 나는 내 사용자 지정 스타일 시트는 DOM의 시작 부분에로드되는 방식으로 확장을 구성하도록 강요했습니다, 스타일 시트, 그리고 끔찍한 효과가 주어졌다.

apache mod_pagespeedmod_expires and mod_headers이 잘 구성된 결과와 개선 사항이 있습니다.

이러한 작은 변화를 통해 우리는 좋은 결과를 얻었지만, 무엇보다도 이미지 압축과 자산 축소를 주로 사용했습니다.

0

"지연"을 사용하여 끝에로드 할 수도 있습니다.이로드는 비동기 사용 여부와 상관없이 사용할 수 있습니다.

"지연"을 필요한 순서로로드하는 경우로드하기 전에 필요한 것을 사용하지 않으면 예외를 throw해서는 안됩니다.

+0

위의 폴드 콘텐츠에 필요하지 않은 파일 만 마지막으로 이동한다는 의미입니까? 그것은 magento로 상당히 복잡하고 페이지에서 이전에 필요하거나 나중에 필요한 것을 이해합니다 ... 나는 그 방법을 따르려고 노력하고 있지만 그렇게 안전하지는 않습니다. – sissy