Веб программирование

Незнайка

Старожил
gram":2yyyd9ne сказал(а):
принцип тот же :) существует только один способ открытия нового окна посредством ява-скрипта :)
Но способы разные, и самое главное, разный результат. :wink:
Я уже писал раньше про 17 типов всплывающих окон - не поленись, скачай, может чё и пригодится.
 
A

Anonymous

Night_Elf":49rix3lm сказал(а):
Незнайка":49rix3lm сказал(а):
А что значит окна блокируются, можно подробнее?
у меня в мозилле всплывающие окна заблокированы, т.е. они не открываются. По идее блокируются только те окна, которые выскакивают "сами", а не после нажатия ссылки. Так вот твои блокируются. Еще вроде файрволл блокировать умеет. Tolkienist, у тебя судя по всему ИЕ и не настроен файрволл ;)
ты просто тестил в мозилле чтобы проверить работает ли там :)
но стоит ли учитывать тот 0,0001% который пользует только мозиллу? :)
 

gram

Старожил
Незнайка":2pjwcc3y сказал(а):
gram":2pjwcc3y сказал(а):
принцип тот же :) существует только один способ открытия нового окна посредством ява-скрипта :)
Но способы разные, и самое главное, разный результат. :wink: Я уже писал раньше про 17 типов всплывающих окон - не поленись, скачай, может чё и пригодится.
рад бы, да файл не найден...
 

Night_Elf

Старожил
Tolkienist":25fgx5ku сказал(а):
ты просто тестил в мозилле чтобы проверить работает ли там :) но стоит ли учитывать тот 0,0001% который пользует только мозиллу? :)
я всегда мозиллу юзаю, нравится она мне :)
 
A

Anonymous

gram":2psfh9so сказал(а):
Незнайка":2psfh9so сказал(а):
gram":2psfh9so сказал(а):
принцип тот же :) существует только один способ открытия нового окна посредством ява-скрипта :)
Но способы разные, и самое главное, разный результат. :wink: Я уже писал раньше про 17 типов всплывающих окон - не поленись, скачай, может чё и пригодится.
рад бы, да файл не найден...
вот я выложил архив самораспаковывающийся
http://10.0.4.194/okna.exe
 

gram

Старожил
хех.. посмотрел :) как я и говорил - способ один единственный, через window.open :) Различаются набором параметров и местоположением вызова данной функции. Принципиальной разницы в этом нет... Но если для кого-то это разные способы, то ладно, я ничего против, в принципе, не имею :) Когда поймешь яваскрипт - до самого дойдет что к чему, без этих примеров
 

DrGrand

Старожил
gram":30c77ai8 сказал(а):
хех.. посмотрел :) как я и говорил - способ один единственный, через window.open :) Различаются набором параметров и местоположением вызова данной функции. Принципиальной разницы в этом нет... Но если для кого-то это разные способы, то ладно, я ничего против, в принципе, не имею :) Когда поймешь яваскрипт - до самого дойдет что к чему, без этих примеров
читайте спецификацию DOM (document object model).
 

gram

Старожил
DrGrand":cpwqiy9m сказал(а):
читайте спецификацию DOM (document object model).
и что я там найду для себя нового относительно открывания окна? :) можно цитатку, которую мне нужно прочитать?
 

Незнайка

Старожил
Gram, я не спорю, мне до тебя в программировании, как пешком до Китая. :oops: Но уж коль ты такой продвинутый, то объясни, пожалста, почему окна сделанные мной по предложенному тобою ранее способу (см. пару страниц выше) у Эльфа не блокируются и просматриваются. А то, что я делал сам - блокируются?
Суть, как ты пишешь, одна. А вот результат почему-то разный... :?:

И я бы не стал всё грести под одну гребёнку. Любой сайт в мировой сети (да и в Гатчинской то же) это набор операторов HTML, PHP, Perl, Java-скриптов и прочее с разными параметрами, но тем не менее на мониторе мы видим совершенно разные вещи.

В этом посте я не хочу тебя подколоть (не воспринимай его как подъ**ку), а хочу разобраться до конца. Ведь в конце концов, ты для этого данную тему и создавал. :wink:
 

Незнайка

Старожил
gram":4acuxhpw сказал(а):
хех.. посмотрел :) как я и говорил - способ один единственный, через window.open :) Различаются набором параметров и местоположением вызова данной функции. Принципиальной разницы в этом нет... Но если для кого-то это разные способы, то ладно, я ничего против, в принципе, не имею :) Когда поймешь яваскрипт - до самого дойдет что к чему, без этих примеров

