У меня есть мобильный сайт с jQuery Mobile. Я хочу иметь стандартные изображения для устройств без сетчатки (устройства без высокой плотности пикселей), но хочу, чтобы эти изображения были заменены изображениями сетчатки (с высокой плотностью пикселей), которые в 2 раза больше оригинала при просмотре на устройстве с высокой плотностью пикселей. Я нашел эту статью здесь: http://flowz.com/2010/07/css-image-replacement-for-iphone-4-high-dpi-retina-display/
Мой jQuery для реализации ищет изображения с class="replace-2x"
и заменяет стандартное изображение одним по тому же пути с добавлением @2x
к имени файла. Таким образом, logo.png
будет заменено на [email protected]
на устройстве Retina. Мой jQuery выглядит так:
function highdpi_init() {
if(jQuery('.replace-2x').css('font-size') == "1px") {
var els = jQuery(".replace-2x").get();
for(var i = 0; i < els.length; i++) {
var src = els[i].src
src = src.replace(".png", "@2x.png");
els[i].src = src;
}
}
}
jQuery(document).ready(function() {
highdpi_init();
});
Однако, когда страница загружается, эта функция не вызывается или не работает (одна или другая), поэтому я не уверен, нужно ли мне вместо этого что-то вроде $(".page").live('pageinit', function() {
или что, чтобы функция срабатывала или «работала» при загрузке страницы? Помощь?? :)
jQuery(".replace-2x").attr("src", newImageName)
, чтобы уменьшить количество источников ошибок. - person devsnd   schedule 05.04.2012