печенье перенаправления застряло в цикле - PullRequest
0 голосов
/ 06 февраля 2012

По какой-то причине этот скрипт застревает в цикле перенаправления и не позволит вам покинуть "android.html". Панель URL показывает, что он пытается перейти к «index.html», но он просто мигает и остается на «android.html»

    var caution = false

function setCookie(name, value, expires, path, domain, secure) {
    var curCookie = name + "=" + escape(value) +
            ((expires) ? "; expires=" + expires.toGMTString() : "") +
            ((path) ? "; path=" + path : "") +
            ((domain) ? "; domain=" + domain : "") +
            ((secure) ? "; secure" : "")
    if (!caution || (name + "=" + escape(value)).length <= 4000)
            document.cookie = curCookie
    else
            if (confirm("Cookie exceeds 4KB and will be cut!"))
                    document.cookie = curCookie
}

function getCookie(name) {
    var prefix = name + "="
    var cookieStartIndex = document.cookie.indexOf(prefix)
    if (cookieStartIndex == -1)
            return null
    var cookieEndIndex = document.cookie.indexOf(";", cookieStartIndex + prefix.length)
    if (cookieEndIndex == -1)
            cookieEndIndex = document.cookie.length
    return unescape(document.cookie.substring(cookieStartIndex + prefix.length,     cookieEndIndex))
}

function deleteCookie(name, path, domain) {
    if (getCookie(name)) {
            document.cookie = name + "=" + 
            ((path) ? "; path=" + path : "") +
            ((domain) ? "; domain=" + domain : "") +
            "; expires=Thu, 01-Jan-70 00:00:01 GMT"
    }
}

function fixDate(date) {
    var base = new Date(0)
    var skew = base.getTime()
    if (skew > 0)
            date.setTime(date.getTime() - skew)
}

var now = new Date()
fixDate(now)
now.setTime(now.getTime() + 365 * 24 * 60 * 60 * 1000)
var visits = getCookie("indexVisited")
if (!visits)
window.location.replace("./android.html");
else 
window.location.replace("./index.html");
setCookie("indexVisited", visits, now)

1 Ответ

0 голосов
/ 06 февраля 2012

Помимо пропуска целой точки с запятой, ваш код пытается установить cookie после его перенаправления на другую страницу. Javascript прекращает выполнение при перенаправлении, поэтому ваш setCookie вызов никогда не будет выполнен. Попробуйте переместить его до перенаправления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...