Надає численні методи, корисні для управління URI.
Передайте string до підкласу URI, і він розширить його, повертаючи новий об'єкт, схожий на рядок, з новими методами, корисними для управління цим URI.
Синтаксис
new URI([strURI, options]);
Аргументи
- strURI - (string) URI для розбору в клас.
- options - (object) набір ключ/значення опцій.
Опції
- base - (mixed) Базовий href для URI (за замовчуванням — базова локація документа). Може бути string або екземпляром URI. Це використовується для інтерпретації відносних URL (наприклад, якщо ви викличете new URI('/foo/bar.html'), клас визначить, що цей шлях відносний до поточної базової локації документа).
Приклад
var myURI = new URI('http://user:password@www.test.com:8383/the/path.html?query=value#anchor');
Повертає
-
URI - (string; опціонально) — екземпляр класу URI, що має нові методи, корисні для управління URI. Якщо не оголошено, використовується поточна базова локація вікна.
Повертає URI як string.
Синтаксис
myURI.toString(); //"http://www.test.com...etc"
Повертає
Встановлює частину URI на вказане значення.
Синтаксис
myURI.set(part, value);
Аргументи
- type - (string, опціонально) URL з рядком запиту для розбору; за замовчуванням window.location
Приклад
myURI.set('scheme', 'https');
myURI.set('host', 'www.foo.com');
//etc.
Повертає
Дійсні частини
- scheme - (string) 'http', 'https', 'ftp', тощо.
- user - (string) частина імені користувача облікових даних
- password - (string) частина пароля облікових даних
- host - (string) 'www.example.com', 'example.com', 'subdomain.example.com', тощо.
- port - (string або number) 80, 8080, тощо.
- directory - (string) '/directory/'
- file - (string) 'file.html'
- query - (string) 'foo=bar&something=else' (символ ? додається автоматично)
- fragment - (string) 'anAnchor' (символ # додається автоматично)
- data - (object) об'єкт пар ключ/значення для встановлення запиту ({foo: 'bar', something: 'else'})
Повертає поточне значення для вказаної частини URI.
Синтаксис
myURI.get(part);
Приклад
myURI.get('scheme'); //returns "http", for example
myURI.get('host'); //returns "www.example.com", for example
Повертає
-
mixed — зазвичай повертає string, але у випадку 'data' повертає object.
Дійсні частини
- scheme - (повертає string) 'http', 'https', 'ftp', тощо.
- user - (string) частина імені користувача облікових даних
- password - (string) частина пароля облікових даних
- host - (повертає string) 'www.example.com', 'example.com', 'subdomain.example.com', тощо.
- port - (повертає string) 80, 8080, тощо.
- directory - (повертає string) '/directory/'
- file - (повертає string) 'file.html'
- query - (повертає string) 'foo=bar&something=else' (символ ? додається автоматично)
- fragment - (повертає string) 'anAnchor' (символ # додається автоматично)
- data - (повертає object) object пар ключ/значення для встановлення запиту ({foo: 'bar', something: 'else'})
Встановлює рядок запиту з object (подібно до myURI.set('data', obj)), але також дозволяє об'єднання.
Синтаксис
myURI.setData(data[, merge, part]);
Аргументи
- object - (object) ключ/значення, які ви хочете встановити для рядка запиту
- merge - (boolean, опціонально) якщо true, значення будуть об'єднані з існуючим рядком запиту. За замовчуванням false.
- part - (string, опціонально) за замовчуванням 'query' для встановлення даних рядка запиту в URI, але ви можете, наприклад, вказати 'fragment' для призначення даних рядка запиту в частину '#...' URI (що корисно в AJAX-додатках, які хочуть зберігати стан у URI без перезавантаження документа).
Альтернативний синтаксис
myURI.setData(key, value);
Аргументи альтернативного синтаксису
- key - (string) ключ даних, які ви хочете призначити
- value - (string або number) значення, яке ви хочете призначити
Повертає
Приклад
myURI.setData(myObject); //same as myURI.set('data', myObject);
myURI.setData(myObject, true); //merges myObject w/ existing query values
myURI.setData('foo', 'bar'); //sets foo=bar in the query string
myURI.setData({foo: 'bar'}, false, 'fragment'); //adds #foo=bar to the url fragment
Повертає значення рядка запиту як object. Те саме, що URI.get('data').
Синтаксис
myURI.getData([key, part]);
Аргументи
- key - (string; опціонально) Якщо вказано, повертає значення для даного ключа.
- part - (string; опціонально) Якщо вказано, повертає дані з заданої частини (за замовчуванням 'query'). Це корисно, якщо ви вибираєте зберігати дані у фрагменті (частина '#...' URI), що корисно в AJAX-додатках, які хочуть зберігати стан у URI без перезавантаження документа.
Повертає
-
mixed — string значення для даного ключа; якщо ключ не вказано, повертає object для всіх значень рядка запиту.
Повністю очищує значення рядка запиту.
Синтаксис
myURI.clearData();
Завантажує URL у локацію документа.
Синтаксис
myURI.go();
Повертає поточний екземпляр URI. Корисно, коли тип параметра відомий як string або URI.
Приклад
// Accepts either a string or URI instance
function(uri){
this.filename = uri.toURI().get('file');
}
Додає метод для створення екземпляра URI з рядка.
Повертає екземпляр URI.
Синтаксис
"http://www.domain.com/etc".toURI()
Повертає