Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.12.2009, 17:05
Интересующийся
Отправить личное сообщение для velo Посмотреть профиль Найти все сообщения от velo
 
Регистрация: 28.10.2009
Сообщений: 24

IE и Javascript - не работающие ф-ци.
Пользуюсь всеми браузерами, кроме ИЕ.
Но... понимая что юзвери этого не хотят воспринимать, решил протестить в ИЕ все созданное и отлично работающее в других браузерах.
Получил кучу неработающих скриптов.

Прошу помощи разобраться.

Ошибки иногда выдаются, иногда нет. Но я абсолютно не понимаю, как их отловить в ИЕ (может кто то подскажет как?)

Начну с пары простых скриптов:

function wt_updateSpeedProfile() {
    var x = document.getElementById("speedprofile");
	var res = x.options[x.selectedIndex].value;
	var km = data;
	if (res > 0){
		var speed_time = (km/res)* 3600;
		document.getElementById("timeow").innerHTML = " = "+ showTimeNoSec(speed_time);
	}
}

function showTimeNoSec(time) {
    var strTime = "";
    if (time >= 3600) strTime += Math.floor(time/3600) + " ч.";
	time %= 3600;
    if (time >= 60) strTime +=" "+ Math.floor(time/60) + " м.";
    time %= 60;
    return strTime
}




// Другая неработающая ф-ция:

function select_speed(){
	var sel_opt_val = 30;
	for(i=0; i<24; i++){
		var val = document.getElementById("speed"+i).value;
		if(val == sel_opt_val){
			setNewAttribute("speed"+i, "selected", "selected");
			return;
		}
	}
}



<select name="speedprofile" id="speedprofile" size="1" onChange="wt_updateSpeedProfile();">
	<option value="0" id="speed0" > -- </option>
	<option value="4" id="speed1">4 </option>
	<option value="5" id="speed2">5 </option>
.....................................
	<option value="23" id="speed20">23 </option>
	<option value="24" id="speed21">24 </option>
	<option value="25" id="speed22">25 </option>
	<option value="30" id="speed23">30 </option>
</select>

<span id="timeow"></span>

Последний раз редактировалось velo, 23.12.2009 в 17:20.
Ответить с цитированием
  #2 (permalink)  
Старый 23.12.2009, 19:36
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

при установке MS Office ставиться js-отладчик. В настройках (вкладка Дополнительно) должна быть включена отладка. Тогда будет возможность запускать отладчик при возникновении ошибки. Еще можно alert'ы выдавать

хотя от некоторых ошибок (скорее синтаксических) не поможет. В этом случае, возможно, поможет встроенный отладчик ie8. Либо надо искать строку, по поводу которой ie ругается
Ответить с цитированием
  #3 (permalink)  
Старый 24.12.2009, 00:31
Интересующийся
Отправить личное сообщение для velo Посмотреть профиль Найти все сообщения от velo
 
Регистрация: 28.10.2009
Сообщений: 24

Сообщение от x-yuri Посмотреть сообщение
при установке MS Office ставиться js-отладчик.
В MS Office 2007 насколько я понял его нет.

Сообщение от x-yuri Посмотреть сообщение
поможет встроенный отладчик ie8. Либо надо искать строку, по поводу которой ie ругается
Ие-8 не ставлю из соображений просмотра в меньшей версии.
Стоит 6-ой, и дебаггер с возможностью смотреть в 7-ой.
Так что этот вариант отпадает.

Со строкой не понятно как - с теми строками, которые выдаются, а выдаются номера строк, найти ошибку не получается, т.к. по номерам этих строк совершенно другой код (возможно в связи с тем что страница формируется динамически).
Ответить с цитированием
  #4 (permalink)  
Старый 24.12.2009, 00:43
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

Сообщение от velo
В MS Office 2007 насколько я понял его нет.
на данный момент он лучший в плане пошаговой отладки

