3

示されているように、javascriptMath.random()を使用していくつかの変数を設定するページがあります。

var RandomValue1 = Math.floor(Math.random() * 5);
var RandomValue2 = Math.floor(Math.random() * 6);
var string = array1[RandomValue1];
var string = array2[RandomValue2];

ユーザーがRandomValueURLを他の人に渡せるようにしたいと思います。2番目の人が共有に行くとき、URLRandomValue最初の人としての値です-そのため、2番目の人は最初の人と同じ「文字列」を見ることができます。

私はWebデザインとWebプログラミングにかなり慣れていないので、これをサーバー側で処理する必要があるのか​​、クライアント側で処理する必要があるのか​​わかりません。

次のようなURLを渡す必要があると思いますpage1.html?RandomValue1=1&RandomValue2=3が、ページを取得してそれらの変数を設定してロードすることはできません。これはで行うことができますJavaScriptか?

4

4 に答える 4

2

javascript で GET 変数を読み取ることができます。関数の例を次に示します ( source )。

function getUrlVars() {
  var vars = {};
  var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
    vars[key] = value;
  });
  return vars;
}

使用法:

var first = getUrlVars()["id"];
var second = getUrlVars()["page"];

alert(first);
alert(second);
于 2013-01-23T20:56:44.267 に答える
1

あなたの仮定は正しいです。これらの変数を PARAMETERS として URL に入れる必要があります。さらに、実際のパラメーターの代わりに「#」を使用して、毎回ページを更新するリスクを避けることをお勧めします。そのため、URL は mydomain.com/page.html#RandomValue1=1&RandomValue2=3 のようになります。

Javascript を使用して、window.location.href メソッドでこれらのパラメーターを取得/設定できます。ページの読み込み時に、Javascript は「#」があるかどうかを確認し、URL にそれ以降のものを解析します。ページが読み込まれた後、Javascript を使用してこれらのパラメーターを更新できます。

window.location の使用方法に関する完全なドキュメントについては、次のリンクを参照してください。

https://developer.mozilla.org/en-US/docs/DOM/window.location

ああ、ここにあなたをより速く到達させるのに役立つかもしれないJavaScriptライブラリがあります. これはハッシュ ('#') で動作し、パラメーターを自動的に解析 (デパラメーター化) し、それらを文字列やオブジェクトなどに割り当てて使用できるようにします。

http://benalman.com/projects/jquery-bbq-plugin/

于 2013-01-23T20:52:57.933 に答える
0

私はPHPでそれを行います。

ページ (フォーム内) に隠しフィールドを配置できます。フォーム メソッドを GET に設定し、アクションを別の PHP ページに設定します。

<form id="form" name="form" action="my_page.php" method="GET">
  <input id="myId" name="myName" type="hidden />
</form>

PHP ページでは、$_GET オブジェクトを使用して変数を管理できます。

<?php
  if(isset($_GET['myName'])){
    //do something with value;
  }
?>

GET 変数と POST 変数は、HTML 要素の name 属性に基づいていることに注意してください。私の例では、隠しフィールドの名前myNameは であるため、参照したいときに使用します$_GET['myName'];

于 2013-01-23T20:50:39.437 に答える
0

サーバーを使用して、両方のクライアント間でデータを調整する必要があります。つまり、最初のユーザーはランダムな値をサーバーに送信する必要があります。これは、GET URL を使用して行うことができますが、page1.html?RandomValue1=1POST 要求を調査したい場合があります。

とにかく、2 番目のユーザーは共有 URL にアクセスして、サーバーに保存されている値を確認できます。

于 2013-01-23T20:52:48.210 に答える