Показать сообщение отдельно
  #2 (permalink)  
Старый 20.08.2009, 01:57
Профессор
Отправить личное сообщение для alexKniaz Посмотреть профиль Найти все сообщения от alexKniaz
 
Регистрация: 14.10.2008
Сообщений: 186

Решил проблему
Проблему решил.
по пунктам:
1) определил что при sObj.onclick=function(){activate(this,name);} происходила ошбка. Выяснил, что под IE должно делаться через sObj.setЧто-тоТам.
2) попытался ввести проверку браузера через navigator.userAgent. Попытка с треском провалилась, т.к. и IE и OPERA вылетали.
3) Сделал на основе данного 2 скрипта - один - без изменений - второй через setЧто-тоТам. и заставил серверный скрипт по user-agent, определять, какой выдавать.
4) IE ОТКАЗЫВАЛСЯ РАБОТАТЬ, КАК ПРОКЛЯТЫЙ (хотя почему как, клятые MS)...
Т.е. даже предназначеный ишаку метод не работал.
5) нашёл гениальный выход из положения. Т.к. sObj - спан, реализующий элемент меню вкладки, то получил его текст, и inneHTML-ем создал внутри него ещё спан, в котором в виде текста всё описывалось событие:
Код для будущих поколений
....
var text=sObj.innerText;
sObj.innerHTML='<span onclick="var obj=document.getElementById('+"'"+sObj.id+"'"+');activate(obj,' +"'" + name + "'" + ');">'+text+"<\/span>";
....

Моё мнение : им в винду надо оперу или файрфокса засунуть и забыть про IE (мелкомягким). А также выплатить компенсацию всем JS-кодерам, скрипты которых стало возможно упростить
Ответить с цитированием