Сообщение от velo
Ие-8 не ставлю из соображений просмотра в меньшей версии.
поставь internet explorer collection. Правда у меня сейчас какое-то диалоговое окно при заходе в меню ie 7 появляется, а в остальном пока претензий нету

Сообщение от velo
Со строкой не понятно как - с теми строками, которые выдаются, а выдаются номера строк, найти ошибку не получается, т.к. по номерам этих строк совершенно другой код (возможно в связи с тем что страница формируется динамически).
вставляешь пустую строку: если ie говорит о строке+1, значит вставляешь пустую строку дальше по тексту
Ответить с цитированием
  #5 (permalink)  
Старый 24.12.2009, 00:47
Интересующийся
Отправить личное сообщение для velo Посмотреть профиль Найти все сообщения от velo
 
Регистрация: 28.10.2009
Сообщений: 24

Сообщение от x-yuri
поставь internet explorer collection
Спасибо, попробую глянуть в эту сторону.

Сообщение от x-yuri
вставляешь пустую строку: если ie говорит о строке+1, значит вставляешь пустую строку дальше по тексту
Кхе ))) Страница примерно 5000 строк, и страниц самих тоже не мало )))
Думаю это непосильный труд для меня
Ответить с цитированием
  #6 (permalink)  
Старый 24.12.2009, 00:54
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

иногда без этого не обойтись, но потом просто уже не допускаешь таких ошибок. В остальных случаях помогает отладчик
Ответить с цитированием
  #7 (permalink)  
Старый 25.02.2010, 19:33
Аватар для Diabol
Новичок на форуме
Отправить личное сообщение для Diabol Посмотреть профиль Найти все сообщения от Diabol
 
Регистрация: 02.02.2010
Сообщений: 5

а вот допустим у меня такой код есть
obj = {val1: 8, get val2 () { return this.val1 + 1; }, get val3 () { return this.val1 + 2; }, set val4 (v) { this.val1 = v / 2 }};

в мазилло и опера все работает
есть-ли аналогичные возможности JS для эксплорера?
Ответить с цитированием
  #8 (permalink)  
Старый 26.02.2010, 09:27
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Diabol
есть-ли аналогичные возможности JS для эксплорера?
Нет.
Ответить с цитированием
  #9 (permalink)  
Старый 26.02.2010, 10:40
Кандидат Javascript-наук
Отправить личное сообщение для vk65535 Посмотреть профиль Найти все сообщения от vk65535
 
Регистрация: 21.11.2008
Сообщений: 114

По поводу отладчика, от 2007 офиса он глючный, в нем не работает watch и intermediate (по крайней мере в моем офисе). Пользуюсь Visual Studio IDE для отладки.
По поводу разных версий ослов - есть отличное решение: http://www.my-debugbar.com/wiki/IETester/HomePage
Ответить с цитированием
  #10 (permalink)  
Старый 26.02.2010, 16:44
Аватар для Diabol
Новичок на форуме
Отправить личное сообщение для Diabol Посмотреть профиль Найти все сообщения от Diabol
 
Регистрация: 02.02.2010
Сообщений: 5

оп-па, придумал кроссброузерное решение:
var obj = new Object;

      function propObj ()
        {
         obj.val1 = 8;
         obj.val2 = function () {
                      return ( this.val1 + 1 ); };
         obj.val3 = function () {
                      this.val1 += 2; return this.val1; };
         obj.val4 = function ( v ) {
                      return ( this.val1 = v / 2 ); };
        };
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с javascript andruhin Общие вопросы Javascript 12 04.05.2012 10:05
Собрался силами, собираюсь освоить Javascript walker Общие вопросы Javascript 14 20.03.2012 16:17
JavaScript на Яндекс.Фотки - почему тормозит браузеры? ZavFirefox Javascript под браузер 23 27.09.2009 19:24
Программист на JavaScript (удалённо) Vadym Работа 1 28.01.2009 13:57
Нужен Старший разработчик JavaScript Yandex Работа 17 19.08.2008 16:43