PHP отключить кеш на все браузеры

1

Я бы хотел, чтобы все браузер не кэшировал файл script.php

У меня есть файл script.php, показывающий случайное число:

<?php
$response = "document.write('" . rand(0,999999) . "');"; // Show random number
header('Cache-Control: no-cache, no-store, must-revalidate');
header('Pragma: no-cache');
header('Expires: 0');
header('Content-Type', 'application/javascript');
echo $response;

и test.html:

<script src="script.php"></script>
<script src="script.php"></script>
<script src="script.php"></script>

Когда я открываю страницу test.html в Firefox, файл script.php не кэшируется, и я получаю 3 разных случайных числа. Но в IE или Chrome я получил в 3 раза то же число, что и кеш браузера. Почему кеш Chrome и IE не загружают 3 раза файл? Как это предотвратить?

Показать ещё 1 комментарий
Теги:
caching
internet-explorer
google-chrome

2 ответа

0

Попробуй это

<?php
   header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
   header("Cache-Control: post-check=0, pre-check=0", false);
   header("Pragma: no-cache");
?>
  • 0
    К сожалению это не работает
0

При вызове сценария вы можете добавить параметр кеш-байта:

<script src="script.php?v=<?php echo mt_rand(1, 9999999) ?>"></script>
<script src="script.php?v=<?php echo mt_rand(1, 9999999) ?>"></script>
<script src="script.php?v=<?php echo mt_rand(1, 9999999) ?>"></script>

наслаждаться

  • 0
    Я забыл сказать, но я не могу использовать случайное число в URL. Код интеграции <script src = "script.php"> </ script> не может быть изменен.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню