Потяните в HTML-ресурс в фоновом режиме в JQuery - PullRequest
4 голосов
/ 25 июня 2011

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

$("#my_button").click(function(){
    $("#my_dropdown").html("<img src=\"http://mysite.com/image.jpg\" />"); 
});

Я бы хотел получить изображение при загрузке страницы, чтобы оно было готово к работе, когда пользователь нажимает раскрывающийся список.Как я могу это сделать?Я думал, что смогу вставить изображение на страницу с установленным display:none, чтобы оно попадало в кеш, или есть способ загрузить его, когда документ загружается в jQuery?

Это длярасширение Chrome, если оно имеет какое-либо значение.Я полагаю, я мог бы поместить изображение в расширение (и это было бы быстрее), но мне все еще любопытно, можно ли загрузить изображение с помощью JS.

Спасибо, Кевин

Ответы [ 2 ]

7 голосов
/ 25 июня 2011

Да. Просто определите его как новое изображение в вызове ready () страницы:

$(document).ready( function() {
     var preload = new Image();
     preload.src = "http://mysite.com/image.jpg";
});

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

6 голосов
/ 25 июня 2011

Вы можете предварительно загрузить каждое изображение ...

$(document).ready(function() {
    (new Image()).src  =  '/path/to/myImage.jpg';
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...