.load jQuery () не работающий в IE - но прекрасный в Firefox, Chrome и Safari

Код, который вы показываете,

(function (msg){alert(msg)});
('SO');

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

var f = (function (msg){alert(msg)});
f('SO');

Обратите внимание, что, сохраняя анонимную функцию (лямбда-функцию) в переменной, вы фактически даете ей имя. Следовательно, вы также можете определить регулярную функцию:

function f(msg) {alert(msg)};
f('SO');
45
задан 30 June 2009 в 03:23
поделиться

4 ответа

Вы .load () входите в

?

Хм ... Может быть, переместите класс .islice на уровень выше, в

, или, возможно, на
между ними. ..

(Не то чтобы это обязательно проблема, но это возможно ...)

0
ответ дан 26 November 2019 в 21:07
поделиться

e.preventDefault () не будет иметь никакого значения в IE - вам придется использовать return false; , чтобы не допустить происходит:

$("#home").click(function(e) {
    $(".tabs").attr("src","tabs-home.gif");
    $(".islice").hide('fast');
    $(".islice").load("home.html");
    $(".islice").show('fast');  
    e.preventDefault();
    return false;
});

Чтобы подробно отладить это, взгляните на Firebug .

2
ответ дан 26 November 2019 в 21:07
поделиться

У меня такая же проблема. Многие сайты, которые я нашел, предполагают, что IE может кэшировать ваш код, и предлагают добавить код в

$("#home").click(function(e) {
    $(".tabs").attr("src","tabs-home.gif");
    $(".islice").hide('fast');
    $(".islice").load("home.html?" + new Date().getTime() );
    $(".islice").show('fast');
    e.preventDefault();
});

Это должно гарантировать, что IE не кэширует.

См. http: //zacster.blogspot. com / 2008/10 / jquery-ie7-load-url-problem.html для получения дополнительной информации.

49
ответ дан 26 November 2019 в 21:07
поделиться

Если загрузка выполняется с помощью PHP, сбросьте значения вашего массива. Например:

$result = ''; // do this
$row = ''; // do this
$data = ''; // IMPORTANT Kills odd behavior CACHE FOR IE

$result = mysql_query("your sql here");
while ($row = mysql_fetch_array($result)){          
$data[] = $row ..... blah blah blah...
-4
ответ дан 26 November 2019 в 21:07
поделиться
Другие вопросы по тегам:

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