所以你知道网站有时会在名字的末尾有一个“变量=值”的东西吗?我该怎么用?我很确定要么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>
无论网址是什么,这段代码都会提示我。
答案 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);