Странные символы в конце атрибутов src / href в теге head - PullRequest
2 голосов
/ 02 сентября 2010

Быстрый вопрос: почему drupal добавляет символы в конце атрибутов src или href в тегах link и script в верхней части страницы? У меня есть это:

<link type="text/css" rel="stylesheet" media="all" href="/ste_thecle/modules/views/css/views.css?n" />

И это одинаково для каждой загруженной таблицы стилей и скрипта. Я не могу понять, почему он это делает, и я думаю, может быть, это причина того, что моя тема все испортила в IE ...

Спасибо.

Ответы [ 3 ]

5 голосов
/ 02 сентября 2010

Каждый раз, когда браузер загружает внешний файл JavaScript, браузер помещает файл в свой кэш. Таким образом, во второй раз, когда вы перезагрузите страницу и попытаетесь загрузить тот же внешний файл, браузер будет использовать его из кэша.

Если вы внесете изменение в файл JavaScript и попытаетесь перезагрузить страницу, изменения не вступят в силу, поскольку браузер будет использовать файл кэша.

Чтобы предотвратить такое поведение, Drupal добавит случайное значение в конце URL-адреса файла JavaScript. Таким образом, браузер увидит файл как новый файл и не будет использовать файл в кэше браузера.

Хорошей практикой является удаление этой функциональности на этапе производства, чтобы страница загружалась быстрее.

1 голос
/ 02 сентября 2010

Поскольку каждый раз добавляется другая строка запроса (?n), ваш браузер «думает», что ресурс другой, поэтому он загружает файл, а не извлекает его из кэша.Делая это, Drupal гарантирует, что вы не смотрите устаревшие файлы, которые были изменены с момента их кэширования.

1 голос
/ 02 сентября 2010

Эти вещи добавляются для принудительного управления кэшем. Это не имеет ничего общего с испорченной темой в IE.

...