| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Общие вопросы > Невидит только что созданную переменную |
| Автор: kaa 30.8.2007, 09:11 | ||||
Код
В фаере работает, в IE нет... Внимание вапрос: почиму?!?!?!?! Нет, конечно вокруг еще до черта кода, но косяк локализовался вот именно здесь. Именно когда начинаю работать с только-что созданным масивом - лезет баг :( Добавлено через 3 минуты и 24 секунды Да, забыл добавит мессагу об ощибке:
|
| Автор: Burrr 30.8.2007, 09:46 | ||
На всяк приведу код всей страницы:
Прекрасно работает в ИЕ6. Чудес не бывает! Ошибка возможно связана с этими строками, но явно не в них... |
| Автор: Се ля ви 30.8.2007, 10:06 |
| JS-машина бывает перегоняет сама себя на медленных компах. Я пару раз с таким сталкивался, что в IE она не успевает закончить предыдущее сложное действие (как здесь - выделение памяти и создание объекта массива), а уже лезет выполнять следующее и возникает Error, если они непосредственно связаны. В этом случае спасёт незначительная задержка или просто небольшой пересмотр изначального алгоритма, что бы дать немного лишнего времени для оператора "new" и сразу после него выполнить что-нибудь другое. P.S. Хотя случается такое действительно очень редко... |
| Автор: kaa 30.8.2007, 21:52 |
| Burrr, А что у нас может влиять в коде на использование переменной? Причин, кроме тоу которую указал Се ля ви, невижу (на работе комп тормазит по страшному). И веть фаер-то не ругается главное. :( |
| Автор: Burrr 30.8.2007, 22:14 |
| kaa, откуда мне знать чего у тебя там в коде. Простой тест - проверь свою страницу на нормальном компе у коллег или кинь ссылку знакомым, пусть они погоняют. Вот и проверишь предположение Ce Ля Ви. |
| Автор: smartov 30.8.2007, 22:46 |
| kaa, а массив и его использование лежат именно в рамках одного неймспейса (функция или просто последовательный код). Они не разнесены по разным функциям? Не может быть такого, что попытка обращения к массиву происходит раньше, чем его инициализация? Так же поищи обязательно синтаксические или грамматические ошибки (некоторые умудряются например вместо y русскую у написать - а потом сидеть и мучаться почему массив не создается). |
| Автор: kaa 31.8.2007, 08:28 |
| smartov, Нет, никуда не разнесены :( Да и в фаере всё нормально работало - значит русские буквы нигде не прописывал. ЗЫ: вообще код пичатал под Fierfox, ща портирую под IE :( Есть мысль тупо сварганить два варианта кода :( |
| Автор: kaa 31.8.2007, 09:22 | ||||
| Мдям Когда делаю так:
То ошибки нету. Чиго ем не нравится в этой строке?!
|
| Автор: smartov 31.8.2007, 11:34 | ||
kaa, чисто ради прикола попробуй так
может сработает Потому что явно где-то идет пересечение по переменым, то есть с другим кодом. Разбираться надо в общем - видеть весь код. Да и то я думаю никто тут не осилит весь код читать, даже если ты его выложишь. |
| Автор: kaa 31.8.2007, 14:24 |
| smartov, Думаю да... Тока если у кого бессонница Попробую сегодня-завтра, спасибо |
| Автор: kaa 8.9.2007, 15:12 | ||||||||||
| Всё... Это тупикЪ Вот так работает:
А так нет:
Называется "найди десять отличий" Что меня этот IE уже бесить начинает... Кривой со всех сторон сразу :( Добавлено через 4 минуты и 7 секунд Кстати так тоже работает
Тоесть если перед определением массива ставишь комментарий то всё работает.. Это вообще почиму?! Кидаю сюда кусок рабочего кода:
И кусок нерабочего:
Там дальше нет смысла копироватить ибо return Добавлено через 8 минут ГОСПОДА! Всё дело в каментах! У меня движок генерит страницы на utf-8 и кодировку видимо для скриптов тоже соответствующую задаёт. Пересохранил скрипт в utf-8 ошибка пропала. Я просто тихо фигею над IE. Фаер гораздо менее привередлив :( Думаю данная проблема решена, всем спасибо за участие! |
| Автор: SelenIT 8.9.2007, 15:24 |
| kaa, а это кусок исходника в редакторе или кусок того, что показывает в блокноте View source самого IE? Пока у меня единственная мысль - несовместимые переносы строк, из-за чего с точки зрения IE объявление массива в нерабочем варианте оказывается на одной строке с предшествующим комментом... |
| Автор: kaa 8.9.2007, 18:10 |
| Это был кусок кода. |
| Автор: smartov 10.9.2007, 15:29 |
| kaa, Если бы я в отпуск не ездил, то так бы тебе и сказал, что просто символ закрался, который IE-шке парсер наворачивает Но ты и сам разобрался, что имхо гораздо лучше |