Класс y5.URL

Класс для работы с URL и его частями.

Требует загрузки модуля URL.

new

new y5.URL(href)

Имя аргументаТипОписание
hrefStringссылка

Пример:

var url = new y5.URL("http://www.yandex.ru/");
url.host(); // -> "www.yandex.ru"
url.port(); // -> "http"

url.path("/yandsearch").query({text: 'test'});
url.go(); // -> "http://www.yandex.ru/yandsearch?text=test"

// пустой URL
var url = new y5.URL("");
url.path("www.yandex.ru");
url.toString(); // -> "http://www.yandex.ru" (http по умолчанию)

// по умолчанию
var url = new y5.URL();
url.toString() == window.location.href; // -> true

addParam

addParam(name, value) -> this

Добавляет параметр к запросу URL.

Имя аргументаТипОписание
nameStringназвание параметра
valueStringзначение параметра

Пример:

var url = new y5.URL("http://ya.ru/?text=test");
url.addParam("stype", "www");
url.toString(); // -> "http://ya.ru/?text=test&stype=www"

addParams

addParams(params) -> this

Добавляет параметры к запросу URL.

Имя аргументаТипОписание
paramsObjectхэш

Пример:

var url = new y5.URL("http://ya.ru/?text=test");
url.addParams({stype: "www"});
url.toString(); // -> "http://ya.ru/?text=test&stype=www"

clearQuery

clearQuery() -> this

Удаляет запрос из URL.

Пример:

var url = new y5.URL("http://ya.ru/?text=test&stype=www");
url.clearQuery();
url.toString(); // -> "http://ya.ru/"

clone

clone() -> y5.URL — копия объекта

Создает новый объект y5.URL из данного.

get

Ссылка на y5.URL.toString.

get()

getParam

getParam(name) -> String, null — значение параметра запроса

Возвращает первый параметр из запроса URL.

Имя аргументаТипОписание
nameStringимя параметра

Пример:

var url = new y5.URL("http://ya.ru/?text=test&text=www");

// параметр присутствует в запросе
url.getParam("text"); // -> "test"

// параметр отсутствует в запросе
url.getParam("foo"); // -> null

getParams

getParams(name) -> Array, [] — список значений параметра

Возвращает параметры из запроса URL.

Имя аргументаТипОписание
nameStringимя параметра

Пример:

var url = new y5.URL("http://ya.ru/?text=test&text=www");

// параметры присутствуют в запросе
url.getParams("text"); // -> ["test", "www"]

// параметры отсутствуют в запросе
url.getParams("foo"); // -> []

go

go()

Прямой переход по ссылке.

hash

hash(string) -> String, this — якорь или сам объект

Установить или получить якорь URL.

Имя аргументаТипОписание
stringStringновый путь

Пример:

var url = new y5.URL("http://www.yandex.ru/#top");
url.hash(); // -> "top"

url.hash("bottom");
url.toString(); // -> "http://www.yandex.ru/#bottom"

host

host(string) -> String, this — хост или сам объект

Установить или получить хост URL.

Имя аргументаТипОписание
stringStringновый хост

Пример:

var url = new y5.URL("http://www.yandex.ru/");
url.host(); // -> "www.yandex.ru"

url.host("ya.ru");
url.toString(); // -> "http://ya.ru/"

path

path(string) -> String, this — путь или сам объект

Установить или получить путь URL.

Имя аргументаТипОписание
stringStringновый путь

Пример:

var url = new y5.URL("http://www.yandex.ru/");
url.path(); // -> "/"

url.path("/yandsearch");
url.toString(); // -> "http://www.yandex.ru/yandsearch"

port

port(string) -> Number, this — порт или сам объект

Установить или получить порт URL.

Имя аргументаТипОписание
stringNumberновый порт

Пример:

var url = new y5.URL("http://www.yandex.ru/");
url.port(); // -> 0

url.port(8080);
url.toString(); // -> "http://www.yandex.ru:8080/"

proto

proto(string) -> String, this — протокол или сам объект

Установить или получить протокол URL.

Имя аргументаТипОписание
stringStringновый протокол

Пример:

var url = new y5.URL("http://www.yandex.ru/");
url.proto(); // -> "http"

url.proto("FOO");
url.toString(); // -> "FOO://www.yandex.ru/"

query

query(query) -> String, this — запрос или сам объект

Установить или получить запрос URL.

Имя аргументаТипОписание
queryObject, Stringновые параметры запроса

Пример:

var url = new y5.URL("http://www.yandex.ru/yandsearch?text=test");
url.query(); // -> "text=test"

url.query({foo: "bar"});
url.toString(); // -> "http://www.yandex.ru/yandsearch?foo=bar"

url.query("foo=bar");
url.toString(); // -> "http://www.yandex.ru/yandsearch?foo=bar"

queryKeys

queryKeys() -> Array — список ключей

Возвращает список имен параметров запроса.

Пример:

var url = new y5.URL("http://www.yandex.ru/yandsearch?text=test&foo=bar");
url.queryKeys(); // -> ['text', 'foo']

removeParams

removeParams(params) -> this

Удаляет параметр из запроса URL.

Имя аргументаТипОписание
paramsArrayудаляемый параметр запроса

Пример:

var url = new y5.URL("http://ya.ru/?text=test&stype=www");
url.removeParam(["stype"]);
url.toString(); // -> "http://ya.ru/?text=test"

replaceParams

replaceParams(params) -> this

Заменяет параметр в запросе URL.

Имя аргументаТипОписание
paramsObjectзаменяемый параметр запроса

Пример:

var url = new y5.URL("http://ya.ru/?text=test&stype=www");
url.replaceParams({stype: "images"});
url.toString(); // -> "http://ya.ru/?text=test&stype=images"

toString

toString() -> String — ссылка

Получить ссылку в виде строки.

y5.Url

y5.Url(href)

Сокращенная функция для работы с URL.

Имя аргументаТипОписание
hrefStringссылка

Пример:

y5.Url("http://www.yandex.ru/").path("/yandsearch").addParams({text: "test"}).go();
// -> "http://www.yandex.ru/yandsearch?text=test"