Используя//в <сценарий> источник

Я задавался вопросом, были ли у кого-либо какие-либо ресурсы, доказательство или личный опыт в использовании старого http/https JavaScript <script> взлом:

<script src="//someserver.com/js/script.js"></script>

Кто-либо встретился с проблемами в каком-либо из этих браузеров (IE 5.5 +, FF2 +, Chrome, Opera 9 +, Safari 3 +)? У кого-либо были истории успеха?

14
задан JJJ 20 February 2012 в 10:38
поделиться

4 ответа

Все современные браузеры понимают этот формат, включая IE 6. (Не уверен насчет IE 5.5).

На самом деле, это не хак, а совершенно правильный синтаксис URI согласно RFC 3986: Раздел 4.2. Поэтому я считаю, что все в порядке.

24
ответ дан 1 December 2019 в 07:27
поделиться

Я использую эту схему с тех пор, как задал этот вопрос , и у меня не было никаких проблем. Я видел, как это работает во всех браузерах, включая IE5.5. (Для большинства вещей, над которыми я работаю, требуется JavaScript, и некоторые из JS включены в этот метод.)

2
ответ дан 1 December 2019 в 07:27
поделиться

Я могу указать вам именно то, что вы ищете. Это документ RFC, так что вам нужно отсеять много шума, чтобы получить то, что вы хотите, но это законная функция (а не взлом) предполагаемых http-клиентов.

       b) If the embedded URL starts with a scheme name, it is
          interpreted as an absolute URL and we are done.

       c) Otherwise, the embedded URL inherits the scheme of
          the base URL.

Подробнее: http://www.faqs.org/rfcs/rfc1808.html (найдите заголовок «Разрешение относительных URL-адресов» и см. Шаги 1 и 2 ниже) или здесь: http://freesoft.org/CIE/RFC/1808/18.htm

К вашему сведению, я использую это практически во всех своих производственных проектах - не только для ресурсов JS, но и для ссылок на другие ресурсы. такие как изображения и CSS (ОБНОВЛЕНО: я больше не использую это для связывания таблиц стилей).

Работает практически везде. Я пробовал это в IE, FF, Opera, Chrome, Safari / Webkit, все возвращаясь к нескольким предыдущим версиям (где это применимо).

Примеры: