Я наблюдал блоки как ниже иногда на веб-страницах. Таким образом, мне любопытно знать то, что это действительно делает? или почему его записанный таким способом?
<script src="somefile.js?param1=one¶m2=two" />
я могу только разобрать после немногих намерений позади него
Но я не могу выяснить следующее
Поэтому предоставьте некоторым исходным данным, связанным то же
Спасибо,
В подобных случаях исходный файл .js может (при правильных конфигурациях сервера ) на самом деле содержать PHP / Код .NET в нем, который может читать эти добавленные значения.
Кроме того, люди иногда добавляют случайную строку в конце своих ссылочных элементов, чтобы избежать загрузки кешированных данных .
Либо файл javascript не является статическим (он создается сервером на основе параметров в его строке запроса)
ИЛИ
В самом файле JavaScript вы можете проверить собственные параметры строки запроса (не только страницы, но и URL-адреса источника javascript).
ИЛИ
(Это не совсем соответствует вашему сценарию, но) вы также можете добавить параметры в конце изображения и URL-адреса скриптов как способ управления версиями. Версия с url = "somescript.js? V = 3" будет кэшироваться пользователем до тех пор, пока страница не изменится, а URL-адрес не станет = "somescript.js? V = 4". Файл будет заменен версией на сервере независимо от настроек браузера.
Я предполагаю (без рассмотрения этого конкретного случая), что файл javascript читает свою собственную строку запроса. Я сделал это,
Его можно использовать по трем различным причинам:
1) Сгенерировать файл JavaScript на сервере в зависимости от параметров;
2) Чтобы избежать кеширования;
3) Чтобы передать параметры самому JavaScript
URL с '.js' ничего не значит. Он может до сих пор обрабатываться серверным скриптом, таким как ASP или PHP.
.Примером этого на практике может служить серверный обработчик somefile.js, который использует параметры (имена других скриптов) для определения того, какие скрипты действительно нужны, и объединяет/уменьшает их, возвращая их как один файл скрипта somefile.js.
.Похоже на URL-адрес страницы, но читаются ли эти параметры в JavaScript-файле и есть ли у них дополнительная утилита?
Да можно читать их в JavaScript, Scriptaculous использует этот подход для загрузки модулей, например:
<script type="text/javascript" src="scriptaculous.js?load=effects,dragdrop">
</script>
Имеют ли эти параметры какую-либо дополнительную роль ? Каковы другие возможные практические сценарии, в которых такой код может быть использован?
Это также может быть использовано для соединения и минимизации скриптов на стороне сервера, конечно, используя некоторую технику переписывания url, чтобы иметь расширение .js, и, как вы говорите, это обычная техника добавления параметров timestamp, чтобы разбить кэш браузера.
.