Задача
По клику на ссылке с маленького изображения открывать увеличенное изображение в новом окне. Окно должно быть автоматически масштабировано размером с картинку.
Решение
В Templates/common.js добавляем javascript-функции следующего вида:
//Image popup
var win;
function ImagePopUp(url){
if (url){
url = "$ServerPath$" + url;
if (win) win.close();
win = window.open('about:blank', '', 'width=300,height=300,status=0,toolbar=0,location=0,scrollbars=0,menubar=0,resizable=0');
var d = win.document;
d.write('<HTML><HEAD><META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=windows-1251"></HEAD>');
d.write('<BODY><IMG style="DISPLAY: none" src="'+url+'" onload=window.opener.resize()>');
d.write('<TABLE id=maintable style="DISPLAY: block" height=300 width=300>');
d.write('<TR><TD style="FONT: 10pt Tahoma" vAlign=center align=middle>Подождите, идет загрузка изображения...</TD></TR>');
d.write('</TABLE></BODY></HTML>');
}
}
function resize(){
win.document.images[0].style.display = 'block';
win.document.getElementById('maintable').style.display = 'none';
var w = win.document.images[0].width+9;
var h = win.document.images[0].height+29;
win.resizeTo(w, h);
win.focus();
}
В ссылке с маленькой картинки мы указываем вызов функции javascript:ImagePopUp('путь к картинке').
Внимание, данный код приведен только как пример, демонстрирующий логику работы, в нем могут быть ошибки. Вы можете менять его под свои нужды.