Jump to content

Скрипт не работает в Opera


ser-yoga
 Share

Recommended Posts

Помогите пожалуйста, я себе уже всю голову сломал, у меня скрипт не работает в опере, в остальных браузерах все шпарит

JS:

<SCRIPT LANGUAGE="JavaScript">
<!-- Original: Jenny Blewitt (webmaster@webdesignsdirect.com) -->
<!-- Web Site: http://www.webdesignsdirect.com -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
browserName = navigator.appName;
browserVer = parseInt(navigator.appVersion);

ns3up = (browserName == "Netscape" && browserVer >= 3);
ie4up = (browserName.indexOf("Microsoft") >= 0 && browserVer >= 4);

function doPic(imgName) {
if (ns3up || ie4up) {
imgOn = ("" + imgName);
document.mainpic.src = imgOn;
}
}
// End -->

HTML:

 <div id="center">
<div id="room1">
<a href="java script:doPic('room1_1.gif');">
<img src="room1_gray.gif" onMouseOver=src="room1.gif" onMouseOut=src="room1_gray.gif" style="border-width: 0;" alt="room1" title="room1">
</a>
</div>
</div>
<div id="center2">
<div id="mainpic">
<img name="mainpic" src="1.gif">
</div>
</div>

все работает так, в первом блоке расположено несколько рисунков, при щелчке мыши на рисунок, увеличенное изображение рисунка выводится в нижнем блоке. Так вот все это работает в IE и Mozile, а Opera не хочет

Link to comment
Share on other sites

  • Replies 419
  • Created
  • Last Reply

Top Posters In This Topic

Скрипт не работает в Opera

И не стыдно нагло врать?

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

Link to comment
Share on other sites

Это не код, а непонятно что...

- это не комментарий Javascript.

Проверка браузера вообще не нужна. Выбросить и использовать getElementById() или же getElementsByTagName().

Ошибка:

onMouseOver=src="room1.gif"

Должно быть:

onmouseover="this.src='room1.gif';"
Link to comment
Share on other sites

Извините меня за мое невежество написания скриптов, дело в том, что в этом я новичек и мало что смыслю в JS. Вот тот код, который должен быть, но он правда не работает в Опере

<!-- Begin
browserName = navigator.appName;
browserVer = parseInt(navigator.appVersion);

ns3up = (browserName == "Netscape" && browserVer >= 3);
ie4up = (browserName.indexOf("Microsoft") >= 0 && browserVer >= 4);

function doPic(imgName) {
if (ns3up || ie4up) {
imgOn = ("" + imgName);
document.mainpic.src = imgOn;
}
}
// End -->

Link to comment
Share on other sites

Ошибка:
onMouseOver=src="room1.gif"

А в каком браузере вылетает ошибка (просто интересно)?

Не, ошибок, конечно не вылетает, все же браузеры "умные", но лично мо? мнение, что так писать неправильно. Вообще я предпоч?л бы чтобы браузер на каждую неправильно поставленную кавычку и прочее ругался. :)

Link to comment
Share on other sites

Извините меня за мое невежество написания скриптов, дело в том, что в этом я новичек и мало что смыслю в JS. Вот тот код, который должен быть, но он правда не работает в Опере

Еще раз повторю, в опере этот скрипт работает, это значит что в нем выполняется именно то, что в нем заложено, а что именно ты можешь открыть глаза и прочитать в моем посте выше. Не нужно быть генеем чтобы просто прочитать и попытатся понят, чем еще раз переспрашивать, правда ведь? Знаешь ведь анекдот про чукчу, который не читатель?

Upd: Даю расшифровку на понятном русском языке:

// ?Нетскепт 3 или выше?, это когда имя браузера ?Netscape? и его версия больше или равно 3-м.
ns3up = (browserName == "Netscape" && browserVer >= 3);
// ?Эксплорер 4 или выше?, это когда в имени браузера есть ?Microsoft? и его версия больше или равно 4-м.
ie4up = (browserName.indexOf("Microsoft") >= 0 && browserVer >= 4);

// есть такая функция ?сделать картинку?, принимающая ?имя картинки?
function doPic(imgName) {
// Если имеем дело с ?Нетскепт 3 или выше? или ?Эксплорер 4 или выше?, то
if (ns3up || ie4up) {
// ?актуальная картинка? ? это тоже самое, что и ?имя картинки? только в виде строки
imgOn = ("" + imgName);
// ?главная картинка? в документе теперь долна быть по адресу ?актуальной картинки?
document.mainpic.src = imgOn;
}
}

