0

人々が私のURLを入力するとき、私は彼らにノースカロライナまたはバージニアをクリックしてもらいたいです。クリックすると、www.myurl.com/ncまたはwww.myurl.com/vaにリダイレクトされます。彼らがその質問に答えた後、次に彼らが私のサイトにアクセスすると、NCまたはVAを再度クリックすることなく適切なページにリダイレクトされます。リンクは機能しています(正しいページに移動します)が、戻ると、Cookieがリダイレクトされず、状態を選択するように要求する同じページに戻ります。これが私がこれまでに得たものです。身近に感じますが、正直なところ何をしているのかわかりません。

<p> Please tell us where you live so we can give you information for your location. </p>
<a href="#" onClick="window.location = 'http://www.myurl.com/nc'" value="nc">North Carolina</a><br />
<br />
<a href="#" onClick="window.location = 'http://www.myurl.com/va'" value="va">Virginia</a> 
<script type="text/javascript" src="script.js"></script> 
<script type="text/javascript">
function redirect(state) {     createCookie('state', state, 90);     window.location.href = "http://www.myurl.com/" + nc; } 
</script>

このスクリプトも別のファイルにあります。

// JavaScript Document
function createCookie(name,value,days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
}

function eraseCookie(name) {
    createCookie(name,"",-1);
}
4

1 に答える 1

0

これを試して:

<p> Please tell us where you live so we can give you information for your location. </p>
<a href="#" onClick="redirect('nc');return false" >North Carolina</a><br />
<br />
<a href="#" onClick="redirect('va');return false" >Virginia</a> 
<script type="text/javascript" src="script.js"></script> 
<script type="text/javascript">
function redirect(state) {
    createCookie('state', state, 90);
    window.location.href = "http://www.myurl.com/" + state; 
}
var cookie = readCookie('state');
if (cookie != null) {
    window.location.href = "http://www.myurl.com/" + cookie;
}
</script>

jsfiddle: http://jsfiddle.net/7j8pG/1/

于 2012-06-08T18:11:54.383 に答える