2012-08-17 2 views
0

Я использую плагин jquery с именем facebox. Он работает очень хорошо, но я столкнулся! с проблемой. Похоже, его метод iframe заставляет мой браузер кэшировать css, который загружается на целевую страницу.css и js файлы кэшируются iframe

Так я называю это на своей странице в состоянии готовности jquery.

$('a.participate').click(function(){ 
      $.facebox({ 
       iframe: '" . $urlparticipate . "', 
       rev: 'iframe|550|550' 
      }); 
      return false ; 
     }); 

где $ urlparticipate - это URL, который будет открыт в iframe. Я посмотрел ближе в facebox.js, и я нашел следующий метод, который, по-видимому, используется плагином для создания iframe.

function fillFaceboxFromIframe(href, klass, height, width) { 
    $.facebox.reveal('<iframe scrolling="auto" marginwidth="0" width="'+width+'" height="' + height + '" frameborder="0" src="' + href + '" marginheight="0"></iframe>', klass) 
    } 

Как предотвратить кеширование css? Я знаю, что это кэшируется, потому что я изменяю стиль CSS для элемента. Я даже изменил некоторый js-код, который загружается, и его по-прежнему загружает старый.

Я также попытался следующий:

  1. не Добавление в целевой странице, на переднем конце в голове

    META HTTP-эквив = "Cache-Control" содержания = "не-кэша"

    META HTTP-эквив = содержание "Прагма" = "нет кэша"

    META HTTP-эквив = "Expires" содержание = "0"

  2. Я попытался добавить некоторые заголовки из кода позади (php)

    header ("Cache-Control: no-cache");

    header ("Pragma: no-cache");

Все без успеха .. Что мне не хватает?

ответ

2

Вы всегда можете попробовать «версию» ссылку на CSS на странице. Есть хорошие и не очень хорошие способы сделать это: с единым статическим номером версии, который вы добавляете каждый раз, когда вы вносите изменения, или случайно сгенерированный GUID, который будет эффективно заставлять КАЖДЫЙ запрос на страницу извлекать файл CSS (с). Лучшим вариантом является статический, например:

<link type="text/css" rel="stylesheet" href="cssfile.css?1.12" /> 
+0

yee it work! но потом он снова кэшируется ... Я должен каждый раз добавлять что-то вроде случайного числа? – themis

+0

+1 за то, что знаю –

+0

у вас работает! спасибо – themis

1

Попробуйте бросить var с именем файла CSS (как правило, с номером версии), чтобы браузер не мог его кэшировать. Что-то вроде foo.css? Ver = bar

 Смежные вопросы

  • Нет связанных вопросов^_^