JQuery FancyBox - отображение перезаписанных изображений - PullRequest
0 голосов
/ 21 февраля 2012

Я разрабатываю элемент управления изображением профиля пользователя.Этот элемент управления позволяет пользователям загружать свое собственное изображение для своего профиля, которое отображается в виде небольшого эскиза, спрятанного в углу страницы.Я использую FancyBox для отображения полноразмерного изображения.Вот проблема, когда новое изображение загружено, FancyBox показывает новое изображение с теми же размерами, что и исходное изображение!

Эта проблема не существовала бы, если бы при каждой загрузке изображения генерировался новый URL-адрес, но я получаю URL-адрес своего изображения на основе идентификатора пользователя.Например: url = "../ profileImages / user_3.jpg" Другими словами, загрузка нового изображения профиля перезаписывает текущее изображение.

Для некоторых из вас, экспертов, я пытался добавить запроспараметр для URL, например: "../profileImages/user_3.jpg?value=123", и он не работает.

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

<html>
<head runat="server">
<title></title>
<script src="../jquery-1.6.2.js" type="text/javascript"></script>
<script src="../fancybox-1.3.4.js" type="text/javascript"></script>
<script src="../fancybox-1.3.4.pack.js" type="text/javascript"></script>
<link href="../jquery.fancybox-1.3.4.css" rel="stylesheet" type="text/css" />

<script>
$(document).ready(function() 
{
$("#example").fancybox() 
});
</script>
</head>
<body runat="server">
<div>
<a id="example" href="TestImg.jpg"><img alt="example" src="TestImgThumb.jpg" /></a>
</div>

</body>
</html>
  1. Создание двух изображений.желательно люди, чтобы вы могли видеть проблему растяжения шкалы более четко.Убедитесь, что первое изображение заметно больше первого и назовите его: TestImg.jpg

  2. Откройте веб-страницу в браузере и просмотрите изображение через FancyBox.

  3. Теперь удалите первое изображение и переименуйте второе (меньшее) изображение в: TestImg.jpg

  4. Откройте веб-страницу еще раз, чтобы увидеть проблему.Изображение в гиперссылке будет нормальным, но изображение, отображаемое FancyBox, растянуто до размеров исходного изображения.

Если вам нужно что-то прояснить, я буду счастливобязать.

1 Ответ

0 голосов
/ 30 мая 2012

Я обычно создаю изображение с отметкой даты и времени для миниатюры. например, в вашем случае, [UserId_yyyyMMdd_hh_mm_ss] .jpg, а затем сохраните это в моей базе данных. Я также перезапишу исходный файл в файловой системе, чтобы вы могли манипулировать этим позже, но изображение, которое вы хотите обработать, это то, которое вы сохранили в базе данных с уникальным именем.

Похоже, что вы хотите избежать сохранения URL-адреса изображения (или изображения) в базе данных, поэтому у вас возникают проблемы с кэшем. Использование только идентификатора пользователя не является хорошей идеей для изображений такого типа, не является хорошей идеей, поскольку вы столкнетесь с проблемами с кешем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...