Много позже некоторое время царапания моей головы и движения "ха?" при попытке выяснить, почему IE прямо отказал бы при загрузке одной из моих страниц, загруженных совершенством jQuery, я сузил преступника к этой строке
$('div#questions').hide();
И когда я говорю, что катастрофические отказы IE, подразумеваю, что это полностью отказывает, пытаясь сделать его ерунду восстановления веб-страницы, которая перестала работать.
Я запускаю jQuery 1.4.2 и использую IE 8 (не протестировали ни с какими другими версиями),
мое текущее обходное решение - это:
if ($.browser.msie) {
window.location = "http://www.mozilla.com/en-US/products/download.html";
}
По некоторым причинам я чувствую, что мои пользователи IE не будут очень довольны этим решением все же.
У рассматриваемого отделения есть много содержания в нем и других отделений, которые скрыты и отобразились снова, и все это работает просто великолепно и денди, это только, когда от гигантского родительского отделения скрываются, что зеркальные отражения IE и наносят удар себе.
Кто-либо встретился с этим или имеет какие-либо возможные идеи того, что идет не так, как надо?
Править:
Все обернуто в $ (документ) .ready (функция () {}); И мой код является все внутренним, таким образом, я не могу связать его, к сожалению.
Код катастрофического отказа Править: IE 8 найден
<ol class="actionHelp">
<li>List the tasks (or actions) that are involved in your pattern along the top (one per column)</li>
<li>Put the starting point in the first column and the ending point in the last column.</li>
<li>To fill in the middle, simply ask: "What happens next?" If only one thing ever happens next, then it should get 100%. If 70% of the time one thing happens next, and 30% of the time another thing happens next, then put 70 in one box and 30 in the other.</li>
<li>Each row should add up to 100%</li>
<li>The last row is the exit and should not have any percentages in it.</li>
</ol>
Я понятия не имею, почему это вызывает проблемы в IE, но здесь является CSS
.actionHelp {
margin: 0 0 0 20px;
}
.actionHelp li {
margin: 5px 0;
}
Используя незаказанный список вместо заказанных результатов списка ни в каком катастрофическом отказе, но после того как я переключаю его назад, я получаю катастрофические отказы снова и снова, этому элементу не должны заказывать, у меня просто был он там как шаги, которые имеют логический смысл, я все еще хотел бы знать, почему это чертовски отсутствует IE.
JQuery + IE + сокрытие ol элемента = OMG СБОЙ IE? Или существует ли обходное решение?
Это, кажется, затронуто любой элемент списка со стилем списка ни кроме одного
Очевидно, ваша проблема не в div # questions
сам. Можете ли вы попробовать удалить (или закомментировать) все содержимое div # questions
и добавить каждый элемент обратно, по одному, до тех пор, пока IE снова не начнет давать сбой?
Как только вы найдете виновника , затем сделайте то же самое еще раз для этого элемента, удалив все его содержимое и добавив каждый элемент обратно, проверяя после каждого.
Продолжайте делать это, пока не найдете реальный источник проблемы. Я знаю, что это довольно низкотехнологичное решение, но зачастую оно также и самое быстрое.
Выключите расширения.
Очень маловероятно, что javascript является вашей единственной проблемой.
.hide ()
- это просто оболочка для установки стиля элементов на display: none
. Вы пробовали document.getElementById ("# questions"). Style.display = "none"
просто чтобы посмотреть, имеет ли это значение? Это может помочь вам определить, вызывает ли конфликт сам jQuery.
Просмотрите код в отладчике IE (с неминифицированным jQuery) и посмотрите, на какой строке он умирает.