Javascript Url参数解析

Spa*_*cus 3 html javascript url

所以,我真的需要一些帮助.我已经进行了大量的搜索,我发现的一些解决方案很棒但不适合我,所以这里......

当有人来到我的网站时,他们会点击一个链接,该链接会将URL传递给"recipes.html"...例如,如果他们点击"Ancho Chile Sauce",则URL将是:

blahblahblah.com/recipes.html?r=Ancho-Chile-Sauce

此参数实际上是"食谱"文件夹中JPEG的名称,当然还有".jpg"扩展名

我需要这个参数为一个字符串,之后才和".JPG"添加"配方/",然后改变图像标签的来源我的html文件,以显示新的动态调用配方形象.

我以为我做到了这一点,但似乎没有任何效果.显然我的Javascript中出现了错误,因为我的标记工作正常,带参数的url正在通过.

这是我的代码:

<!DOCTYPE html>
<html>
<head>
<title>Recipes</title>
<link href="mobi-styles.css" rel="stylesheet" />
<script type="text/javascript">
function getParam ( sname )
{
  var params = location.search.substr(location.search.indexOf("?")+1);
  var sval = "";
  params = params.split("&");
    // split param and value into individual pieces
    for (var i=0; i<params.length; i++)
       {
         temp = params[i].split("=");
         if ( [temp[0]] == sname ) { sval = temp[1]; }
       }
  return sval;
}
window.onload = changePic();
var param = getParam("r");
var recipeName = "Recipes/"+param+".jpg";
function changePic() {
document.getElementById("recipe").src=recipeName;
}
</script>
</head>

<body>
<img class"resizer" id="recipe" src="" />
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

请帮忙!我爱你很久了!

Jos*_*eph 6

删除().附加事件时,您可以分配一个函数,而不是函数调用的结果.你所做的是通话changePic(),返回sval和分配的值svalwindow.onload-这是错误的.

window.onload = changePic;
                         ^---remove ()
Run Code Online (Sandbox Code Playgroud)

并且window.onload = changePic在底部移动以便JSLint不会生气.在使用它们之前,最好先将函数声明为top,即使在有提升时也是如此.