2013-05-20 4 views
0

Я пытаюсь получить идентификатор с URL-адреса, который выглядит так: #somepage? Id = 5 'Функция, которую я использую для этого, похоже, не работает, эта функция:Получение параметров с URL-адреса Hashtag

function getParam(name) { 
name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]"); 
var regexS = "[\\?&]" + name + "=([^&#]*)"; 
var regex = new RegExp(regexS); 
var results = regex.exec(window.location.href); 
if (results == null) 
    return ""; 
else 
    return results[1]; 
} 

Есть ли способ, которым я могу изменить или заменить эту функцию, чтобы вытащить идентификатор из URL-адреса, как указано выше?

+0

Немного отладки показывает, что это работает, если вы передаете в хэш: http://jsfiddle.net/KbmU8/ скорее всего 'window.location.href' не дает вам то, что вы хотите. –

+0

как насчет сплита – fefe

+0

Попробуйте использовать 'location.hash' – akirk

ответ

0
function getParameterByName(name) { 
name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]"); 
var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"), 
    results = regex.exec(location.search); 
return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " ")); 
} 

Javascript code reference

+0

Обратите внимание, что ваш фрагмент будет иметь ту же проблему, что и OP. данные хранятся в Hash, а не в строке запроса. –

Смежные вопросы