0

ユーザーが最初にサイトにアクセスしたときに表示される「言語を選択してください」モーダルがあります。次に、必要な言語を選択すると、Cookie が作成されて保存されます。ユーザーがサイトに再度アクセスすると、選択した言語に自動的にリダイレクトされます。オプションを選択すると Cookie が作成されますが、その内容は "%2F" に等しく、リダイレクトは発生しません。これは、ある種の「ページロード」関数を呼び出しておらず、すべてが bind() 関数内にあるためだと思いますが、ここからどこへ行くべきか迷っています。

以下のコードを含むページは次のとおりです。

http://www.watsu.se

これが私がこれまでに持っているものです:

jQuery(function($){
  $('#language-select').bind('change', function () {

      var url = $(this).val(); // get selected value

      if (url) { // require a URL

          $go = $.cookie('lang', url, {expires: 7}); // create cookie from select URL

               if ($go){ //if the cookie exists
                     window.location = url; // redirect
                       }
               else {
                // do nothing until cookie is created
                    }

               }

      return false;
  });

});
4

1 に答える 1

0

非常に親切な仲間のインターネットユーザーから解決策を見つけました。そもそもそこに行こうとは言っていない。他の誰かがこれを必要とする場合に備えて、次のようにします。

jQuery(function($) {
    var usrLang = $.cookie( 'lang' );
    (usrLang === null) || ( window.location.href = usrLang );
});
于 2012-11-27T19:25:38.360 に答える