Итак, я создаю веб-сайт, который будет использовать множество анимированных GIF-ов при наведении мыши.Будет много изображений, и я только хочу загрузить изображения, которые будут использоваться на любой странице.Он использует WordPress, поэтому я могу использовать условные теги, чтобы выводить только URL изображений, которые мне нужны на определенной странице.
Моя проблема заключалась в том, чтобы сообщить браузеру / серверу, какие изображения необходимо предварительно загрузить.Я решил добавить атрибут данных HTML5 к содержащему элементу.
Например, у меня будет DIV с этим PHP:
<div id="home-container" class="preload" data-preload="<?php echo preloadImages(); ?>"></div>
, который вызовет эту функцию в PHP:
function preloadImages() {
global $post;
$templateURL = get_template_directory_uri();
$images = array();
if( is_page('test') )
$images[] = "'".$templateURL."/images/gifs-static/button-info-tab-close-off.gif'";
$images[] = "'".$templateURL."/images/gifs-animated/button-info-tab-close.gif'";
}
return implode(", ", $images);
}
Таким образом, вывод будет таким:
<div id="home-container" class="preload" data-preload="'http://example.com/images/gifs-static/button-info-tab-close-off.gif', 'http://example.com/images/gifs-animated/button-info-tab-close.gif'"></div>
И затем я запускаю этот JavaScript:
jQuery('.preload').each(function(){
var images = [
// Comma separated list
jQuery(this).data('preload')
];
jQuery(images).each(function() {
jQuery('<img />').attr('src', this).addClass('preloaded').appendTo('body').hide();
});
});
Проблема в том, что JavaScript не любитсписок через запятую.Если я просто пишу в URL-адресах, это работает нормально.Так есть ли лучший способ передать эти URL?Или вообще лучше?