jQuery Mobile имеет метод разбора URL-адреса, который называется $.mobile.path.parseUrl
.Его использование будет примерно таким:
var obj = $.mobile.path.parseUrl("http://jblas:password@mycompany.com:8080/mail/inbox?msg=1234");
, который вернет следующий объект:
// obj.href: http://jblas:password@mycompany.com:8080/mail/inbox?msg=1234&type=unread#msg-content
// obj.hrefNoHash: http://jblas:password@mycompany.com:8080/mail/inbox?msg=1234&type=unread
// obj.hrefNoSearch: http://jblas:password@mycompany.com:8080/mail/inbox
// obj.domain: http://jblas:password@mycompany.com:8080
// obj.protocol: http:
// obj.authority: jblas:password@mycompany.com: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
Ваш код изменится на что-то вроде этого:
$( '[data-role=page]' ).live( 'pagecreate',function(){
var $.mobile.path.parseUrl(window.location.href);
$('#site-toggle').attr('href', obj.protocol + '//' + obj.host + obj.pathname + obj.search + obj.hash);
});
Документацию можно найти здесь: http://jquerymobile.com/demos/1.0rc2/docs/api/methods.html