jQuery.mobile.path.parseUrl( Url )Возвращает: Объект
Описание: Утилитарный метод для разбора URL и его относительных вариантов в объект, который облегчает доступ к компонентам URL.
-
jQuery.mobile.path.parseUrl( Url )
- UrlТип: Строка
-
Утилитарный метод для разбора URL и его относительных вариантов в объект, который облегчает доступ к компонентам URL. При разборе относительных вариантов в результирующем объекте будут содержаться пустые строковые значения для отсутствующих компонентов (например, протокола, хоста и т. д.). Кроме того, при разборе URL, у которых нет авторизации, таких как tel: ссылки, свойство pathname объекта будет содержать данные после двоеточия в протоколе/схеме.
Эта функция возвращает объект, содержащий различные компоненты URL в виде строк. Свойства объекта имитируют объект location браузера:
hash- Компонент фрагмента URL, включая ведущий символ '#'.
host- Хост и номер порта URL.
hostname- Имя хоста в URL.
href- Исходный URL, который был обработан.
pathname- Путь к файлу или каталогу, на который ссылается URL.
port- Порт, указанный в URL. Большинство URL полагаются на порт по умолчанию для используемого протокола, поэтому это, скорее всего, будет пустая строка.
protocol- Протокол URL, включая заключительный символ ':'.
search- Компонент запроса URL, включая ведущий символ '?'.
Но он также содержит дополнительные свойства, которые обеспечивают доступ к дополнительным компонентам, а также к некоторым общим формам доступа к URL разработчиками:
authority- Компоненты имени пользователя, пароля и хоста URL
directory- Компонент каталога пути, минуя любое имя файла.
domain- Компоненты протокола и авторизации URL.
filename- Имя файла в компоненте пути, минуя каталог.
hrefNoHash- Исходный URL без компонентов фрагмента (хэша).
hrefNoSearch- Исходный URL без компонентов запроса (поиска) и фрагмента (хэша).
password- Пароль, содержащийся в компоненте авторизации.
username- Имя пользователя, содержащийся в компоненте авторизации.
Пример:
Различные способы использования jQuery.mobile.path.parseUrl
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>jQuery.mobile.path.parseUrl demo</title>
<link rel="stylesheet" href="//code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css">
<script src="//code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="//code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script>
<style>
#myResult{
border: 1px solid;
border-color: #108040;
padding: 10px;
}
</style>
</head>
<body>
<div role="main" class="ui-content">
<p>The URL used is http://jblas:[email protected]:8080/mail/inbox?msg=1234&type=unread#msg-content</p>
<input type="button" value="obj.href" id="button1" class="myButton" data-inline="true">
<input type="button" value="obj.hrefNoHash" id="button2" class="myButton" data-inline="true">
<input type="button" value="obj.hrefNoSearch" id="button3" class="myButton" data-inline="true">
<input type="button" value="obj.domain" id="button4" class="myButton" data-inline="true">
<input type="button" value="obj.protocol" id="button5" class="myButton" data-inline="true">
<input type="button" value="obj.authority" id="button6" class="myButton" data-inline="true">
<input type="button" value="obj.username" id="button7" class="myButton" data-inline="true">
<input type="button" value="obj.password" id="button8" class="myButton" data-inline="true">
<input type="button" value="obj.host" id="button9" class="myButton" data-inline="true">
<input type="button" value="obj.hostname" id="button10" class="myButton" data-inline="true">
<input type="button" value="obj.port" id="button11" class="myButton" data-inline="true">
<input type="button" value="obj.pathname" id="button12" class="myButton" data-inline="true">
<input type="button" value="obj.directory" id="button13" class="myButton" data-inline="true">
<input type="button" value="obj.filename" id="button14" class="myButton" data-inline="true">
<input type="button" value="obj.search" id="button15" class="myButton" data-inline="true">
<input type="button" value="obj.hash" id="button16" class="myButton" data-inline="true">
<div id="myResult">The result will be displayed here</div>
</div>
<script>
$(document).ready(function() {
$( ".myButton" ).on( "click", function() {
// Parsing the Url below results an object that is returned with the
// following properties:
//
// obj.href: http://jblas:[email protected]:8080/mail/inbox?msg=1234&type=unread#msg-content
// obj.hrefNoHash: http://jblas:[email protected]:8080/mail/inbox?msg=1234&type=unread
// obj.hrefNoSearch: http://jblas:[email protected]:8080/mail/inbox
// obj.domain: http://jblas:[email protected]:8080
// obj.protocol: http:
// obj.authority: jblas:[email protected]:8080
// obj.username: jblas
// obj.password: password
// obj.host: mycompany.com:8080
// obj.hostname: mycompany.com
// obj.port: 8080
// obj.pathname: /mail/inbox
// obj.directory: /mail/
// obj.filename: inbox
// obj.search: ?msg=1234&type=unread
// obj.hash: #msg-content</strong>
var obj = $.mobile.path.parseUrl("http://jblas:[email protected]:8080/mail/inbox?msg=1234&type=unread#msg-content");
var myChoice = eval( this.value );
$( "#myResult" ).html( myChoice );
})
});
</script>
</body>
</html>