Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Интернет-языки

Страница: 1 | 2 |

 

  Вопрос: [JS] Ненавижу Оперу!!!! Добавлено: 04.05.06 22:25  

Автор вопроса:  HACKER
Есть код, который отлично работает в IE, но в опере просто нонсес!!! Ладно там если функция б какая-то не так называласб, или небыло совсем, а то вообще цирк... вообщем зацените в UnVisibleAll нужные места прокоментированы...


<script language="JavaScript">
function UnVisibleAll (krome){
var basename = "group";
  for(var i=0;i<3;i++){
if (document.all(basename + i) != "null"){
alert(); //<<< В Opere только этот вылетает
a = document.test.elements[basename + i].id;
alert("t:"+a); //<<< В IE и этот тоже, но ГДЕ ОН В OPERE!!!
if ( (a != krome) ) {
newId = a + "vis";
showIt = document.all(newId);
showIt.style.display = "none";
}
}
}

}
function openIt() {
 currEl = event.srcElement;
 if (currEl.className == "subhead") {
   newId = currEl.id + "vis"
    imgId = currEl.id
     showIt = document.all(newId);

    if (showIt.style.display == "none") {
      showIt.style.display = "";
       document.images(imgId).src = "fenix/minus.gif"
UnVisibleAll (currEl.id);


      } else {
      showIt.style.display = "none";
       document.images(imgId).src = "fenix/plus.gif"
     }
  }
}
</script>

<body onclick="openIt()" topmargin="10">
<form name="test">
<!-- section 1 -->

 <span class=indent2><img src="fenix/plus.gif" class=subhead id="group0" width="9" height="9">
 <a href="#1" class=subhead style="color:#000" id="group0">Музеї Житомирської області</a></span><br>
   
   <div id="group0vis" class=list style="display:None">

     <img src="fenix/green.gif" width="16" height="16">
<a href="bila.htm">Білоцерківський краєзнавчий музей</a><br>
     <img src="fenix/green.gif" width="16" height="16">
<a href="boris.htm">Бориспільський історичний музей</a>
   </div>

<!-- section 2 -->

 <span class=indent2><img src="fenix/plus.gif" class=subhead id="group1" width="9" height="9">    
<a href="#1" class=subhead style="color:#000" id="group1">НІЕЗ Переяслав</a></span><br>
       
   <div id="group1vis" class=list style="display:None">

     <img src="fenix/green.gif" width="16" height="16">
<a href="bila.htm">Білоцерківський краєзнавчий музей</a><br>
     <img src="fenix/green.gif" width="16" height="16">
<a href="boris.htm">Бориспільський історичний музей</a>
</div>

<!-- section 3 -->

 <span class=indent2><img src="fenix/plus.gif" class=subhead id="group2" width="9" height="9">
 <a href="#1" class=subhead style="color:#000" id="group2">Київська область</a></span><br>
   
   <div id="group2vis" class=list style="display:None">

     <img src="fenix/green.gif" width="16" height="16">
<a href="bila.htm">Білоцерківський краєзнавчий музей</a><br>
     <img src="fenix/green.gif" width="16" height="16">
<a href="boris.htm">Бориспільський історичний музей</a>
   </div>
</form>


У кого какие мысли/предложения?

Ответить

  Ответы Всего ответов: 17  

Номер ответа: 1
Автор ответа:
 Павел



Администратор

ICQ: 326066673 

Вопросов: 368
Ответов: 5968
 Web-сайт: www.vbnet.ru
 Профиль | | #1
Добавлено: 05.05.06 16:37
Во-первых, элементы коллекций получаются путём квадратных скобочек...
То есть не так:

document.all(basename + i)

а так:

document.all[basename + i]

А вообще грамотно (по стандарту) так:

document.getElementById(basename + i)

Не везде в конце строк стоит ; Хотя не уверен, что это обязательная
часть синтаксиса JS...



Если alert второй не вылетает, то скорей всего происходит какая-то
ошибка здесь:

a = document.test.elements[basename + i].id;

Посмотри, в опере вроде есть какая-то тулза для просмотра ошибок JS...
Что-то типа Javascript console.

Ответить

Номер ответа: 2
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #2 Добавлено: 05.05.06 21:41
по всякому пробовал...

