Что я делаю: Попытка вызвать Fancybox из iFrame, который будет добавлен к родителю, а не в iFrame, при анализе URL для использования с параметром Fancybox 'href'.
Проблема: Это используется для формы загрузки изображения пользователя, первая загрузка дает желаемый результат; всплывающее окно с изображением. Последующие попытки приводят к тому, что Fancybox связывается с первым изображением, как будто оно его кеширует. URL-адрес никогда не изменяется, так как каждая загрузка перезаписывает последнее изображение, но изображение меняется.
Обновление страницы начнет этот цикл снова. Если вы щелкнете правой кнопкой мыши по ссылке и откроете в новом окне / вкладке, вы получите новое изображение, а затем fancybox также будет обновлен для этого изображения.
Код: Этот код выводится php после того, как пользователь успешно загрузил изображение - в надежде создать ссылку на это изображение.
echo "<p>" . '<a id="image-preview" href="/images/uploads/' . preg_replace("/[^A-Za-z0-9_]+/", "", $result[0]['Klarents_Model_Project']['project_name']) . '/' .
preg_replace("/[^A-Za-z0-9_]+/", "", $result[0]['Klarents_Model_Company']['company_company_name']) . '_' .
(($this->getRequest()->getParam('filename') !== "") ?
$this->getRequest()->getParam('filename') : $result[0]['Klarents_Model_Company']['company_id']) .
"." . $ext . '" onclick="event.preventDefault();parent.fbuPreview($(this).attr(\'href\'));">Image preview' . "</a></p>";`
И это можно найти на родительской странице.
function fbuPreview(url){
$.fancybox({
'href' : url
});
}
С уважением,