Извлечь внешнюю строку запроса javascript / значение привязки: file.js # foo = bar - PullRequest
3 голосов
/ 20 апреля 2010

http://mycloud.net/js/file.js#foo=bar

Я пытаюсь загрузить междоменный файл JavaScript и хочу передать переменную в строке запроса.Я видел использованный выше метод '#', но не уверен, как извлечь значение 'foo' из файла file.js.Любые подсказки, как справиться с этим без помощи со стороны сервера?

Спасибо.

Ответы [ 2 ]

3 голосов
/ 20 апреля 2010

Ну, на самом деле есть способ получить текущий script, например ::1004 *

// external script
(function () {
  var scripts = document.getElementsByTagName('script'),
      currentScript = scripts[scripts.length - 1],
      scriptUrl = currentScript;

  alert("scriptUrl: " + scriptUrl);
})();

Вышеописанное работает, потому что в момент выполнения элемента script это последний script элемент DOM (scripts[scripts.length - 1]).

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

Посмотрите пример здесь , а внешний скрипт здесь .

1 голос
/ 20 апреля 2010

Единственный способ для скрипта получить значение в закладке, это как-то найти его тег script в документе и извлечь его из атрибута scr.

Часть URL-адреса, содержащая закладку, не отправляется в запросе, поэтому вы не можете получить ее, используя код на стороне сервера.

...