Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.06.2015, 23:33
Профессор
Отправить личное сообщение для Infinity178 Посмотреть профиль Найти все сообщения от Infinity178
 
Регистрация: 13.04.2014
Сообщений: 187

Разделить hash url на части
Доброго времени суток.

ни как не могу найти возможность разделить URL.

url формата:
http://exemple.com/index.php?module=XXX#key&type&id=1

location.hash;
выдает #tabs&key=1&id=1

На выходе нужно разделить хэш на части:
ключ, тип, айди + значение

Если возможно, то каким методом?
Ответить с цитированием
  #2 (permalink)  
Старый 08.06.2015, 23:58
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

Сообщение от Infinity178
#tabs&key=1&id=1
а это корректный хеш тег?
function hash(key) {
	var hash = {}, q;
	if (location.hash) {
		var arr = location.hash.slice(1).split('&');
		for (var i = 0; i < arr.length; i++) {
			if (q = arr[i].split('='))
				hash[q[0]] = decodeURIComponent(q[1]) || null;
		}
	}
	return key
			? hash.hasOwnProperty(key) ? hash[key] : null
			: hash;
}
console.log(hash('id'));
Ответить с цитированием
  #3 (permalink)  
Старый 09.06.2015, 00:08
Профессор
Отправить личное сообщение для Infinity178 Посмотреть профиль Найти все сообщения от Infinity178
 
Регистрация: 13.04.2014
Сообщений: 187

Чувствую уже начинаю тупить.. но
вот рабочий хэш #Managers&editorManager&id=1
Из него нужно вытащить
- Managers
- editorManager
- 1
Ответить с цитированием
  #4 (permalink)  
Старый 09.06.2015, 00:09
pb_ pb_ вне форума
Новичок на форуме
Посмотреть профиль Найти все сообщения от pb_
 
Регистрация: 08.06.2015
Сообщений: 7

alert(
"http://exemple.com/index.php?module=XXX#key&type&id=1"
 .replace(/[^#]+#/, "").split("&")
)
Ответить с цитированием
  #5 (permalink)  
Старый 09.06.2015, 00:14
pb_ pb_ вне форума
Новичок на форуме
Посмотреть профиль Найти все сообщения от pb_
 
Регистрация: 08.06.2015
Сообщений: 7

Сообщение от Infinity178
Из него нужно вытащить
- Managers
- editorManager
- 1
alert(
"http://exemple.com/index.php?module=XXX#Managers&editorManager&id=1"
 .replace(/[^#]+#/, "").split("&").map(function(s){return s.replace(/[^=]+=/, "")})
)
Ответить с цитированием
  #6 (permalink)  
Старый 09.06.2015, 00:18
Профессор
Отправить личное сообщение для Infinity178 Посмотреть профиль Найти все сообщения от Infinity178
 
Регистрация: 13.04.2014
Сообщений: 187

супер. а как теперь их разбить?
Ответить с цитированием
  #7 (permalink)  
Старый 09.06.2015, 00:19
pb_ pb_ вне форума
Новичок на форуме
Посмотреть профиль Найти все сообщения от pb_
 
Регистрация: 08.06.2015
Сообщений: 7

В смысле? это уже разбитый массив строк.
Ответить с цитированием
  #8 (permalink)  
Старый 09.06.2015, 00:23
Профессор
Отправить личное сообщение для Infinity178 Посмотреть профиль Найти все сообщения от Infinity178
 
Регистрация: 13.04.2014
Сообщений: 187

Прошу прощения уже засыпаю на ходу..
Но
сейчас на выходе: Managers,editorManager,13
как теперь их занести в data : { key : Managers, type : editorManager, id : 13 },
Ответить с цитированием
  #9 (permalink)  
Старый 09.06.2015, 00:25
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

alert(new URL('http://exemple.com/index.php?module=XXX#key&type&id=1').hash)

https://github.com/inexorabletash/po.../master/url.js
https://developer.mozilla.org/en-US/docs/Web/API/URL
Ответить с цитированием
  #10 (permalink)  
Старый 09.06.2015, 00:28
pb_ pb_ вне форума
Новичок на форуме
Посмотреть профиль Найти все сообщения от pb_
 
Регистрация: 08.06.2015
Сообщений: 7

Infinity178,
в простом случае можно так:
arr="http://exemple.com/index.php?module=XXX#Managers&editorManager&id=1"
 .replace(/[^#]+#/, "").split("&").map(function(s){return s.replace(/[^=]+=/, "")})

data={key: arr[0], type: arr[1], id: arr[2]}
console.log(data)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
jQuery UI Tabs hash martinss jQuery 1 25.01.2014 18:54
Замена части url через js NOLDOR123 Общие вопросы Javascript 2 15.05.2013 05:42
Замена части url adik jQuery 5 22.03.2013 12:52
Помогите разделить URL адрес на составляющие части. Vitia28 Общие вопросы Javascript 5 09.05.2012 19:18
Водяной знак на fancybox bobrina Общие вопросы Javascript 1 03.06.2011 21:11