Как может кодировать в файле JavaScript, получают URL файла?

Размещение вызова к impl-> Мурлыканье в cpp файле означает, что в будущем Вы могли сделать что-то совершенно другое, не имея необходимость изменять заголовочный файл. Возможно, в следующем году они обнаруживают вспомогательный метод, который они, возможно, назвали вместо этого и таким образом, они могут изменить код, чтобы назвать это непосредственно и не использовать impl-> Мурлыканье вообще. (Да, они могли достигнуть того же самого путем обновления фактического impl:: метод Мурлыканья также, но в этом случае Вы застреваете с дополнительным вызовом функции, который достигает только вызывания следующей функции в свою очередь)

, Это также означает, что заголовок только имеет определения и не имеет никакой реализации, которая делает для более чистого разделения, которое является смыслом идиомы.

14
задан montrealist 14 August 2009 в 17:45
поделиться

4 ответа

Добавьте идентификатор к тегу скрипта:

<script type="text/javascript" id="myScript" src="http://bla.com/js/script.js"></script>

И в http://bla.com/js/script.js :

var myScript = document.getElementById('myscript');
var myScriptSrc = myScript.getAttribute('src');
alert(myScriptSrc); // included for debugging

Вы должны иметь возможность для управления значением myScriptSrc , чтобы получить путь к любому другому содержимому на bla.com .

Я думаю, что этот образец - это то, что Джеймс Блэк имел в виду в его ответ.

Наконец, всем, кто предлагает использовать document.location , имейте в виду, что если вам нужен доступ только для чтения к текущему адресу страницы, вы должны использовать document .URL или window.location . Если вы хотите установить адрес страницы, вы всегда должны использовать window.location.href . Хотя window.location = 'location'; работает, меня всегда беспокоило, что String присваивается Location. Я' Я не знаю, почему, поскольку JavaScript допускает все виды других неявных преобразований типов.

  • ссылка на mozilla : document.location изначально было свойством только для чтения, хотя браузеры Gecko позволяют вам назначать ему также. Для кроссбраузерной безопасности используйте вместо него window.location . Чтобы получить только URL-адрес в виде строки, можно использовать свойство document.URL только для чтения.
  • Ссылка Sun : не используйте location как свойство объект документ ; используйте вместо этого свойство document.URL . Свойство document.location , которое является синонимом для document.URL , устарело.
15
ответ дан 1 December 2019 в 07:19
поделиться

Вы можете прочитать document.location , но вы также можете просто использовать относительные URL-адреса

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

Вы можете посмотреть в теге сценария местоположение javascript, и, используя document.location, вы, вероятно, сможете определить относительную адресацию, чтобы определить, где может находиться файл css.

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

Свойство стека объектов ошибок может предоставлять информацию об URL.

try 
{ 
  throw new Error();
}
catch(exc)
{
  console.log(exc.stack);
}

К сожалению, Webkit не поддерживает (в отличие от Chromium) свойство стека. Есть несколько браузеров, поддерживающих эту функцию: http://173.45.237.168/reference/html/api/Error.html#Error.stack

Вместо стека Webkit предоставляет свойство sourceURL, вот пример использования :

try 
{ 
  throw new Error();
}
catch(exc)
{
  console.log(exc.sourceURL);
}
0
ответ дан 1 December 2019 в 07:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: