Javascript-форум (https://javascript.ru/forum/)
-   Internet Explorer (https://javascript.ru/forum/css-html-internet-explorer/)
-   -   cache в IE6-7 (https://javascript.ru/forum/css-html-internet-explorer/1398-cache-v-ie6-7-a.html)

ZoNT 10.11.2008 14:36

тый айдишку фрему рандомом проставляй и будет тебе щастье...

guest 10.11.2008 15:03

не катит
 
Цитата:

Сообщение от ZoNT (Сообщение 8246)
тый айдишку фрему рандомом проставляй и будет тебе щастье...

Посмотри на мой первый вариант, там это уже пробовалось, а счастья все нет и нет...
Такое ощущение что IE невменяемый...

ZoNT 10.11.2008 15:38

в первом варианте src сразу вставлялось... А надо сначала втавить фрейм с рандомным id, а потом уже найти его в дереве документа и проставить ему src.

guest 10.11.2008 15:45

Цитата:

Сообщение от ZoNT (Сообщение 8250)
в первом варианте src сразу вставлялось... А надо сначала втавить фрейм с рандомным id, а потом уже найти его в дереве документа и проставить ему src.

ПРоблема не исчезла, а только поменяла свое поведение: теперь сначал грузится кэш, а потом еще и новый src.

var rr = 'i'+Math.round(Math.random()*100000);
document.body.innerHTML += '<iframe id="'+rr+'"></iframe>';
document.getElementById(rr).src= 'http://test.wt/v.php?r='+Math.random();

Результат:
Array
(
[r] => 0.22127625157030622
)

Array
(
[r] => 0.22127625157030622
)

Array
(
[r] => 0.1377826070750372
)

Array
(
[r] => 0.1377826070750372
)

Array
(
[r] => 0.8080131587721691
)

Тут нужен способ посерьезнее!

ZoNT 10.11.2008 16:01

у меня всё отлично работает... Давай ссылку на тестовую страничку, посмотрим...

guest 10.11.2008 16:06

Цитата:

Сообщение от ZoNT (Сообщение 8252)
у меня всё отлично работает...

Потому что ты не смотришь пришедшие данные.
Ты видишь только результат обработки второй загрузки "не кэшированной". А первая промелькивает мгновенно. Она то и несет в себе старые данные.
Следи внимательно за потоком информации...

Результат загрузки и двух нажатий F5:
Array
(
[r] => 0.22127625157030622
)

Нажимается F5

Array
(
[r] => 0.22127625157030622
)

Array
(
[r] => 0.1377826070750372
)

Нажимается F5

Array
(
[r] => 0.1377826070750372
)

Array
(
[r] => 0.8080131587721691
)

guest 10.11.2008 16:08

Вставь в файл-приемник запроса строку:
file_put_contents('income.txt', print_r($_GET, true)."\n", FILE_APPEND);

и загляни в файл income.txt после F5

Snipe 10.11.2008 16:10

Позволил себе подправить скрипт, так работает:
<script>
document.write('<iframe name="nn' + Math.round(Math.random()*1000) + '" id="nnn"></iframe>');
ifr = document.getElementById('nnn');
ifr.src='http://site.wt/v.php?r=' + Math.random();
</script>

Смотрел с помощью HTTPSpy

Вообще конечно IE7 как-то неправильно себя ведет, отправляя запросы на один и тот же адрес...

guest 10.11.2008 16:15

Цитата:

Сообщение от Snipe (Сообщение 8255)
Позволил себе подправить скрипт, так работает:
<script>
document.write('<iframe name="nn' + Math.round(Math.random()*1000) + '" id="nnn"></iframe>');
ifr = document.getElementById('nnn');
ifr.src='http://site.wt/v.php?r=' + Math.random();
</script>


Вообще конечно IE7 как-то неправильно себя ведет, отправляя запросы на один и тот же адрес...

К сожалению Ваш пример демонстирует аналогичное поведение - сначала грузится кэш, и очень быстро незаметно для глаза меняется на новый src. В итоге загружаются две страницы - старая и новая вместо одной новой.

Чтобы убедиться вставьте
<?php
file_put_contents('income.txt', print_r($_GET, true)."\n", FILE_APPEND);
?>
в файл приемник

guest 10.11.2008 16:23

вопрос меняется (т.к. нет времени бороться с IE)
 
Можно ли считать, что столь быстрая смена src не позволит загрузиться кэшированной странице на удаленном домене с неидеально быстрой связью?


Часовой пояс GMT +3, время: 10:49.