В твоём примере window.open сразу открывает окно и вставляет ссылку. Но, к сожалению, там нет параметров управляющих body окна. Неделю провисел мой вопрос как задать отступы равными 0, но никто так и не удосужился ответить. :evil:
В используемом мной способе window.open просто открывает окно с заданными размерами. А вот заполнение его информацией происходит с помощью тегов HTML , которые прописываются с помощью функции document.write. Вот это я и понимаю под разным способом. Только так я смог добиться желаемого. (Кстати, в ссылке на буржуйский сайт выложенной тобой, об этом нет и слова).
И фаерволл воспринимает всё это по разному. :shock:
 

gram

Старожил
если честно - не знаю :) т.к. этого блокиратора у меня не стоит, сам посмотреть не могу. Способ у меня от твоих ничем не отличается.
 

gram

Старожил
Отступы - это к HTML, а не к яваскрипту :)
<body margintop=0 marginleft=0 marginright=0 marginbottom=0>
вроде примерно так :)
То, что записывается в открывающееся окно при помощи document.write, может с тем же успехом находиться в уже готовом файле. Конечно, если файлов много - то этот способ может быть несколько удобней, т.к. не нужно для каждого делать ещё и HTML :) В силу моей специфики работы, я бы использовал внешний файл, но генерящийся на сервере =)
 

Majik13

Старожил
gram":2n05h9bz сказал(а):
<body margintop=0 marginleft=0 marginright=0 marginbottom=0>вроде примерно так :)
нет, не так.
topmargin=0 leftmargin=0
и для совместимости marginheight=0 marginwidth=0
это параметры бади.

я всегда прописываю ещё в CSS
body {margin: 0px}

gram":2n05h9bz сказал(а):
То, что записывается в открывающееся окно при помощи document.write, может с тем же успехом находиться в уже готовом файле. Конечно, если файлов много - то этот способ может быть несколько удобней, т.к. не нужно для каждого делать ещё и HTML :)
Я сам не очень понимаю, как тут чё работает, поэтому давайте сведём вопрос к следующему:
мы можем задать какие хотим отступы, для чего угодно, если мы контролируем код документа, который выдаётся функцией open, не так ли?
вопрос тогда в следующем: как определить полностью код документа, который будет открыт этой функцией?
через этот самый document.write? можно элементарный пример?
 

gram

Старожил
нет, не совсем так :)
Читаем MSDN:
This method works in two ways. It opens a document to collect the output of the write and writeln methods. In this case, only the first two parameters, url and name are used. When values for the additional parameters are specified, this method opens a window in the same way as the window.open method for the window object.
Проще говоря, document.open() открывает объект документа для последющей записи, в определнных случаях затирая все содержимое. Я использовал этот способ в своё время для создания динамики в Netscape, в IE у документа было свойство InnerHTML, несколько упрощающее этот процесс.
Далее ты просто пишешь необходимое тебе содержимое (обычный html), зачастую созданное при помощи яваскрипта.

пример:

Код:
wnd = window.open();
wnd.document.open();
wnd.document.write('<span style="font:8pt verdana">opened window</span>');
wnd.document.close();
 

Majik13

Старожил
gram":qfmhsaq2 сказал(а):
Далее ты просто пишешь необходимое тебе содержимое (обычный html), зачастую созданное при помощи яваскрипта. пример:
Код:
wnd = window.open();
wnd.document.open();
wnd.document.write('<span style="font:8pt verdana">opened window</span>');
wnd.document.close();
возникает вопрос - в какую часть документа ты пишешь?
из примера я вижу, что ты записал <span></span>
то есть сам документ выглядит
Код:
<html>
<head>
</head>
<body>
<span><span>
</body>
</html>

можно писать только внутрь <body></body>?

или можно _полностью_ записать весь документ целиком, начиная от
<html> и заканчивая </html>?
 

gram

Старожил
если запустишь и посмотришь на результат, то заметишь, что <html> и <body> там нет :) потому как я их не писал. Пишется в ту часть документа, которой соответствует объект document. Т.е. window.document соответствует корневому документу, значит в него и будет писать

Попробуй другой пример:

Код:
<body>
<div id=a>div tag content</div>
</body>
<script>
	var divTag = document.getElementById("a");
	divTag.document.open();
	divTag.document.write("dynamic div content");
	divTag.document.close();
</script>

Тут порядок следования скрипта и объявления тэга важен! Если поставить скрипт выше, то при последовательной загрузке страницы скрипт начнет выполняться ещё до того момента, когда браузер найдет тэг <div>, что приведет к ошибке
 

Кекс

Старожил
Majik13":2i1azidp сказал(а):
можно _полностью_ записать весь документ целиком, начиная от <html> и заканчивая </html>?
Да, можно. Просто написать document.write("<html><head><title>...");. Что написать, то и будет в новом открытом окне.
 
A

Anonymous

зачем все делать через js? чем вас не устраивает создать отдельный файл для всплывающего окна?
 
Верх