0

this is what I have so far, based on some stuff of I found on the net domain.com/score.html?totalScore=23 how would I get the score variable to pass to the div ID and the mailto link?

    <script type="text/javascript">
    function getURLParameter(name) {
      return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search)||[,""])[1].replace(/\+/g, '%20'))||null
    }
    score = getURLParameter('totalScore');
    </script>

    <div id="yourscore"></div>
<a href="mailto:test@test.com?subject=Score:%20">test</a>
4

3 回答 3

1

那这个呢:

<script type="text/javascript">
    window.onload = function() {
        function getURLParameter(name) {
          return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search)||[,""])[1].replace(/\+/g, '%20'))||null
        }
        var score = getURLParameter('totalScore');
        document.getElementById("yourscore").innerHTML = score;
            var link = document.getElementById("link");
            link.setAttribute("href", link.getAttribute("href") + "&score=" + score);
    }
</script>

<div id="yourscore"></div>
<a href="mailto:test@test.com?subject=Score:%20" id="link">test</a>
于 2013-09-17T18:50:05.027 回答
0

我会亲自这样做:

function getTotalScore() {
  var search, parts, i, subparts;
  search = window.location.search;
  if (!search) return 0;
  parts = search.substr(1).split('&');
  for (i; i < parts.length; i++) {
    subparts = parts.split('=');
    if (subparts[0] === 'totalScore') {
       return subparts[1];
    }
  }
  return 0;
}

然后只需调用getTotalScore()并处理它。

于 2013-09-17T18:52:00.130 回答
0

这里有几个功能可以满足您的需求。第一个获取所有值并将它们放入一个数组中,第二个获取您要查找的特定值。

function getQueryStringVals()
{
    var vars = [], hash;
    if (window.location.href.indexOf('?') > -1)
    {
        var hashes = window.location.href.slice(window.location.href.indexOf('?') +   1).split('&');
        for (var i = 0; i < hashes.length; i++)
        {
            hash = hashes[i].split('=');
            if (hash[1].charAt(hash[1].length - 1) == "#")
            {
                hash[1] = hash[1].slice(0, -1)
            }
            vars[hash[0]] = hash[1];
        }
    }
    return vars;
}

function getQueryStringVar(name)
{
    return getQueryStringVals()[name];
}
于 2013-09-17T18:55:14.167 回答