Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Объект исчезает в IE / 6 сообщений из 6, страница 1 из 1
24.03.2008, 05:23
    #35208661
I_Work
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объект исчезает в IE
К странице подгружается скрипт:
Код: plaintext
1.
2.
3.
4.
5.
6.
var mnu = null;
…
function loadMenu() {
mnu = '357';
alert(mnu);
}

На странице есть такой код:
Код: plaintext
1.
2.
3.
<script language="JavaScript">
loadMenu();
alert(mnu);
</script>

На странице есть POST-форма, которая ссылается на эту же самую страницу. При загрузке пустой формы код страницы получается таким же, как и у исходной страницы.

Проблема вот, в чем: IE6 при начальной загрузке страницы показывает два алерта с "357". Если же засабмитить форму, то первый алерт показывает 357, второй - null. Так ведет себя только IE6.

Что еще интереснее - если зайти на эту страницу, затем по ссылке перейти на другую, а потом вернуться на эту страницу посредством кнопки "Назад", то все работает просто идеально - сколько форму ни сабмить с различными данными, все работает прекрасно (пока "просто" не обновишь страницу) - оба алерта возвращают 357.

Такое ощущение, что когда вызывается loadMenu(), то переменная mnu носит там локальный характер.

Помогите, пожалуйста, решить проблему.

С уважением,
Евгений
...
Рейтинг: 0 / 0
24.03.2008, 05:34
    #35208663
I_Work
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объект исчезает в IE
Заметил еще такую штуку:
если поместить
Код: plaintext
var mnu = null;
внутрь самой страницы (не отдельного скрипта), то присваивание происходит всегда отлично!
...
Рейтинг: 0 / 0
24.03.2008, 05:49
    #35208667
illion
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объект исчезает в IE
Имею IE6, но воспроизвести Ваш баг так и не удалось - все работает отлично.
Попробуйте к глобальной переменной делать полное обращение - window.mnu
...
Рейтинг: 0 / 0
24.03.2008, 06:21
    #35208680
I_Work
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объект исчезает в IE
С window работает так же, как и без него.

В "чистом виде" у меня не получается воспроизвести этот баг. Там достаточно много всякого криво-написанного кода... Разобраться в нем времени потребует слишком много - реально больше, чем все переписать. Но начальство пока не хочет выделять ресурсы для переписывания, хочет только от проблемы избавиться.

Пока сделал так: просто вынес переменную в исходный код страницы. Все работает. Хотя подход кривой.

Как будет свободное время, все же поищу, где тут собака зарыта.
...
Рейтинг: 0 / 0
24.03.2008, 13:56
    #35209684
IDVsbruck
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объект исчезает в IE
Да чего тут искать? Если функция подгружается, а вызов ее находится в основном контенте, то функция просто не видна (не определена). И ничего тут не поделаешь.
Дрогое дело - зачем мы ее вызываем? - Обычно функции вызываются для реакции на какое-то событие. Так вот, если в подгружаемом блоке определить событие и либо реакцию на него, либо вызываемую функцию в этом же блоке, то все будет видно.
В свое время также столкнулся с такой проблемой, но успешно ее поборол определением событий.
...
Рейтинг: 0 / 0
24.03.2008, 20:21
    #35210692
apapacy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Объект исчезает в IE
Попробуйте вместо алерта проверить значения другим способом, например через innerHTML некторого элемента.
Тут такое дело. Если один из скриптов подгружается из js файла или оба - никто не знает какой из них отработает раньше - тот что загрузился тот и отработал. Поэтому Ваши скрипты по-разному могут вызываться. Но тут еще и алерт примешался. Алерт вызывает SUSPEND текущего скрипта и дает отработать первому попавшемуся скрипту из очереди ожидания. Поэтому и работает по-разному.
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Объект исчезает в IE / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]