Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » JavaScript/Opera:не работает ссылка на win.document.body

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

ethan



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
почему в Опере данные фрагменты кода по разному работают?

Код:
 
    var szBody="<html><head><title></title></head><body></body></html>";
    var oWin=window.open( '', '', 'scrollbars=yes, toolbar=no, location=no, status=no, menubar=no, width=800, height=600, resizable=yes');
    var oDoc=oWin.document;
    oWin.document.open();
    oWin.document.write(szBody);
    oWin.document.close();
    // ---
    alert(oDoc.body?"body exists":"nobody");  // nobodys
 


Код:
 
    var szBody="<html><head><title></title></head><body></body></html>";
    var oWin=window.open( '', '', 'scrollbars=yes, toolbar=no, location=no, status=no, menubar=no, width=800, height=600, resizable=yes');
    oWin.document.open();
    oWin.document.write(szBody);
    oWin.document.close();
    var oDoc=oWin.document;
    // ---
    alert(oDoc.body?"body exists":"nobody");  // body exists
 





Уточнил название. Было "Оперный момент". — Svarga.

Всего записей: 388 | Зарегистр. 14-12-2002 | Отправлено: 20:11 27-08-2004 | Исправлено: Svarga, 14:32 08-10-2004
N Sensey N



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
потому что опера - это опера

----------
sPaiz-Nuke - Free PHP CMS Web Design and Development Портал для израильтян

Всего записей: 1409 | Зарегистр. 01-10-2002 | Отправлено: 03:09 28-08-2004
ethan



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
N Sensey N
это я понял уже давно, вначале удивлялся, иногда матюкался, теперь молчу.
А всё-таки есть более материальное обяснение данного феномена( в смысле кода)

Всего записей: 388 | Зарегистр. 14-12-2002 | Отправлено: 16:40 28-08-2004
xntx



хнотик-багоискатель
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
походу она не замечает заполнение попапа, и поэтому пишет что oDoc все еще пустой.
ламиры писали вобщем, как всегда "все для юзера!!!... а программеры пошли нах"

----------
Hello world!

Всего записей: 5169 | Зарегистр. 15-02-2003 | Отправлено: 17:28 28-08-2004
ethan



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
xntx

Цитата:
 
ламиры писали вобщем, как всегда "все для юзера!!!... а программеры пошли нах"
 

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

Всего записей: 388 | Зарегистр. 14-12-2002 | Отправлено: 19:45 28-08-2004
WRFan



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Блин у меня к этой Опере столько злости накопилось, с момента начала писания межбраузерных скриптов  

 
и не только у тебя. я думаю, каждый webmaster ненавидит оперу. самый первый перл скрипт, который я написал, распознавал оперу (несмотря на её глупое изменение user agent-а в целях подделки под ИЕ) и выкидывал её на страничку "403 для оперы". или по русски, "опера юзеры, идите на 3 буквы". если бы каждый webmaster так делал, они бы быстро лавочку прикрыли.

Всего записей: 5275 | Зарегистр. 25-11-2002 | Отправлено: 10:26 31-08-2004 | Исправлено: WRFan, 10:28 31-08-2004
UncoNNecteD



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Тем не менее, количество пользователей Оперы постоянно растет.  
Палка о двух концах.

----------
-= Я тут чертовски давно =-

Всего записей: 4040 | Зарегистр. 21-03-2002 | Отправлено: 12:58 31-08-2004
ethan



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В том и дело, что палка, а не нормальный браузер!

Всего записей: 388 | Зарегистр. 14-12-2002 | Отправлено: 08:57 24-09-2004
SiMM

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
В том и дело, что палка, а не нормальный браузер!
Если бы IE был нормальным - уверяю, все бы только им и пользовались и других бы браузеров не существовало как класса.

Всего записей: 2302 | Зарегистр. 14-05-2004 | Отправлено: 11:24 24-09-2004
oid



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Если бы использовалось хотя бы %50 от того, что есть в rfc для написания действительно удобных и красивых страниц, то рано или поздно и опера стала бы поддерживать rfc. А так, устанавливаешь надстроечку MyIE2 - и получаешь рулезную вещь - не хуже по междумордью оперы с функциональностью IE.

Всего записей: 106 | Зарегистр. 17-09-2004 | Отправлено: 14:43 24-09-2004
Swappp

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ethan
SiMM
oid

Может вам сюда http://forum.ru-board.com/topic.cgi?forum=5&topic=2085#1?

Всего записей: 1716 | Зарегистр. 02-11-2001 | Отправлено: 16:49 25-09-2004
Svarga

Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
<!--off
WRFan

Цитата:
 ..и выкидывал её на страничку "403 для оперы". или по русски, "опера юзеры, идите на 3 буквы". если бы каждый webmaster так делал, они бы быстро лавочку прикрыли.
Кривизна рук вебмастера — ещё не повод игнорировать посетителей.
-->
 
ethan
WRFan
UncoNNecteD
SiMM
oid
 
С подобный общением или во Флейм или в "Браузерные войны".
 
 
 
P.S.  ethan
Запостил твой вопрос на официальном форуме Оперы... Посмотрим, что скажут.

----------
away.

Всего записей: 4161 | Зарегистр. 25-06-2002 | Отправлено: 03:38 03-10-2004 | Исправлено: Svarga, 14:49 04-10-2004
Svarga

Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ethan
 
