2017-01-12 4 views
0

Я начинаю с сервисных работников (немного опоздал на вечеринку, но лучше никогда не), и я помещаю свой снимок <script>if ('serviceWorker' in navigator) {..}</script> в самом низу, ниже моего другого фрагмента (System.import(...)).Куда поместить снимок ServiceWorker - голова или тело?

Это хорошее место для этого? Где еще я должен поставить стандартный фрагмент сценария на странице: голова или, возможно, начало тела? Или поместить его извне в другой скрипт?

Важнее - почему?

ответ

1

В зависимости от того, насколько тяжелым является ваш работник службы, и сколько JavaScript необходимо выполнить на вашей странице во время первоначального посещения, это может иметь или не иметь значения. Но вы можете прочитать this article о лучших практиках регистрации сервисных работников для более глубокого понимания того, когда это может иметь значение.

вынос из статьи является то, что разумный паттерн использовать

if ('serviceWorker' in navigator) { 
    window.addEventListener('load', function() { 
    navigator.serviceWorker.register('/service-worker.js'); 
    }); 
} 

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

+0

Надеялся, чтобы получить более подробный ответ, но я думаю, это, по крайней мере, частично отвечает тому, что я хотел знать. Извините за последнее подтверждение, я был занят какое-то время и теперь возвращаюсь к этому вопросу. – Zlatko

+0

Есть ли что-то непонятное, прочитав более длинное объяснение в этой статье? На самом деле не имеет значения, где находится этот фрагмент кода, поскольку фактическая регистрация не будет происходить до тех пор, пока не начнется событие 'load'. –

+0

Честно говоря, я не читал статью, просто ваш ответ. Я просмотрю статью более подробно, когда у меня будет время. – Zlatko

Смежные вопросы