<script language="JavaScript">
function UnVisibleAll (krome){
var basename = "group";
  for(var i=0;i<3;i++){
if (document.all[basename + i] != "null";){
alert(); //<<< В Opere только этот вылетает
//a = document.test.elements[basename + i].id;
a = document.getElementById(basename + i);
alert("t:"+a); //<<< В IE и этот тоже, но ГДЕ ОН В OPERE!!!
if ( (a != krome) ) {
newId = a + "vis";
showIt = document.all(newId);
showIt.style.display = "none";
}
}
}

}
function openIt() {
 currEl = event.srcElement;
 if (currEl.className == "subhead";) {
   newId = currEl.id + "vis"
    imgId = currEl.id
     showIt = document.all(newId);
    if (showIt.style.display == "none";) {
      showIt.style.display = "";
       document.images(imgId).src = "fenix/minus.gif";
UnVisibleAll (currEl.id);
      } else {
      showIt.style.display = "none";
       document.images(imgId).src = "fenix/plus.gif";
     }
  }
}
</script>


Консоль

file://localhost/C:/Documents%20and%20Settings/RUSYA/Рабочий%20стол/menu.htm
Event thread: click
Error:
name: TypeError
message: Statement on line 13: Could not convert undefined or null to object
Backtrace:
  Line 13 of inline#1 script in file://localhost/C:/Documents%20and%20Settings/RUSYA/Рабочий%20стол/menu.htm
    showIt.style.display = "none";
  Line 28 of inline#1 script in file://localhost/C:/Documents%20and%20Settings/RUSYA/Рабочий%20стол/menu.htm
    UnVisibleAll(currEl.id);
  Line 1 of script
    openIt();
  At unknown location
    [statement source code not available]


Чем бы заменить
a = document.test.elements[basename + i].id;
чтобы в опере работало?

Ответить

Номер ответа: 3
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #3 Добавлено: 05.05.06 21:42
окошко (alert) то и второе теперь вылетает, ну вёравно ругается на a = document.test.elements[basename + i].id; ...

Ответить

Номер ответа: 4
Автор ответа:
 ANDREY Z5Z



Вопросов: 38
Ответов: 125
 Web-сайт: save-games.info
 Профиль | | #4
Добавлено: 11.06.07 23:00
Слушай, цель функции UnVisibleAll скрыть элементы с общим именем "basename + i + vis", кроме "krome"?
Можно так: (проверял - все работает)

function UnVisibleAll (krome) {
var basename = "group";
for (var i=0; i<3; i++) {
var a = basename + i + 'vis';
if (a != krome) {
var object = document.getElementById(a);
object.style.display = 'none';}}}

А в html-е например так:
<p id="group0vis">ANDREY</p>
<p id="group1vis">ANDREY</p>
<p id="group2vis">ANDREY</p>
<button onclick="UnVisibleAll('group1vis')">TEST</button>

А вторая функция openIt() странная какая-то... я так не понял для чего она. если тебе все еще надо, поясни, я может гляну.

Ответить

Номер ответа: 5
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #5
Добавлено: 12.06.07 12:15
Разве Opera поддерживает document.all? Вроде бы это известное различие в броузерах.

Ответить

Номер ответа: 6
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #6
Добавлено: 12.06.07 14:34
[JS] Ненавижу Оперу!!!!
а я люблю, и еще куча народа, так что старайся, HACKER, старайся :)

Ответить

Номер ответа: 7
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #7
Добавлено: 12.06.07 15:20
Нафиг тех, кто любит Оперу, делать нам больше нечего, как под любителей всяких links'ов недоделанных подстраиваться.

Ответить

Номер ответа: 8
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #8
Добавлено: 12.06.07 15:30
под любителей всяких links'ов недоделанных подстраиваться.
недоделаных? назови мне программу, которая умеет больше?

ну осел понятно, но он не умеет например отправлять письма, жутко тормозит, да и + к тому же в нем можно открывать веб-страницы только на отдельных страницах... + он становится се более популярным, у меня из друзей мало кто IE пользуется

если бы осел не поставлялся вместе с виндой, то его бы вообще никто не использовал

Ответить

Номер ответа: 9
Автор ответа:
 gvozd