Надеюсь теперь понятно, что не так со скриптом?

Link to comment
Share on other sites

  • 1 month later...

В Опере не работает, и не надо! Это не твоя проблема, web-мастер. Это проблема того, кто написал Оперу, и проблема того, кто пользуется ей. Ты же не пытаешься в DOS-е свои программы запускать.

Опера был когда-то браузером, и DOS была операционкой, а 286-е были когда-то компьютерами. (Их поставка в СССР даже была запрещена по эмбарго, после ввода наших войск в Афганистан.) А еще я когда-то программировал на ЕС-ЭВМ, на перфокартах.

Опера и Мерзила были когда-то стандартами браузеров. Но стандарт, это то, что обще признано, это то, чем люди, как правило, пользуются, а не то, чем они должны пользоваться по мнению кого-то. Больше 95% компьютеров оснащены виндусом, а значит стандартом является IE.

Опера и Мазила это бесплатные браузеры, а бесплатное хорошим не бывает. В создание IE вложены миллиарды. IE - Боинг, а Опера - прокаченный Жопарожец. (Посмотри, что означает слово "Жопера" в поисковике.)

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

Ладно бы ещ? знать, как портить то! Вс? пробовал. Танцы с бубнами вокруг Оперы. Не работает, гадина. Не помогли и национальные заклинания.

К тому же заказчик увеличивать финансирование в разы не хочет. Зачем? Усложнение кода уменьшает его над?жность. Качество кода падает. А ради чего? Чтоб удовлетворить прихоть нескольких процентов чудаков (на букву мэ).

Господам, пользующимся Linux-ом, могу посоветовать: либо напишите нормальный браузер, не хуже IE, либо переходите в Окна. (В вашем браузере должно работать вс?, что работает в IE.)

Билл мне не родственник, и я не работаю в его компании 'Крошечный и дряблый'. Меня достали прыщавые юнцы, которые ставят людям на компьютер неработающий браузер, с пеной у рта утверждающие, что за конной тягой будущее.

Link to comment
Share on other sites

Алекс, ты из какой деревни вылез? Процентное соотношение пользователей ИЕ уже начало резко падать. ИЕ не поддерживает современные стандарты, в Опере и ФФ вс? давно работает лучше (и в НЕСКОЛЬКО РАЗ!!! быстрее) чем в ИЕ. А скрипт, указанный выше просто написан так, чтобы он ничего не делал в Опере (и других браузерах, кроме ИЕ и мозиллы).

Вот и вс?...

Link to comment
Share on other sites

Фразы: ?Процентное соотношение пользователей ИЕ уже начало резко падать!?, ?Опера и Мазила вот-вот победят? и ещ? масса подобных реляций я слышу последние лет десять. С этим флагом обычно носятся начинающие программисты. (Начитаются рекламы и в народ!) Я устал ждать этой победы. А Вы ? нет?

Уважаемый Programmer, я готов с Вами дискутировать на эту тему, но предметно, с фактами, с числами, которые можно проверить, и нужно чтобы кто-то объяснил Вам, что значит быть вежливым. (Извините, но Вы ведете себя так, словно в дер?вне воспитывались.)

Давайте будем вежливыми :)

Link to comment
Share on other sites

Уважаемый Алекс, вы писали:

Если бы этих браузеров было процентов 20, тогда можно было бы думать. А так...

"Этих браузеров" уже 24% по состоянию на декабрь 2007 года. Браузеров, в строке userAgent которых написано IE (это не значит, что это именно эксплорер, так как многие используют подмену строки сами знаете зачем) - 76%.

http://marketshare.hitslink.com/report.asp...=1&qpct=3&qpf=1

Прошу принять в расч?т и начать думать...

Link to comment
Share on other sites

Считали неправильно. Ваша цифра, которую Вы, уважаемый Programmer, привели, получают не с компьютера, а с обращения на сервер. Компьютеры на Linux в Internet ведут себя активнее. Согласитесь: покупатели в Internet-магазинах используют (как правило) домашний или офисный компьютер. Не будете же Вы утверждать, что четверть офисных и домашних компьютеров работает под Linux. С другой стороны, я видел домашние и офисные компьютеры, на которых стоит опера. Но Опера там, как правило, стоит не долго. До первых проблем. Пользователи убирают е?, как только убедятся, что браузер не всегда работает.

