使用地址栏参数进行客户端重定向

时间:2015-09-27 23:43:40

标签: javascript redirect

我正在尝试创建重定向页面,但我需要使用两个参数来创建地址链接。

<!DOCTYPE html>
<!--
Test file
-->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!--<meta http-equiv="refresh" content="0;url=link" />-->
</head>
<body>
<p>Redirecting...</p>
<script language="javascript">
   var chapterx = document.getElementById("chapter").value;
   var linex = document.getElementById("line").value;
   var link = "http://www.mypage.com/help?chapter=" + chapterx + "," + linex;

   //window.prompt(link);
   window.location = link;
</script>
</body>
</html>

我正在通过从我的PC加载页面来测试它,而不是从服务器加载。

我有关于HTML和JS的非常基本的概念,我无法弄清楚我做错了什么。

我从Redirect from an HTML page读取了一些内容来创建该代码。

另外,在重定向之前有什么方法可以编写'link'变量来看看会发生什么?

我也安装了Firebug,但我找不到我声明的变量以查看其状态。

2 个答案:

答案 0 :(得分:1)

您的代码是正确的。但它不起作用,因为JavaScript在该行上检测到错误:

var chapterx = document.getElementById("chapter").value;

您的网页上没有chapter ID的任何元素。您的下一行也是错误的,因为您的网页上没有line ID。

的元素

我将此添加到您的代码中:

<div id="chapter"></div>
<div id="line"></div>

<p>Redirecting...</p>之后,它成功地将我重定向到: http://www.mypage.com/help?chapter=undefined,undefined

希望这有帮助吗?:)

答案 1 :(得分:0)

阅读Lucio发布的链接我制作了以下代码

<!DOCTYPE html>
<!--
Test file
-->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!--<meta http-equiv="refresh" content="0;url=link" />-->
</head>
<body>
<p>Redirecting...</p>
<script language="javascript">
   var chapterx = decodeURIComponent(window.location.search.match(/(\?|&)chap\=([^&]*)/)[2]);
   var linex = decodeURIComponent(window.location.search.match(/(\?|&)lin\=([^&]*)/)[2]);
   var link = "http://www.myweb.com/help.html?chapter=" + chapterx + "," + linex;
   window.location = link;
</script>
</body>
</html>