2

ユーザーを新しいディレクトリにリダイレクトするドロップダウン メニューを含むランディング ページを作成しています。

http://steerbox.com/countryselect/

その部分は機能しており、国が選択されたときに Cookie を設定するコードを追加する必要があります。これにより、ユーザーが次にランディング ページにアクセスしたときに、ドロップダウン メニューから選択しなくても、その国のディレクトリに自動的にリダイレクトされます。また。

ドロップダウンの選択時にCookieを設定するjqueryとjavascriptを見つけましたが、Cookieを設定してユーザーをリダイレクトするドロップダウンを取得できないようです。以下は、ドロップダウンとリダイレクトに現在使用しているスクリプトです。

<Script language="JavaScript">
function goto(form) { var index=form.select.selectedIndex
if (form.select.options[index].value != "0") {
location=form.select.options[index].value;}}
</SCRIPT>
<FORM NAME="form1">
<SELECT NAME="select" ONCHANGE="goto(this.form)" SIZE="1">
<OPTION VALUE="">Select Country
<OPTION VALUE="chile">Chile
<OPTION VALUE="colombia">Colombia
<OPTION VALUE="bolivia">Bolivia
</select>
</FORM>

ありがとう!ディーン

4

1 に答える 1

3

yckart のコメントに同意し、localStorage の使用を提案します。

サポートは非​​常に優れており (ここに示されています)、IE7 以下をサポートする必要がない限り、問題ありません。

次のようにデータを設定および取得できます。

localStorage.varName = 'bling';
var myVal = localStorage.varName;
// or:
localStorage['a little more flexibility'] = 'bling';

これを使用するには、次のようにします。

<script type="text/javascript">
    if (localStorage && localStorage.country) {
        location = localStorage.country;    
    }

    function formChanged(form) {
        var val = form.options[form.selectedIndex].value;
        if (val !== 'non-value') {
          if (localStorage) {
            localStorage.country = val;
          }
          location = val;
        }
    }
</script>

<FORM NAME="form1">
  <select onchange="formChanged(this);" NAME="country" SIZE="1">
    <OPTION VALUE="non-value">Select Country
    <OPTION VALUE="chile">Chile
    <OPTION VALUE="colombia">Colombia
    <OPTION VALUE="bolivia">Bolivia
  </select>
</FORM>

http://jsfiddle.net/K4Jkc/

もう少し保守的なアプローチは、次の jsFiddle に示すように、リダイレクトを実行する前に、localStorage (存在する場合) に保存されている値を選択リストのオプションと比較することです。

http://jsfiddle.net/K4Jkc/1/

于 2012-12-15T06:50:17.870 に答える