IMHO.WS

IMHO.WS (https://www.imho.ws/index.php)
-   Веб-программирование (https://www.imho.ws/forumdisplay.php?f=29)
-   -   document.open+размер/положение, помогите пожалуйста! (https://www.imho.ws/showthread.php?t=86153)

Viroman 23.05.2005 00:21

document.open+размер/положение, помогите пожалуйста!
 
Собственно нужно открыть окно по типу window.open с параметрами размера и расположения окна, но в то же время, чтобы содержание окна было бы то, что вписывается по типу document.write
Как вот это воплотить/совокупить/смастерить?
Спасибо за помощь!


PS: только не надо предлагать открывать сначала пустое окно через window.open, а потом записывать в него, что пожелается. Это слишком некрасиво.

Hubbitus 23.05.2005 09:36

Цитата:

Viroman:
PS: только не надо предлагать открывать сначала пустое окно через window.open, а потом записывать в него, что пожелается. Это слишком некрасиво.
Не понял, почему не красиво? Это так и делается. И чем это не устраивает-то??? Некрасиво? А чем это для пользователя будет отличаться-то от обычного открытия документа???

BRULIK 23.05.2005 11:45

function win200() {
newWindow = open("","MW", "height=200, width=200,location=no,menubar=yes,scrollbars=yes");
newWindow.document.writeln("<HEAD><TITLE>Окно200<\/TITLE></HEAD>Запись сделана при помощи JavaScript") ;
newWindow.document.close();
}

Вызывая енту функцию я получаю надпись в одном и том же окне столько раз , сколько вызову. Почему окно не очищается ?

Цитата:

Комбинация из document.close и document.open приводит к тому, что документ очищается и там можно заново писать.
Ето описание на одном из сайтов , но оно не работает.

===============================================
уже разобрался.
метод тыка помог

popupwin = open('', 'PLAY', 'toolbar=no, location=no resizable=0, directories=no, status=no, menubar=no, top=' + toppos + ', left=' + leftpos + ', width=' + X + ', height=' + Y + '');
popupwin.document.open();
popupwin.document.writeln('<html><head></head><body>123</body>');

popupwin document.close();

Viroman 23.05.2005 14:35

Цитата:

Не понял, почему не красиво? Это так и делается. И чем это не устраивает-то??? Некрасиво? А чем это для пользователя будет отличаться-то от обычного открытия документа???
Как я понимаю, другого выхода нет. Но тогда подскажите, мне нужно, чтобы открывалось попапокно, но запись нужного контента происходила не сразу, а когда в попапокне загрузится до конца указанная страница.
Дело в том, что попап будет открывать уже существующую страницу, но потом скрипт уже в попап должен дописывать/вписывать нужное, но обязательно при полной загрузке попапа.
Как сделать так, чтобы определить, что можно действовать onload самого попапа, только изнутри вызвавшей страницы, не попапа.

Ghost 23.05.2005 14:52

Viroman
Контент попапа запихни в
Код HTML:

<DIV STYLE="display: none;" ID="popupContent">...</DIV>
а в конце кода выполни JS-команду
Код:

var d = document.getElementById('popupContent');
d.style['display'] = 'block';

Т.о. образом можешь сделать что-то вроде "подождите пока страница грузится..."

Viroman 23.05.2005 16:00

Мне немного другое нужно.
Вот код
Код:

function otkritpopup(stranitsa)
{
var winpar='left=100,top=100,width=100,height=100';
void(bannerokno = window.open('dummy.htm', 'okoshko', winpar));
novoeokno.document.open();
novoeokno.document.write("<meta http-equiv='refresh' content='0;URL=");
novoeokno.document.write(stranitsa);
novoeokno.document.write("'>");
novoeokno.document.close();
novoeokno.focus()
}

Смысл в том, что при клике на ссылку передаётся параметр-страница.
Далее, чтобы обойти защиту, я до этого открывал пустышку, то есть пустой параметр на страницу "", потом записывал, что идёт в document.write и автоматически на нужную страницу переходил, даже если та находится вне моего сервера, именно с этой целью я так извращаюсь.
Но столкнулся с дальнейшей проблемой, что если окно открыто, то повторное открытие приводит опять к ошибке защиты. Но установилось одно но, если, как в примере window.open, указать не просто пустышку, а существующую страницу на моём сервере и опять вписывать по document.write, то защита не срабатывает и всё в ажуре, но опять одно но. Если нажимать слишком быстро несколько раз подряд, опять эта ошибка вырисовывается. Вот и подтолкнуло это меня на мысль о том, что надо дождаться, пока страница загрузится до конца в попапе с моего сервера, прежде чем я буду опять по document.write туда писать.
Потому вопрос, как сделать так, чтобы дождаться onload моего попапа, а лишь потом совершать дальнейшие действия по document.write и тому подобное.

Hubbitus 23.05.2005 16:03

Про полную загрузку приблизительно как сказал Ghost так и делается, еще дополнительно можешь рассмотреть свойство visibility.

Цитата:

Viroman:
Как сделать так, чтобы определить, что можно действовать onload самого попапа, только изнутри вызвавшей страницы, не попапа.
Ну так и делаешь, вешаешь обработчик на onload попапа, который будет располагаться в основной странице. Проблема-то в чем?

Viroman 23.05.2005 16:12

Цитата:

Проблема-то в чем?
В том, что не знаю, как в моём случае это правильно сделать.


Часовой пояс GMT +4, время: 18:55.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.