![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| Ciber SLasH |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1813 Регистрация: 9.11.2004 Где: С.-Петербург Репутация: 24 Всего: 67 |
Есть такой код:
OpenWindow_addon.htm:
но почему-то в Опере и Лисе первая кнопка глючит (в IE всё нормально). А в Лисе и вторая глючит. Не пойму почему при нажатии первой кнопки в Опере и Лисе открывается новое окно, но в строке загрузке прогресс никак не может завершиться (виснет). Как побороть глюк с первой кнопкой в Опере и Лисе ? И если кто знает, то и вторую кнопку немешало бы исправить в Лисе... Для того, чтобы посмотреть как должно быть — смотреть сначала в IE. Это сообщение отредактировал(а) Ciber SLasH - 13.11.2005, 07:18 |
||||
|
|||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
во первых это плохая идея создавать картинку, а потом сразу же опрашивать её размеры. Только спустя некоторое время, когда хотя бы заголовок картинки загрузиться, тогда и будут доступны размеры. Совет: поставь обработчика на событие onload у картинки или у body(если баннеров медленных нет), в обработчике расширяй окно. Ещё лучше хранить размеры в базе, при показе картинки сразу задавать окну нужный стартовый размер.
Во вторых Опера и Лиса свято чтут стандарты и логику документов, а ими могут быть не только HTML документы. Сразу после открытия window.open ещё никаких body не существует, единственный обьект в DOM дереве должен быть document. Xотя document.documentElement существовать будет и это html элемент, вот ему можешь изменять innerHTML. -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| Ciber SLasH |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1813 Регистрация: 9.11.2004 Где: С.-Петербург Репутация: 24 Всего: 67 |
Пробовал делать: wnd.document.documentElement.innerHTML = imgHTML
но ничего не вышло... IE грит: "Не удалось установить свойство innerHTML. Недопустимый конечный элемент для данного действия." Opera: "Could not convert undefined or null to object" Пробовал так: img1 = wnd.document.createElement('IMG') img1.src = img.src wnd.document.appendChild(img1) и опять ничего: IE: молчит, открыв пустое окно Opera: "Unhandled exception: [Object DOMException]" Как же победить? |
|||
|
||||
| Ciber SLasH |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1813 Регистрация: 9.11.2004 Где: С.-Петербург Репутация: 24 Всего: 67 |
Всё оказалось гораздо проще, нужно было после строк:
добавить:
ЗЫ: ответ нашёл через поисковик, здесь: http://forum.mozilla.ru/viewtopic.php?id=1725 Это сообщение отредактировал(а) Ciber SLasH - 13.11.2005, 07:21 |
||||
|
|||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
document.write теоретически запрещён в XHTML, хотя open/write/close процесс, т.е. написать чистый документ по моему можно.
Странно что document.documentElement ругнулся. Для обоих, innerHTML и write нужно контент вписывать в <body> теги, хотя браузер на отсутствие не ругнёться. -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| Ciber SLasH |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1813 Регистрация: 9.11.2004 Где: С.-Петербург Репутация: 24 Всего: 67 |
Всё-таки в Лисе глючит при открытии окна: окно неполностью подстраиватся под изображение как через функцию showImg_1(), так и через showImg_2().
как победить? |
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Я же говорил что у тебя на локалке(+ картинка в кеше) скрипт работает, но как только загрузишь в нет, сразу облажаешся, т.к. размеры картинки на момент опроса ещё не доступны.
Думаем логически, размеры нужно увеличивать когда картинка загрузиться, следовательно <img onload="window.setSize(this.offsetWidth, this.offsetHeight)"> При этом выставляем body и html стили margin: 0px; padding: 0px, либо учитываем маржины в размерах окна. -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| Ciber SLasH |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1813 Регистрация: 9.11.2004 Где: С.-Петербург Репутация: 24 Всего: 67 |
Ещё заметил, что хоть и прописан <title>...</title> через document.write(), а всё равно в Лисе не отображается.
Приходится дополнительно прописывать через document.title Добавлено @ 01:02 Дык у меня ж в функции showImg_2() открывается окно с сгенерённым контентом, в котором по событию body.onLoad вызывается функция selfResizer(), которая и делает всё. Тока не правильно работает в Лисе. |
|||
|
||||
| Ciber SLasH |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1813 Регистрация: 9.11.2004 Где: С.-Петербург Репутация: 24 Всего: 67 |
Переписал всё снова...
Теперь первая функция для картинок с известным размером, а вторая — с неизвестным.
проверьте как работает, а... у меня почему-то в Лисе не работают обе кнопки с названиями "Картинка №2" (наверно глюк FireFox 1.5 RC1 или какое-нить расширение глючит). Там по идеи должна фотка грузиться. Сорц файла OpenWindow_addon.htm — в первом посту. Это сообщение отредактировал(а) Ciber SLasH - 14.11.2005, 05:03 |
|||
|
||||
| Ciber SLasH |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1813 Регистрация: 9.11.2004 Где: С.-Петербург Репутация: 24 Всего: 67 |
Кто-нибудь знает, почему в FireFox не работают кнопки с названием "Картинка №2" (вызов "showImg_2()" [метод: add]) ?
Никак не могу понять почему не работает именно в FireFox, даже в консоли JavaScript ничего не пишется... |
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Работает, но предупреждает что картинка не найдена, окно открывает. Лиса 1.0.7
-------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| Ciber SLasH |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1813 Регистрация: 9.11.2004 Где: С.-Петербург Репутация: 24 Всего: 67 |
У меня окно тоже открывает, но картинку не хочет запихивать в новое окно ЗЫ: снёс FF1.5RC1 и поставил FF1.0.7 |
|||
|
||||
| Ciber SLasH |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1813 Регистрация: 9.11.2004 Где: С.-Петербург Репутация: 24 Всего: 67 |
Прописал абсолютный путь к картинке, но ничего не получилось...
Пробовал запихивать картинку не через innerHTML, а так:
соответственно добавил в файл OpenWindow_addon.htm
Тока всё это Лисе до одного места... |
||||
|
|||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 78 Всего: 317 |
Картинка просто не появляеться или как? Т.к. обьект картинка должен существовать, но мозилла может кинут (и кинет) ошибку в виде alert'a если картинка не доступна. Указывать в таком случае лучше абсолютный путь.
У меня открываеться окно, в нём картинка с невалидным URL, поэтому отбражаеться в виде малого квадратика, как и должно. Вопрос: зачем всё это, почему нельзя через document.write написать всю разметку, начиная и кончая <html>? Тогда ошибок не будет и с XHTML по идее конфликтовать не должно, ты ведь всё разом пишешь. -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| Ciber SLasH |
|
||||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1813 Регистрация: 9.11.2004 Где: С.-Петербург Репутация: 24 Всего: 67 |
В принципе конечно можно всё write-ом записать, просто я искал другие варианты... |
||||||||
|
|||||||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |