![]() |
Проблемы с отладкой, помогите плиз
Здравствуйте!
Возникли проблемы с отладкой скрипта под разные браузеры. :help: Значит, есть галерея работ - ТУТ :ooh: При нажатии на превьюшку работы, с помощью скрипта по вызову Pop-up-окна, открывается новое Pop-up-окно, с увеличенной работой (рассмотрим код на примере первой превьюшки): <a href="javascript:newWin=void(window.open('branding_work1.htm','brandin g_work1','width=1,height=1'))" > <img src="img/branding_work1.jpg" width="68" height="68" border="0"> В коде странички Pop-up-окна у меня между тегами <head> </head>, прописан скрипт: <SCRIPT language="Javascript"> function resize_win(x,y){ var winPosX=screen.width/2-x/2; var winPosY=screen.height/2-y/2; window.moveTo(winPosX, winPosY); window.resizeTo(x+10,y+115); } </SCRIPT> А картинка, с увеличенной работой вставляется с помощью следующего кода: <img src="img/branding_work1_big.jpg" onload='resize_win(this.width,this.height);'> Дело в том, что работы имеют разные размеры и было нужно, что бы Pop-up-окно "перестраивалось" под размеры картинки (ширина="ширине картинки", высота= "высота картинки"+"80 пикселей" (на стрелочки и описание)). Вообщем, теперь о том, в чем заключаются собственно проблемы по отладке. Я детально изложила эти проблемы ТУТ (т.к. не хотела загромождать эту тему скриншотами и графикой). :rolleyes: Буду безгранично благодарна, если кто-то поможет и подскажет, как можно устранить эти проблемы (или хотя бы часть проблем...) :молись: Заранее всем огромное спасибо за помощь. :rolleyes: |
Ещё не учтено что IE6 с SP2 не позволяет убрать statusbar.
Сделай div с position: absolute. Здоровье дороже. |
Neto
Несколько ответов, естественно не панацей: 1) Некоторые (я например всегда) запрещаю скриптам ресайзить окна браузера, поэтому это уже не есть здорово. 2) Размеры окон в Мозилла и ИЕ определяются поразному, это факт, с этим придется считаться, поэтому, если все-таки оставлять текущий вариант, то разные браузеры в скрипте учитывать придется явно. 3) (пункт 3.2 проблемы) Остановка анимации решается явным возвращением false при клике. Как сделано сейчас ИЕ останавливает анимацию, поскольку клик на ссылке предполагает переход по ней, и соответственно страница обычно эта будет покинута, и то что там используется void просто какбы осуществляет перехоуд "в никуда", поэтому его нужно явно отменить. Конкретное решение: Заменить Код:
<a href="javascript:newWin=void(window.open('branding_work1.htm','branding_work2','width=1,height=1,fullscreen=no,status=no,toolbar=no,menubar=no,resizable=no,scrollbars=no'))" onmouseover="show('im1', 'img/text_branding_work1-12.gif')" onmouseout="hide()">Код:
<a href=# onclick="newWin=window.open('branding_work1.htm','branding_work1','width=1,height=1'); return false;" onmouseover="show('im1', 'img/text_branding_work1-12.gif')" onmouseout="hide()">P.S. Мака нету к сожалению, поэтому сказать не могу ничего... |
RaZEr, спасибо большое за советы!
Hubbitus, спасибо огромнадное за твой ответ! :чмок: По пункту 3.2 изменила код так, как ты посоветовал, и проблема отпала моментально! БИГ СЕНКС! По поводу ресайзинга, тоже последовала твоему совету - прописала напрямую в window.open() размеры окна, протестировав увидела, что отпала проблема с открытием "свернутых" окон в Опере. Так что тоже ГРОМАДНЫЙ СЕНКС! Остались теперь у меня еще проблемы с разными размерами окон в разных браузерах :rolleyes: и проблемы с отладкой под Макинтошем :hmm: . Хотела спросить, может кто-то все же знает, как можно решить эти проблемы? :confused: |
Цитата:
Про МАК я писал что помочь к сожалению ничем не смогу :( |
Цитата:
Я сама вообще не программер, но консультировалась по поводу скрипта, который бы мог определять браузер и в зависимости от браузера выполнять определенный код. Мне посоветовали скрипт такого типа (в скрипт работает так: если браузер = Мозилла Огненная лисица , то нужно выполнить код-1, иначе - код-2) (разумеется, что можно добавить индивидуальный код не только под Мозиллу, но и под большее кол-во браузеров, но для меня пока актуальным является именно 2 части кода - один код под Мозиллу, другой код под все остальные браузеры). Этот скрипт имеет вообщем такой облик: <Script Language='JavaScript'> var code = navigator.appCodeName; if ((name<>"Netscape") and (code<>"Mozilla")) {код для мозилы} else {код для других браузеров} </Script> Еще мне сказали, что перед каждой строкой кода, которая будет включаться в скобочки {код для мозилы} и {код для других браузеров} нужно дописать - document.write(', а в конце каждой строки - ');. Но когда я это все прописала, у меня вообще перестала отображаться визуально та часть кода, которую я запихнула в {} (я проверяла под IЕ, Лисой и Оперой - всюду результат аналогичен - вместо вывода скриптом нужного кода - белое полотно :(). ВОТ страничка, где я прописала этот скрипт. :ooh: (Код-1 и код-2 я пока одинаковый вставила, потом подправлю разумеется, главное что бы принцип скрипта работал) Может кто-то подскажет почему скрипт не работает? :( Р.S/ Никто не подскажет почему на этом форуме у меня не работает форматирование (при написании сообщения нельзя автоматически ни цвет сменить, ни жирность/наклон/подчеркивание, ни смайлики вставить, ни ссылку и т.п., я уже методом втыка вручную прописываю эти параметры, но это не удобно жутко... на других форумах у меня нормально всюду работает форматирование сообщений (браузером в основном пользуюсь MyIE2). Это у меня только такая беда или у других тоже? :confused: ) |
Синтаксическая ошибка (даже 2) -
Надо писать: if ((code!="Netscape") and (code!="Mozilla")) |
Цитата:
|
Neto, начнем с того что про нужность document.write('...') тебе в данном случае или неправильно сказали, или ты не правильно поняла.
Продолжим тем что у тебя в скрипте, на указанной странице уже есть определение браузера, когда устанавливается значение переменной roll, вполне можно было бы оттуда взять код, а вообще лучше было бы вообще структуру поменять чтобы определение происходило один раз. Естественно все что у тебя есть я переделывать не буду сейчас, посему предлагаю такое решение: Добавляешь вверху функцию: Код:
function diff_window(what_open){Код:
<a href=# onclick="newWin=window.open('branding_work1.htm')" onmouseover="show('im1', 'img/text_branding_work1-12.gif')" onmouseout="hide()">Ну и последнее, естественно это пример, все это можно записать в пару строчек удалив лишнее и комментарии. |
| Часовой пояс GMT +4, время: 01:22. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.