Создание динамического файла JS и его кеширование? - PullRequest
2 голосов
/ 02 октября 2011

У меня есть JavaScript, который в настоящее время повторно используется более чем на 5 веб-сайтах и ​​будет использоваться многими другими веб-сайтами с течением времени, дело в том, что javascript выполняет некоторые проверки в соответствии с именем сервера, и я былинтересно, как лучше создать JS-файл, в котором есть переменные на стороне сервера, например:

js-functions.php:

<script type='text/javascript'>
   var myServer = <?php echo $_SERVER['SERVER_NAME'] ?>;
</script>

какв настоящее время этот файл будет загружаться каждый раз, так как я могу заставить его отправлять 304 Unmodified и использовать кэширование в браузере в моих интересах

Ответы [ 2 ]

4 голосов
/ 02 октября 2011

Использовать .htaccess

RewriteEngine on
RewriteRule javascript.js javascript.php [L]

Назовите свой php-файл javascript.php и направьте свои запросы на javascript.js

Примечание. Необходимо установить правильные заголовки кэша в своем php-файле перед тем, какотправив любой вывод

2 голосов
/ 02 октября 2011

Я бы вообще не создавал динамический файл JS. Если это вообще возможно, поместите все динамические элементы в основной документ; затем загрузите основной кусок JavaScript из статического ресурса.

Поместите уже имеющийся код в раздел head каждой HTML-страницы:

<script type='text/javascript'>
var myServer = "<?php echo $_SERVER['SERVER_NAME'] ?>";
</script>

затем ссылка на статический файл JavaScript:

<script src="http://domain.com/js/script.js">

внутри файла JavaScript, не используйте PHP; используйте переменную myServer для проверки.

Преимущество этого состоит в том, что, если веб-сервер настроен правильно, статический файл JS будет загружен только один раз, и вам не придется беспокоиться о кэшировании.

Вы даже можете использовать один и тот же URL-адрес JavaScript на всех 5 сайтах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...