Разработчик Offline Client

Вопросов: 164
Ответов: 1317


 Web-сайт: www.gvozdsoft.com
 Профиль | | #9
Добавлено: 12.06.07 16:56
Осел запускается быстрее оперы, нормально отрабатывает скрипты, письма нужно отправлять с почтовой программы, вкладки и RSS поддерживаются с версии 7.

Ответить

Номер ответа: 10
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #10
Добавлено: 12.06.07 19:04
Осел запускается быстрее оперы
у меня раз в десять медленнее

письма нужно отправлять с почтовой программы,
вопрос удобства...

Ответить

Номер ответа: 11
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #11
Добавлено: 12.06.07 19:47
У тебя просто Опера закэширована.
Программа, которая умеет больше? Visual Studio, например :) Если ты о броузере, то, например Mozilla Suite умеет на порядок больше. В частности, правильно отображать HTML+CSS и правильно интепретировать JS.

Ответить

Номер ответа: 12
Автор ответа:
 ANDREY Z5Z



Вопросов: 38
Ответов: 125
 Web-сайт: save-games.info
 Профиль | | #12
Добавлено: 12.06.07 21:29
Но Опера очень много чего неправильно отображает... Вот НАРОД - обьясните мне это:
(я обращался в "support" Оперы, там сказали, фиг поможем :) Вот CSS-код:

.cyanplank {
border-width: 1px 2px 2px 1px;
border-style: solid;
border-color: #ccffff #6699cc #6699cc #ccffff;
background-color: #99ccff;
text-align: center;
color: #ffff00;
margin-top: 30px;
padding: 7px;}

Видите там color: #ffff00; ? А запустите этот код например так: <h1 class="cyanplank">TEST</h1>
Какого цвета шрифт?? И так все цвета, кроме оттенков синего (например #6600ff), отображаются черным! (прибил бы создателей :) Или я что-то не понимаю?

Ответить

Номер ответа: 13
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #13 Добавлено: 12.06.07 22:54
От ужеж археологи :) Старючий боян и всёравно раскопали, ну ок, ANDREY Z5Z наверное надо сказать спасибо, всётаки взялся помочь...:)

По поводу оперы.. мыла там умеет отправлять, что она ещё там умеет?

Вы когда mp3 плеер покупаете, вам обязательно чтобы там и открывалка для пива была? А кто любит холодильники со встроенными телеками? Хотите прикол? У меня мобильник mp3 не поддержимает :) фуу какая гадость? :) Правда? Ой, надо же.. и с фотиком цифровым я тоже профтыкал - он ведь без mp3, и открывалки для пива нету:\

А где больше глюков, в двух маленьких приложениях, или в одном большом? А знаете почему опера всё пичкает в себя? Чтобы остаться на рынке, т.е. если в ней небыло б мыльника, рсс-читалки, хранителя паролей, голосового движка, мп3, открывалки для пива итп итд.. Кто бы оперой пользовался? Темболее покупал её за деньги... Никто.. Т.к. опера КАК INTERNET BROWSER - полное говно. Опера всёравно уйдёт с рынка, это всего лишь вопрос времени..

Ещё умные мысли есть, кроме открывалок для пива, мп3 плееров, мыльников, встроенных хранителей паролей, рсс-ридеров.. итп?? Под оперу меньше сплоитов, т.е. типа она более безопасней.. мм.. да, а вот странная аналогия - Linux безопаснее Windows (в плане дырок, всмысле сплоитов..).. продолжаем аналогию... FreeBSD безопаснее Linux'a.. Дальше? MS-DOS безопаснее FreeBSD .. :) Я к чему? Чем меньше людей пользуются продуктом - тем он безопаснее. Это аксиома. Поэтому ненадо волать на IE, с точки зрения браузера. Безопасность латается своевременным обновлением. А тем кому хочеться менюшичек, рюшечек, встроенных вкладочек, других дополнительный функций - полно сторонних браузеров на движке IE. Я например стандартным IE тоже не пользуюсь, но меня вполне устраивает AvantBrowser, который может чуть и скромнее чем Опера (нету открывалки для пива, голосового движка, мыльника) но за то дополняет недостатки IE типа вкладок, быстрой отключения картинок/флешек/скриптов ну итп итд..

