javascript查询字符串>;window.location.search.substring>;用#代替?启动查询字符串的步骤

javascript查询字符串>;window.location.search.substring>;用#代替?启动查询字符串的步骤,javascript,google-analytics,query-string,window.location,url-parameters,Javascript,Google Analytics,Query String,Window.location,Url Parameters,我正试图从window.location提取哈希子字符串值,并将其写入HTML以供用户查看,URL语法不允许使用?作为查询字符串分隔符 好的,我有一个很棒的代码示例,感谢@Gabe: <html> <input type="button" id="test" value="Test" /> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js"></scr

我正试图从window.location提取哈希子字符串值,并将其写入HTML以供用户查看,URL语法不允许使用
作为查询字符串分隔符

好的,我有一个很棒的代码示例,感谢@Gabe:

<html>

<input type="button" id="test" value="Test" />

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js"></script>

<script>

$(function() {
    $('#test').click(function() {

        window.location = (window.location);
        GetURLParameter('source');  

    });

});

function GetURLParameter(sParam) {
    var sPageURL = window.location.hash.substring(1);

    console.log(sPageURL);

    var sURLVariables = sPageURL.split('&');
    for (var i = 0; i < sURLVariables.length; i++) {
        var sParameterName = sURLVariables[i].split('=');
        if (sParameterName[0] == sParam) {

            alert(sParameterName[1]);

            return sParameterName[1];
        }
    }
}

</script>

</html>
当我点击包含上述代码的页面上的“测试”提交按钮时(URL的格式如下所示):

(注意,没有
作为查询字符串分隔符,只有

。。。然后我得到一个成功的警报,显示了URL中的源“FOO”。太棒了

但是如何获取其他两个SparamateNames,然后如何将它们作为HTML写入页面而不是返回警报


我知道这是你们的基本问题。我来这里是因为我已经尝试解决这个问题好几天了,正在研究许多不同的解决方案。非常感谢您的帮助!!非常感谢各位向导。

只需从
位置
对象

这是一个有效的例子

function GetURLParameter(sParam)
{
   var sPageURL = window.location.hash.substring(1);
   var sURLVariables = sPageURL.split('&');
   for (var i = 0; i < sURLVariables.length; i++)
   {
     var sParameterName = sURLVariables[i].split('=');
     if (sParameterName[0] == sParam)
     {
        return sParameterName[1];
     }
   }
}
函数GetURLParameter(sParam) { var sPageURL=window.location.hash.substring(1); var sURLVariables=sPageURL.split('&'); 对于(变量i=0;i谢谢,我没有工作。在您的回答之后,我更新了我的代码示例。我没有看到您在更新中试图使用哈希。显然,它适用于我的JSFIDLE示例。。。我会更仔细地看你的小提琴。我尝试在我的服务器上实现您的解决方案,但没有成功。将重试。好的@gabe,稍微修改一下你的小提琴示例。在我澄清的问题上的任何帮助都会使你成为我眼中的上帝。:)我参加聚会有点晚了,但是如何从fiddle示例中的查询字符串中获取第二个变量呢?我似乎只能得到第一个
function GetURLParameter(sParam)
{
   var sPageURL = window.location.hash.substring(1);
   var sURLVariables = sPageURL.split('&');
   for (var i = 0; i < sURLVariables.length; i++)
   {
     var sParameterName = sURLVariables[i].split('=');
     if (sParameterName[0] == sParam)
     {
        return sParameterName[1];
     }
   }
}