URL имеет указанный формат. Эта часть после ?
, или, если быть точнее, между ?
и #
, если она существует, называется строка запроса . Он содержит список пар ключ-значение - имя переменной, символ =
и значение. Переменные разделяются &
:
key1=value1&key2=value2&key3=value3&key4=value4
Вы должны экранировать location.href
, поскольку может содержит некоторые специальные символы, такие как ?
, &
или #
.
Для экранирования строки в JavaScript используйте функцию encodeURIComponent()
, например:
location.href = "http://tinyurl.com/create.php?url=" + encodeURIComponent(location.href)
Он заменит символы типа &
на %26
. Эта последовательность символов не рассматривается как разделитель переменных, поэтому она будет присоединена как значение переменной.