Отложите разбор JavaScript в rails 3.1 с помощью nginx и единорога - PullRequest
0 голосов
/ 23 марта 2012

Я использую рельсы 3.1 + nginx + единорог в линоде VPS с 512 МБ RAM и Ubuntu 10.04 64bit и Mongodb для моего проекта.

Я получаю оповещение в Google PagesSpeed ​​на моем производственном сервере, как вы можете видеть на следующем изображении:

enter image description here

У меня есть предварительно скомпилированные активы, и они работают нормально.

Тогда мой вопрос:

как убрать это предупреждение в рельсах моего проекта 3.1?

Спасибо!

Ответы [ 2 ]

1 голос
/ 24 марта 2012

Возможно, не стоит настраивать это, если профилирование загрузки страницы не говорит о том, что оно особенно медленное.

У вас уже должен быть тег javascript, расположенный внизу страницы вместо заголовка, и (как указано в другом ответе) любой код, который должен ждать, пока DOM не будет готов внутри блока готовности.

Это гарантирует, что страница будет загружаться первой вместе с CSS, и может начать рендеринг во время загрузки и запуска JS.

Отсрочка синтаксического анализа наиболее полезна, когда к странице прикреплено большое количество функций, предназначенных для взаимодействия с пользователем и не требующих отображения страницы.

Подробнее здесь .

0 голосов
/ 23 марта 2012

Любой код, который не нужно загружать во время загрузки страницы, можно загрузить после использования jQuery или JavaScript. Я покажу вам оба

JavaScript:

window.onLoad = function(){ //defers js to load on window ready }

JQuery:

$(document).ready(function(){
  //defers js to load on document ready

});

Вы можете использовать любой из этих методов.

Для загрузки асинхронного скрипта вы можете найти его в Google и получить тысячи примеров.

...