Как загрузить изображение перед JavaScript

В настоящее время я стремлюсь улучшить восприятие веб-приложения, обеспечив загрузку логотипа компании перед javascript.

Для этого я переместил ссылки на JavaScript ниже img элемент для логотипа компании.

Например:

<img src="/Images/Logo.jpg" alt="My Company"/>
<script type="/Scripts/MyScripts.js"></script>

Глядя на Google Chrome Developer Tools, я вижу, что вызов логотипа выполнен, однако он остается "ожидающим" до тех пор, пока весь javascript на странице не будет загружен.

Почему это происходит? Как я могу убедиться, что логотип компании загружен перед javascript?

2 ответа

Попробуй использовать $(window).load для ваших сценариев, если вы используете JQuery.

$( window).load(function() {
    //put js code here
});

По данным этого сайта:

Событие загрузки окна выполняется немного позже, когда вся страница полностью загружена, включая все кадры, объекты и изображения. Поэтому функции, относящиеся к изображениям или другому содержимому страницы, должны быть помещены в событие загрузки для окна или самого тега содержимого.

Что касается отдельных файлов, которые вы должны добавить на свой сайт, используя <script src='path/to/file'>Я рекомендую использовать $.getScript,

$.getScript("path/to/file");

Здесь $.getScript ручной.

Браузер должен загружать и выполнять файлы JS, как только они появятся во время анализа HTML-разметки (по крайней мере, из-за возможного использования document.write в скриптах).

Одним из лучших решений будет добавление onload обработчик событий, который загружает ваш скрипт динамически, когда страница готова:

<script type="text/javascript">
window.addEventListener("load",function () {
    var elem = document.createElement("script");
    element.src = "file.js";
    document.body.appendChild(element);
, false);
</script>
Другие вопросы по тегам