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


Автор: BenderRodrigez 18.3.2008, 13:00
Здравствуйте)Подскажите,пожалуйста что я делаю не так:Мне необходимо открыть рисунок в новом окне,так чтобы размеры окна были равны размерам рисунка.Но вместо того,чтобы вывести то,что мне надо выводится новое окно с искаженным рисунком и отступами от рамки 
окна.
Вот код:
Код

<a href=logo4.gif target='_blank' onClick="popupWin = window.open(this.href,'contacts', 'menubar=0,directories=0,location=0,toolbar=0,status=0,resizable=0,scrollbars=0, top=0,left=0,right=0,border=0,right=0,width=286,height=68'); popupWin.focus(); return false;">Картинка</a>

Автор: bars80080 18.3.2008, 13:17
как ни странно, у меня всё открывается нормально, но я всё же предложил бы облегченную запись, остальное излишне:
Код

<a href="#" onClick="popupWin = window.open('zzz.jpg','contacts', 'width=286, height=68'); popupWin.focus(); return false;">картинка</a>

чтобы небыло отступов, то тебе надо либо открывать уже существующее окно со стилями
Код

* { margin: 0px; padding: 0px }

и закидывать адрес картинки в него методом get и сервером вставлять его

если же чисто на js, то лучше будет примерно так:
Код

<script>
function popup1(x) {
popupWin = window.open('','contacts', 'width=286, height=68'); 
popupWin.document.write('<style>* { margin: 0px; padding: 0px }</style>');
popupWin.document.write('<img src="' + x + '" width="100" />');
popupWin.focus(); return false;
}
</script>
<a href="#" onClick="popup1('zzz.jpg')">картинка</a>

Автор: BenderRodrigez 18.3.2008, 13:30
Оба кода у меня выводят окно нужного размера,но изображение в нем искажается...

Автор: bars80080 18.3.2008, 13:47
если вы знаете изначальные размеры картинки, то можно сделать так:
Код
<script>
function popup1(x, w, h) {
popupWin = window.open('','contacts', 'width=' + w + ', height=' + h); 
popupWin.document.write('<style>* { margin: 0px; padding: 0px }</style>');
popupWin.document.write('<img src="' + x + '" width="' + w '" height="' + h + '" />');
popupWin.focus(); return false;
}
</script>
<a href="#" onClick="popup1('zzz.jpg', 100, 50)">картинка</a>

Автор: BenderRodrigez 18.3.2008, 13:55
Так у меня совсем не выводится нового окна

Автор: bars80080 18.3.2008, 14:15
Код

<script>
function popup1(x, w, h) {
popupWin = window.open('','contacts', 'width=' + w + 'px, height=' + h + 'px'); 
popupWin.document.write('<style>* { margin: 0px; padding: 0px } </style>');
popupWin.document.write('<img src="' + x + '" width="' + w + '" height="' + h + '" />');
popupWin.focus(); return false;
}
</script>
<a href="#" onClick="popup1('zzz.jpg', 300, 150)">картинка</a>


ну ошибочку сделал малюсенькую, плюс забыл, вот так работает в ИЕ6, ФФ и опере

Автор: BenderRodrigez 18.3.2008, 14:23
Такой результат у меня уже получался smile Я просто хотел,чтобы снизу и справа не было отступов(отступы примерно по 2px)

Автор: bars80080 18.3.2008, 14:49
ну, тут уж ничего не поделаешь, видать ИЕ так отрабатывает, в остальных же нормально

если хочется просто картинку, без окна, получить, то тогда надо закидывать её в слой появляющийся поверх всего, но здесь исчезнут все плюсы отдельного окна. если нужно подгружать новую, то грузить её придётся ajaxом

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