Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Открытие нового окна с картинкой


Автор: Golden Hands 28.5.2005, 22:03
Пишу так:

Код

<script language="JavaScript">
<!-- 
function openWin(windowURL,windowName,windowFeatures)
{ 
return window.open(windowURL,windowName,windowFeatures)
}; 
var newWin;
function openW(url)
{
var width = 400;
var height = 300;
var left = parseInt((screen.availWidth/2) - (width/2));
var top = parseInt((screen.availHeight/2) - (height/2));
var windowFeatures = "width=" + width + ",height=" + height + 
",status,resizable,left=" + left + ",top=" + top + 
",screenX=" + left + ",screenY=" + top + "toolbar=0,location=0,directories=0,status=0,menuBar=0,scrollBars=1,resizable=1";
newWin = openWin(url,'Kartinka1', windowFeatures); 
newWin.focus();
}
-->
</script>


И вызываю:

Код

<a href="#" onClick="openW('new.gif')">Kartinka1</a>


Возможно ли, чтобы размеры нового окна были по размеру картинки?

Автор: Aliance 29.5.2005, 09:54
Читаем (а лучше по возможности передаем аргументами) высоту / ширину картинки и подставляем в эти переменные:
Цитата(Golden @ 28.5.2005, 23:03)

var width = 400;
var height = 300;


Автор: Aliance 30.5.2005, 09:03
Код

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<HEAD>
<TITLE>© AlianceHTMLEditor [ http://editor.sut.net.ru/editor.html ]</TITLE>
<script type="text/javascript" language="JavaScript">
<!--//--><![CDATA[//><!--

function showNewImg (uri, im) {
   var img = new Object();
   img['q'] = new Image();
   img['q'].src = im;
   var h = img['q'].height;
   var w = img['q'].width;
   var win = window.open(uri,'newWin','width='+w+',height='+h);
   win.document.write('<IMG src="'+img['q'].src+'">');
}

//--><!]]>
</SCRIPT>
</HEAD>

<BODY>

<INPUT type="button" value="Картинка №1" onclick="showNewImg('1.html', 'd.gif')" />
<BR />
<INPUT type="button" value="Картинка №2" onclick="showNewImg('2.html', 'shield77.gif')" />
<BR />
<INPUT type="button" value="Картинка №3" onclick="showNewImg('3.html', 'Morgenshtern.gif')" />

</BODY>
</HTML>

Автор: Sardar 30.5.2005, 17:51
Aliance ты не подумал что картинка не загруженна, следовательно размеры еще не известны smile
Второе, зачем создавать переменную img, в поле q которой кидать обьект-картинку? Я понимаю когда применяют лишние переменные для ястности кода, дабы убрать длиннющие строчки выражений, но писать абсолютно бессмысленный код - это перебор.

Тема обсуждалась много раз, кючевое слово resizeTo: http://forum.vingrad.ru/index.php?showtopic=51419

Короче открываем окно, в нём грузиться страничка с картинкой. В body.onload обработчик изменяющий размер окна как всё подзагрузиться(картинка).

Автор: Aliance 30.5.2005, 21:17
Sardar
Так тут спрашивалось, имхо, именно как сразу открыть с нужными размерами :-)
Хотя resizeTo сдесь конечно уместен.

Цитата(Sardar @ 30.5.2005, 18:51)
ты не подумал что картинка не загруженна, следовательно размеры еще не известны

Для этого и делал предзагрузку... у меня все работает =)

Автор: Golden Hands 30.5.2005, 23:32
Благодарю.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)