Опера и Мазила ? большой геморрой web-мастера. Если какой ни будь желторотый юнец напо?т заказчику, что Internet-магазин должен работать и там, то ? приходится оправдываться. Поэтому я с первого дня знакомства с заказчиком предупреждаю: в DOS и Linux, а также ? в сотовом телефоне в программируемом калькуляторе магазин работать не будет. В Опере и других (не IE) браузерах работать не будет, и не потому, что я плохой программист, а потому, что эти браузеры не предоставляют тех возможностей, которые предоставляет стандартный IE, или предоставляют, но не так как в IE, и, как правило ? непонятно: как? В сравнении с IE , Опера и Мазила ? урезанные браузеры. Не браузеры ? пародия на таковой.

Согласитесь, если клиент сн?с пол операционки и поставил на не? кривое ПО, если он пинает ногами системный блок, то ? web-мастер тут бессилен. (Тут работать должен врач-психиатр.)

Опера и Мазила сильно тормозят развитие услуг в Internet, поскольку требование их поддержки здорово ограничивает возможности web-мастера, возможности, которые предоставляет стандартный IE5.5. Опера и Мазила тормозят прогресс, так же, как DOS тормозила бы, если бы разработчикам выдвигалось требование поддерживать эту устаревшую операционку. Этот неоспоримый факт в конечном итоге станет причиной того, что эти два браузера исчезнут.

Я вижу единственный выход для разработчиков Оперы и Мазилы, чтоб не остаться без работы: принять за стандарт IE, каковым IE (de facto) является на сегодняшний день, и постараться сделать браузер не хуже. Тогда народ к ним (может быть) потянется. А распространять геморрой среди клиентов, и рассчитывать на нашу поддержку - глупо. (То, что они это делают бесплатно ? утешает мало.):)

Link to comment
Share on other sites

возможности, которые предоставляет стандартный IE5.5. Опера и Мазила тормозят прогресс

Чуть не уссался... По-моему IE догоняет постоянно остальные браузеры (но догнать не может) и в плане поддержки стандартов и в плане отображения контента. ИЕ5.5 - ха-ха. До 7-го осла не могли сделать нормально отображающуюся прозрачность PNG! В 7-м (!!! 7-м), сделали, а не в первом и не втором... Только вот про сотальное забыли - про стандарт... К которому нормальные браузеры стремяться и отображают вс? почти (заметьте, я не говорю, что они полностью поддерживают стандарт) одинаково! Извините, но ошибки в обработке css, html-хаки для разных версий браузера - это и есть хвал?ный стандарт???

Link to comment
Share on other sites

Про W3C конечно же слышал. Даже пытался читать. (В году 96-97.) Но только Билл положил на них свой ?Крошечный и дряблый?, Micro-soft, т.е. (а ? вы что подумали? Фу? как вам нестыдно!)

Компания Microsoft может позволить себе игнорировать мнение господ из W3C. То, что является стандартом, а что таковым не является, определяет Билл, а не эти господа.

Что касается качества браузера IE. Качество низкое, безусловно. Но это ничего не меняет. Вам может не нравиться то, что в вашей розетке 220 вольт при 50 герцах, потому, что ваш ноутбук рассчитан на 110 и 60, Чубайс от этого не вспотеет. И Биллу на господ из W3C начхать. :/

Link to comment
Share on other sites

Вы что, не читаете что тут пишут? Под нормальные браузеры НЕ НАДО писать хаки ПОД РАЗНЫЕ ВЕРСИИ!!! Все последующие версии улучшают поддержку стандартов и вс?, а не плодят баги как ИЕ. И конструкции типа Не требуются. Интересно, вам я вижу нравиться и вы будете писать

Link to comment
Share on other sites

Когда я делаю сайт, то у меня получается код (и сss) по нормальные браузеры + cssIE6 + cssIE7 (+ cssIE8 ???). Странно, не правда ли. почему у меня нет cssOpera + cssFireFox + cssSafari, а только одна общая таблица стилей для них???

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share


×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy