0

私はjs/jqueryにかなり慣れていません。私は、1つのページに変数を設定し、それを保存し、ページを移動してから、新しいページで変数を使用しようとしていました。

IVEはこのようなタグを作りました a id="ex1" href="/example.hmtl">ONE<a>

クリックすると、ページ/example.htmlに移動し、「image」という変数を1に設定します。これには、jqueryidの使用は次のとおりです。

$("#ex1").click(function() {
  var image = 1;
});

変数'image'の値のようなページ上のexample.htmlidが、の値にロードされるとstartAtSlide

$('.iosSlider').iosSlider({
    startAtSlide   : //value of var 'image' goes here,
    snapToChildren : true
});

それは可能ですか?もしそうなら、私はそれを正しい方法で行っていますか?

4

6 に答える 6

7

localStorageを確認するか、 Cookieを使用してみることをお勧めします(Cookieの場合、使用する場合はjQueryプラグインがあります)

于 2012-08-10T12:50:24.453 に答える
2

ページを更新したり、別の(関連する)ページに移動したりすると、現在のJavaScript環境が強制終了され、別のJavaScript環境が構築されます。

あるページから別のページに変数を渡すことは、あなたが思うほど簡単ではありません。

@siidheeshからの提案は、いくつかの変数の内容をlocation-hash(URLの#記号の後の部分)に配置することです。ただし、もちろん、構造に関しては制限があります。オブジェクトにスカラー値のみを配置することはできません。また、複数の変数を追加するときの美学に関しても制限があります。

このような動作が見られる現在のほとんどのWebサイトは、AJAXを使用して作成されています。つまり、ページを更新したり、別のページに移動したりすることはありません(JavaScriptを介して)常に他のページのコンテンツを要求し、それを受信すると、関心のある領域にデータをロードします。

于 2012-08-10T12:53:23.390 に答える
1

多くの人がを使用することを提案していますが、現時点ではすべてのブラウザで普遍的にサポートされているわけではないlocalStorageことを警告する必要があります。localStorage

クッキーは実行可能な解決策ですが、あなたの目的にとっては、私location.hashは最良の解決策だと思います。リンクは次のようになります。

<a href="index.html#1">ONE</a>

そして、JavaScriptでその変数を取得するには:

var slideNumber = location.hash.substr(1);

ここでは、substrを使用#して、location.hash文字列で提供されたものをスキップします。

于 2012-08-10T13:00:51.437 に答える
1

2つ以上の方法があります:

  1. Cookieを使用して変数を保存し、2ページ目に取得します

  2. urlパラメータを使用してその変数を渡しますa id="ex1" href="/example.hmtl?startat=1">ONE<a>。次に、javascriptを使用してそのパラメーターを解析します(location.hrefを使用)

于 2012-08-10T12:49:40.847 に答える
1

localStorageにデータを書き込むには:

localStorage.setItem.image = 1;

ストレージの使用からそれを読み取るには

localStorage.image

それで全部です

于 2012-08-10T12:54:34.153 に答える
0

window.location.hrefの正規表現を使用して、POST変数の値を取得できます。

それを行うための関数:

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

getUrlVars()["lang"];次に、 (「en」を返す必要があります)を使用して値を取得できます。

そして、単にあなたのURLにそれらを設定しますexample.html?lang=en

于 2012-08-10T12:58:31.420 に答える