innerHTML заставляет IE6 (постоянно) запираться

На сайте я продолжаю работать, я загружаю ряд изображений, которые могут быть анимированы с помощью некоторых средств управления, я реализовал w/javascript. Все работает просто великолепно во всех браузерах, но IE6, который запирается и никогда не восстанавливается; по крайней мере, не w/in 15 минут я позволяю ему находиться там.

Часть, на которой это дросселирует, является частью, где я пробую к измененному содержание конкретного отделения.

Перед проблемой:

После проблемы:

Я попробовал:

  • хранение всех элементов w/in animation_image как строка и установка этого, чтобы быть innerHTML
  • создание пустых отделений / отделений заполнителя w/in animation_image и заполнение их индивидуально
  • использование appendChild вместо innerHTML
  • добавление другого отделения под "animation_image" и помещение всех изображений/отделений там с помощью этих 3 методов выше этого

Ни один из него, кажется, не работает в IE6 - все методы работают просто великолепно в FF3.0 +, IE7 +, Chrome 2 +, и т.д. Если я выхожу из JavaScript до innerHTML, это работает просто великолепно, но если я даже пробую к заполнению единственного отделения (в animation_image) с помощью метода в 2-м пункте маркированного списка, это запирается и никогда не восстанавливается.

Я уверен, что пропустил что-то, но я полностью чертовски отсутствую ATM.Заранее спасибо.

Обновление: Вот ссылка на JavaScript вдоль w/sample XML (http://pastebin.com/m5b426a67)

6
задан malonso 19 January 2010 в 16:44
поделиться

7 ответов

Не совсем уверен, как я пропустил это в мои дни и дни густочки, но похоже, что проблема связана с альфаампарам -oader «Fix» для решения W / прозрачных PNG. Статья, которую я обнаружил, получает более подробную информацию о базовой проблеме:

http://blogs.cozi.com/tech/2008/03/transparent-pngs-can-deadlock-ie6.html

, когда я удалил запись в png_fix.css Страница - в исходной форме - загружена безупречно в IE6. Теперь мне просто нужно пойти и попытаться преобразовать все (прозрачные) PNGS в GIF, которые также могут быть невозможным решением.

Я действительно ценю помощь всех, и я прошу прощения за любые госы диких гусей, на которых я послал людей. Большое спасибо всем очень.

1
ответ дан 17 December 2019 в 22:13
поделиться

Я бы искал что-то вроде этого, чтобы кодировать с, так как

        if (DateTime.Now.Month != 1) // can't run this test in January.

имеет это магическое число 1 в нем. в то время как

        if (DateTime.Now.Month != DateTime.MonthsOfYear.January) 

является самодокументированным

-121--759048-

Они идентичны. См. документацию .

performedInBackground: wityObject: Результат вызова этого метода тот же, что и при вызове метода detachNewThreadSelector: toTarget: wityObject: NSThread с текущим объектом, селектором и объектом параметра в качестве параметров.

-121--1529168-

Другим вариантом может быть использование спрайта. Собрать все разрозненные изображения в один файл и соответствующим образом расположить большое изображение в divs, используя свойства фона CSS (позиция, repeat и т.д.) Я не уверен, насколько велики ваши отдельные файлы, но это может сработать для вас.

В Интернете есть много ссылок для этого, но вот одна .

0
ответ дан 17 December 2019 в 22:13
поделиться

Нет ничего, что сразу не выпрыгивает.

Первое, что я бы сделал, попробуйте Script Standalone: ​​буквально создайте пустую HTML-страницу только с этим сценарием на нем. Если это работает, вероятно, что какой-то другой скрипт вызывает проблему.

Если он все еще разрывается, попробуйте упростить скрипт. Попробуйте распределить вывод, вы вкладываете AnimHTML , например, попробуйте без всех атрибутов. Может быть Alert (или иным образом вывод) AnimHMTL , чтобы увидеть, есть ли что-то очевидно во там, что сломается, т. Е. Возможно, странный / плохо закодированный символ в XML?

0
ответ дан 17 December 2019 в 22:13
поделиться

Пытались ли вы уволить первого ответчика, когда текст становится неактивным, а не когда он становится активным?

-121--3414234-

Это своего рода конечная цель кластеризованной операционной системы. Мэтью Диллон прилагает много усилий, чтобы реализовать что-то подобное в своем проекте Dragonfly BSD .

-121--773603-

Ранее у меня была аналогичная проблема, и я исправил ее, установив тайм-аут для метода iniveHTML.
Я не уверен, применим он здесь или нет, но я бы сказал, просто попробуйте.

0
ответ дан 17 December 2019 в 22:13
поделиться
[11189718-

Если ничего не работает, вы можете использовать попытку ... CALL ELEACK и отобразить дружественное сообщение об ошибке, если попытка поймана.

0
ответ дан 17 December 2019 в 22:13
поделиться

Предложение Пера Анона:

#!/usr/bin/perl

use strict;
use warnings;

use bignum ( p => -50 );

print sqrt(20);

Вы можете посмотреть документы для Math:: BigFloat и Math:: BigInt , которые bignum использует.

-121--3348377-

Либо obj.instance _ variable _ набор («@ instance _ variable», значение) , либо obj.send («instance _ variable =», значение) .

Первый непосредственно задает переменную экземпляра. Последний вызывает метод setter, который, конечно, работает только при наличии метода setter, но, с другой стороны, работает и при наличии метода setter, который фактически не задает только переменную экземпляра (или вообще не задает переменную экземпляра).

-121--3612762-

Возможно, я пропустил это, так как я только взглянул на код, но любые манипуляции DOM должны быть сделаны после DOM Ready, особенно в IE6. Вы пробовали это?

$(document).ready(function(){
 $('#animation_image').html(animHTML);
});

Если вы пробовали это, то я изучу это дальше.

0
ответ дан 17 December 2019 в 22:13
поделиться

Эта проблема в том, что я видел несколько раз. В IE, в любом случае, кажется (для меня) быть ошибкой при установке свойства InnerHTML с чем-то, что содержит внешние ресурсы (изображение, скрипт и т. Д.).

Вы добавляете несколько меток IMG. Каждый может вызвать эту проблему. Вот что я рекомендую:

вместо создания этого HTML и установка свойства InnerHTML

var html = '<div id="daily_loop_image_4" class="loop_image">
    <img name="animation" src="/path/to/image/4/20100119/world_5.gif"
         class="hiddenElements" border="0">
</div>';
outerDiv.innerHTML = html;

запустить этот скрипт для добавления HTML:

var div = document.createElement('div');
div.id = 'daily_loop_image_4';
div.className = 'loop_image';

var img = document.createElement('img');
img.name = 'animation';
img.src = '/path/to/image/4/20100119/world_5.gif';
img.className = 'hiddenElements';
img.border = 0; //Shouldn't this be done in css?

div.appendChild(img);
outerDiv.appendChild(div);
0
ответ дан 17 December 2019 в 22:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: