如何在URL中放置一个javascript变量?

时间:2013-03-07 04:16:31

标签: javascript

所以你知道网站有时会在名字的末尾有一个“变量=值”的东西吗?我该怎么用?我很确定要么A)变量没有像它应该那样被定义,或者B)这部分代码存在问题:

if (! variable) {
  var variable;
}

那我该怎么做?

编辑:这是我正在尝试运行的完整脚本,它的目的是一个简单的密码保护页面,但我想允许密码在网址中传递,所以在切换页面时你不必连续重新输入密码。

  <script>
      var m = location.href.match(/[?&]variable=([^&]*)/),
      password;
      if (m) {
        password = m[1];
      }
      var pass1="password";
      var pass2="abcd";
      if (password!==pass1 || password!==pass2) {
        password=prompt('Please enter your password to view this page!',' ');
        if (password==pass1 || password==pass2) {
          alert('Password Correct!');
        } else {
          history.go(-1);
        }
      }
  </script>

无论网址是什么,这段代码都会提示我。

2 个答案:

答案 0 :(得分:7)

查询字符串中的参数不会自动传递给Javascript;它们通常用于服务器端脚本。要获得一个变量,您可以这样做:

var m = location.href.match(/[?&]variable=([^&]*)/),
password;

if (m) {
    password = m[1];
}

答案 1 :(得分:1)

你可以像这样传递变量:

<script language="javascript" type="text/javascript">
var scrt_var = 10; 
</script>
<a href="2.html" onclick="location.href=this.href+'?key='+scrt_var;return false;">Link</a>

或者像这样:

将id属性放在锚元素

 <a id="link2">

在页面加载事件上设置href属性:

var scrt_var = 10;
var strLink = "2.html&Key=" + scrt_var;
document.getElementById("link2").setAttribute("href",strLink);