0

それで、ウェブサイトの名前の最後に小さな「?variable = value」が付いていることがあることをご存知ですか?これをどのように使用しますか?A)変数が適切に定義されていないか、B)コードのこの部分に問題があると確信しています。

if (! variable) {
  var variable;
}

では、どうすればこれを行うことができますか?

編集:これが私が実行しようとしている完全なスクリプトです、それは単純なパスワードで保護されたページのためです、しかし私はパスワードがURLで渡されることを許可したいのでページを切り替えるときにあなたは再入力する必要はありませんパスワードを継続的に。

  <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>

このコードは、URLに何が含まれていてもプロンプトを表示します。

4

2 に答える 2

7

クエリ文字列のパラメータは自動的にJavascriptに渡されません。これらは通常、サーバー側のスクリプトを対象としています。1つの変数を取得するには、次のようにします。

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

if (m) {
    password = m[1];
}
于 2013-03-07T04:19:42.410 に答える
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);
于 2013-03-07T04:19:12.613 に答える