Ответить

Номер ответа: 14
Автор ответа:
 User Unknown



Вечный Юзер!

ICQ: uu@jabber.cz 

Вопросов: 120
Ответов: 3302
 Профиль | | #14 Добавлено: 12.06.07 23:14
да, а вот странная аналогия - Linux безопаснее Windows (в плане дырок, всмысле сплоитов..).. продолжаем аналогию... FreeBSD безопаснее Linux'a.. Дальше? MS-DOS безопаснее FreeBSD ..

Действительно странная аналогия, ибо полный бред. Безопасность в прямых руках и в здравом смысле, а не в инструментарии.

Чем меньше людей пользуются продуктом - тем он безопаснее.


Windows Me многие пользуются? Стало ли оно безопаснее со временем?

мыла там умеет отправлять, что она ещё там умеет?


А всё умеет. Из коробки. И не надо сидеть часами разбираться, скачивать, шлифовать нашлёпки на свежескаченный браузер, чтобы последний был хоть немного пригоден для использования.

Нафиг тех, кто любит Оперу, делать нам больше нечего, как под любителей всяких links'ов недоделанных подстраиваться.


Под линксом у меня даже microsoft.com нормально работает, так что не надо ля-ля. Впрочем как и под Arachne и под lynx. А вот увешать сайт всякими свистелками-перделками вне стандарта, это вы завсегда. И гордо, аки вишенку на торте, водрузить "Для просмотра этого сайта требуется IE 7 или выше". При всём уважении, Фпень! таких въеб-мастеров.

Ответить

Номер ответа: 15
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #15 Добавлено: 13.06.07 01:26
Windows Me многие пользуются? Стало ли оно безопаснее со временем?
Если безопасность мерять в кол-во извесных дырок, почему бы и нет? Вполне допустимо сказать что Me к выходу XP, была безопаснее чем XP. Далее Me прикратили развивать, все перешли на ХР.. соответственно к чему больше стали искать дырок? К ХР разумеется. Другое дело что ХР усердно латали, в то время как Me давно пылился на полке, был никому не нужен.

Безопаснее со временем? Почему бы и нет? Ну к примеру много ты щас в сети найдёшь вирусов/сплоитов под вин31, 95? Нет, они есть, их может быть не мало.. Но где они? На текущее время найти сплоит под хр гораздо легче чем под вин95, 31.. Думаю лет через 5-10, точно также ничего не найдёшь под Me, из сети окончательно уйдут вирусы под старую ОС, и всё, можно будет сказать что Me безопаснее Vilen'ы :) Другие дело в совместимости дырок, например думаю можно найти общую дырку для вин 95/98/Me, аналогично для всех билдов пятого IE, но совместимость это уже другая тема...

А всё умеет. Из коробки. И не надо сидеть часами разбираться, скачивать, шлифовать нашлёпки на свежескаченный браузер, чтобы последний был хоть немного пригоден для использования.
Нет, ну подожди! Как всё?! Я только что облазил всю манюшку, функции "открыть пиво" - нету. И вообще, как такие слова: "Из коробки", "Часами разбираться".. может говорить линуксоид??? :)) Нет, если бы мне моя мама сказала что ей влом разбираться как тут в браузере что-то настроить - я бы её понял, но от тебя - не ожидал :)
И вообще, а что ненадо настраивать? У тебя опера сама определяет пароли от твоих ящиков? Сама smtp/pop сервера подставляет? Сама с потолка берёт пароли из заносит их себе в пасскипер? Сама пиво умеет открывать?? Или оперовский говномыльник созрел потягаться с моей летучей мышью? Или там в опере голосовой движек научился распознавать команды кроме как "Открыть/Закрыть"? Или диктор читать нормально научился? Да в опере всё криво, убого, урозенно. Если мыльник, так слабый, если рссридер, так тоже слабый, любую встроенную функцию оперы не возьми - она недотягивает до сторонних программ которые напрямую предназначены решать какую-либо функцию. Более того, опера с трудом дотягивает до браузера, т.к. многие вещи которые работают в других браузерах и в частности в IE, в опере глючат/неработают. За что любить эту коробку?

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам