Обновить элемент в Javascript

Благодаря Обновить (перезагрузить) страницу один раз с помощью jQuery? ответ Я мог бы решить проблему. У меня есть всплывающее окно с флажком. Я хочу почти мгновенно отразить изменения с указанной главной страницы. Он отлично работает в Safari, Firefox, Chrome, Opera, но в Internet Explorer.

Спасибо

function updateDiv(){
       var ord = getCookie('ordinals');
        if(  ord.indexOf("<?=$ordinal?>")==-1 ){
             document.getElementById("chk<?=$ordinal?>").checked=false//no checked
        }
        else {
            document.getElementById("chk<?=$ordinal?>").checked=true//checked
        }
        $('chk<?=$ordinal?>').html(newContent);
    }

    setInterval('updateDiv()', 1000); // that's 1 second
    ......
    ......
    <body onload="updateDiv(); ....

person dstonek    schedule 14.11.2011    source источник
comment
Вы, должно быть, забыли указать, в чем именно проблема в Internet Explorer.   -  person Pointy    schedule 14.11.2011
comment
setInterval(updateDiv, 1000); не только легче писать, чем setInterval('updateDiv()', 1000);, но и намного эффективнее, так как последнее необходимо злонамеренно   -  person Esailija    schedule 14.11.2011
comment
Я не пользователь Windows, я установил win7 на виртуальный диск для тестирования. IE9. Я не вижу никаких ошибок, кроме небольшого разбитого листа: Просмотр в режиме совместимости ...   -  person dstonek    schedule 14.11.2011
comment
Внимание: когда флажок установлен или снят на главной странице, изменение не отражается в поле флажка открытого всплывающего окна, как это происходит в других браузерах. Если всплывающее окно обновляется вручную или если я закрываю и открываю его снова, флажок установлен правильно. Проблема, с которой я сталкивался в прошлом во всех браузерах, заключалась в том, что если всплывающее окно открывалось в прошлом, состояние флажка было таким же, как и у старого, из-за кеша браузера. Сейчас этого не происходит в IE9: каждый раз, когда открывается всплывающее окно, состояние флажка является правильным, проблема заключается в изменении его с главной страницы, пока она остается открытой.   -  person dstonek    schedule 14.11.2011
comment
Может быть, я смогу опубликовать страницу сайта, чтобы понять, что я имею в виду.   -  person dstonek    schedule 14.11.2011
comment
Лучше увидеть это в реальной жизни. SAMPLE Рядом с каждым эскизом есть флажок "Запомнить эту фотографию". Щелкните миниатюру, чтобы открыть всплывающее окно. Он также содержит флажок. Не закрывайте всплывающее окно и переходите на указанную страницу. Проверьте соответствующий эскиз. (фотография № добавляется в строку cookie) Все основные браузеры проверяют обычную фотографию в открытом всплывающем окне из-за наличия флажка обновления, а IE этого не делает.   -  person dstonek    schedule 14.11.2011


Ответы (1)


Я думаю, ваша проблема в следующем:

$('chk<?=$ordinal?>').html(newContent);

Попробуйте с этим:

var jEl = $('chk<?=$ordinal?>');

jEl.empty();
jEl.append(newContent);
person Galled    schedule 14.11.2011