2013-05-20 165 views
0

我想从一个url看起来像这样的'#spagepage?id = 5'我用这个函数似乎没有工作有问题的函数是:从Hashtag Url获取参数

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中提取id?

+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相同的问题。数据存储在散列中,而不是查询字符串。 –