Недавно коллега использовал элемент управления «Меню» asp.net 2.0, который является одним из элементов управления навигацией в asp.net 2.0. Недавно я обнаружил проблему и поместил этот элемент управления на главную страницу. Затем страница использует
найденную мной
главную страницу.что при загрузке страницы Это не конец. При быстром нажатии на меню будет сообщено об ошибке, специфичной для IE. Ха-ха.
После поиска в Google появилось много подобных ошибок. Некоторые люди также сталкивались с подобными ошибками при использовании меню asp.net. Например:
http://forums.asp.net/thread/1158791.aspx
http://forums.asp.net/thread/1159962.aspx
Подобные программы можно просматривать с помощью Firefox, но с этим проблем нет. На самом деле эта проблема с IE. очень распространенная ошибка, обычно она возникает, когда документ не загружен и сценарий динамически изменяет статус документа.
Что касается меню asp.net, я посмотрел на код, который он автоматически генерирует. на самом деле, это js-файл. В нем есть аналогичный код
if (!childFrame) {.
childFrame = document.createElement("iframe");
childFrame.id = childFrameId;
childFrame.src = (data.iframeUrl ? data.iframeUrl: «about:blank»);
childFrame.style.position = "абсолютный";
childFrame.style.display = "нет";
childFrame.scrolling = "нет";
childFrame.frameBorder = "0";
if (parent.tagName.toLowerCase() == "html") {
document.body.appendChild(childFrame);
}
еще {
родитель.appendChild(childFrame);
}
}
Ха-ха, действительно существует динамический код дочернего элемента. На самом деле этот подход не является строгим. Коды, написанные MS, иногда игнорируют некоторые проблемы.
Что, если документ еще не загружен и срабатывает дочерний элемент?
Ха-ха, когда я нажимаю «Скоро», это происходит? будет поводом для параллелизма. Это похоже на синхронизацию потоков. Вот почему IE сообщит об ошибке при изменении статуса документа.
Как изменить его дальше?
1. Вы можете поместить меню в div, сначала установите скрытое отображение.
2. После загрузки документа установите видимость
document.onreadystatechange=ShowMenu;
функция ПоказатьМеню()
{
если(document.readyState=="завершить")
{
document.getElementById("DivOfMenu").style.visibility="visible"
}
}
Вот и все.
http://www.cnblogs.com/montaque/archive/2006/09/18/507639.html