Если так:
Код:
<script>
var szBody="<html><head><title></title></head><body></body></html>";
var oWin=window.open( '', '', 'scrollbars=yes, toolbar=no, location=no, status=no, menubar=no, width=800, height=600, resizable=yes');
oWin.document.open();
var oDoc=oWin.document;
oWin.document.write(szBody);
oWin.document.close();
alert(oDoc.body?"body exists":"nobody");  // nobodys </script>

По разным версиям выдаёт следующее:

Цитата:
Opera 5.11 nobody  
Opera 6.0 nobody  
Opera 7.1 body exists  
Opera 7.50 body exists

 
А так работает...

Код:
<script>
var szBody="<html><head><title></title></head><body></body></html>";
var oWin=window.open( '', '', 'scrollbars=yes, toolbar=no, location=no, status=no, menubar=no, width=800, height=600, resizable=yes');
var oDoc=oWin.document
document.write('Open window:'+oWin+'<br>win.document:'+oWin.document+'<br>win.document reference:'+oDoc)
oDoc.write(123)
//oWin.document.open();
//oWin.document.write(szBody);
//oWin.document.close();
</script>

 
На всякий случай отправил в Оперовский баг-репорт описание этой вещи...

----------
away.

Всего записей: 4161 | Зарегистр. 25-06-2002 | Отправлено: 07:51 04-10-2004
oid



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Попробуй именовать окно:

Код:
 
onClick=window.open( 'newWin', '', 'scrollbars=yes, toolbar=no, location=no, status=no, menubar=no, width=800, height=600, resizable=yes');  
 

 
и потом обращаться к именованному окну:

Код:
 
newWin.document.write('bla-bla-bla')  
 

примерно так - должно рабатать...
 
2 Svarga: больше не буду флудить - просто за живое взяло...

Всего записей: 106 | Зарегистр. 17-09-2004 | Отправлено: 11:48 04-10-2004
Svarga

Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
oid

Цитата:
onClick=window.open( 'newWin', '', 'scrollbars=yes, toolbar=no, location=no, status=no, menubar=no, width=800, height=600, resizable=yes');  

Что-то путаешь, первым аргументом для window.open идёт ссылка на страницу, которую нужно открыть, вторым — имя окна, но это имя является всего лишь аналогом name фреймов и iframe'ов — т. е. при указании этого имени в качестве target к ссылкам ссылки будут открываться в данном окне... Больше ничего с такими именами не сделаешь...
 

Цитата:
2 Svarga: больше не буду флудить - просто за живое взяло...

Здесь разбираем только техническую сторону вопроса безотносительно к оценке её на эмоциональном уровне, а если что-то подобное "за живое берёт" — есть тема «Браузерные войны» в Программах.

----------
away.

Всего записей: 4161 | Зарегистр. 25-06-2002 | Отправлено: 13:37 04-10-2004
oid



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
onClick=window.open( '', 'newWin', 'scrollbars=yes, toolbar=no, location=no, status=no, menubar=no, width=800, height=600, resizable=yes');    

 
Описался , так правильно.
В принципе, если формирование будущей страницы произвести до создания именованного окна, а затем открыть окно и отправить туда 'oDoc' - все нормально работает. Но, опять же - в "ослике".
На всякий случай, что бы в открываемое окно не грузилась страница "по-умолчанию" (www.microsoft.com, klubnichka.ru & ets. ), отличная от пустой - рекомендую настоятельно:

Код:
onClick=window.open( 'about:blanc', 'newWin', 'scrollbars=yes, toolbar=no, location=no, status=no, menubar=no, width=800, height=600, resizable=yes');    

правда, при перезагрузках нового содержимого будет "подгружаться" пустая страница.

Всего записей: 106 | Зарегистр. 17-09-2004 | Отправлено: 14:46 04-10-2004
Svarga

Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
oid

Цитата:
Описался  , так правильно.

Так тоже неправильно. Единственное предназначение этого name — использование его в качестве target ссылок и форм. Использование target'a не даёт доступа к объектам нового окна...
 

Цитата:
onClick=window.open( 'about:blank', 'newWin', 'scrollbars=yes, toolbar=no, location=no, status=no, menubar=no, width=800, height=600, resizable=yes');    

Так могут быть проблемы с генерацией содержимого: about:blank — это страница с localhost, а открываться она будет со страницы, открытой с удалённого сервера — может сработать запрет на доступ к содержимому страницы, открытой с другого хоста...
 
Да и не о том речь...

----------
away.

Всего записей: 4161 | Зарегистр. 25-06-2002 | Отправлено: 14:55 04-10-2004
Svarga

Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ethan
Товарищ из Opera software ответил по поводу этого:

Цитата:
I have confirmed the bug but it is a very minor issue and we may conclude that what Opera does makes more sense than what IE does. I recommend that you work around the bug if you found this while working on something because it may not get fixed.


----------
away.

Всего записей: 4161 | Зарегистр. 25-06-2002 | Отправлено: 14:32 08-10-2004
oid



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ну, а что же мы хотели услышать?
Что, теперь, в "браузерные войны" идти?




флуд. — Svarga.

Всего записей: 106 | Зарегистр. 17-09-2004 | Отправлено: 14:54 08-10-2004 | Исправлено: Svarga, 15:13 08-10-2004
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Интернет » Web-программирование » JavaScript/Opera:не работает ссылка на win.document.body


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru