混淆cookie系统以记住多个页面内的url

时间:2018-04-23 02:42:21

标签: javascript cookies

我正在使用带有语言按钮的cookie系统来记住语言。并且该系统在website.nl上工作得很好。它记得要去网站.nl / index-english如果按下英文按钮但是如果我在website.nl/otherpage它只会转到index-english当我去url website.nl / otherpage我希望它转到index-english如果去主页website.nl

这是我的索引页面的cookie系统代码:

/*Cookie system */
    $(function () {

    "use strict";
    var url = 'http://www.gester.nl/slotenservice';
    var english_page = 'slotenservice/index-eng';



  if ($.cookie('nummer_1a') != null) {
            if (window.location.href != '/' + $.cookie('nummer_1a')) {
                window.location.href = '/' + $.cookie('nummer_1a');
            }
        }


        $('#english').click(function () {

            $.cookie('nummer_1a', english_page, { expires: 999 });
            $.removeCookie("nummer_2a");
            $.removeCookie("nummer_1b");
            $.removeCookie("nummer_2b");
             });    

});

哪个有效,但这不起作用:

var url ='http://www.gester.nl/slotenservice/slotenopenen-eng'; var dutch_page ='slotenservice / index';

主页是www.gester.nl/slotenservice

单击按钮后创建的标准页面在此主页上运行良好。如果我在www.gester.nl/slotenservice/slotenopenen内,我点击英文按钮,如果我输入gester.nl/slotenservice/slotenopenen,英文版只会打开,如果我输入它不会转到英文版主页(这是其他人进入的正确想法)www.gester.nl/slotenservice?

有人可以解释一下为什么它不起作用以及它是如何工作的。此外,我现在使用单独的脚本文件为每个页面使用另一个cookie系统代码。有没有办法在1个脚本文件中使用5个页面来处理所有页面,而不是为英文版本和每个页面的荷兰语版本都有单独的脚本文件。

感谢您的时间

1 个答案:

答案 0 :(得分:0)

应该是

if (window.location.origin + '/' === window.location.href) {
     window.location.href = '/' + $.cookie('nummer_1a');
}

检测根网址并使用Cookie重定向到网址

if ($.cookie('nummer_1a') && location.pathname == "/slotenservice/slotenopenen") {
   window.location.href = '/' + $.cookie('nummer_1a');
}