Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Javascript的基于Cookie的重定向_Javascript_Jquery_Html_Cookies - Fatal编程技术网

使用Javascript的基于Cookie的重定向

使用Javascript的基于Cookie的重定向,javascript,jquery,html,cookies,Javascript,Jquery,Html,Cookies,我正在尝试根据cookie的存在创建重定向。因此,当用户第一次连接到我的网站jonathanstevens.org时,他们会被重定向到jonathanstevens.org/landing 代码部分: <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN

我正在尝试根据cookie的存在创建重定向。因此,当用户第一次连接到我的网站
jonathanstevens.org
时,他们会被重定向到
jonathanstevens.org/landing

代码部分:

<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>

Global.js

函数创建\u cookie(名称、值、天数){
var=”;
如果(天){
变量日期=新日期();
date.setTime(date.getTime()+(天*24*60*60*1000));
expires=“;expires=“+date.togmString();
}
document.cookie=name+“=”+value+expires+“path=/”;
}
函数get_cookie(名称){
变量nameEQ=name+“=”;
var ca=document.cookie.split(“;”);
对于(变量i=0;i

当您从函数
get\u cookie
返回
null
时,您应该与
null
进行比较,而不是
undefined

Index.html

<!-- redirect to landing page -->
<script>
  // Redirect to landing page if 'form_submitted' cookie does not exist
  if (get_cookie('secondvisit') === null) {
    window.location.href = "landing.html";
  }
</script>
创建一个7天后过期的cookie,在整个站点上有效:

Cookies.set('name', 'value');
Cookies.set('name', 'value', { expires: 7 });
Cookies.set('name', 'value', { expires: 7, path: '' });
Cookies.get('name'); // => 'value'
Cookies.get('nothing'); // => undefined
Cookies.get(); // => { name: 'value' }
Cookies.remove('name');
Cookies.set('name', 'value', { path: '' });
Cookies.remove('name'); // fail!
Cookies.remove('name', { path: '' }); // removed! 
创建对当前页面路径有效的过期cookie:

Cookies.set('name', 'value');
Cookies.set('name', 'value', { expires: 7 });
Cookies.set('name', 'value', { expires: 7, path: '' });
Cookies.get('name'); // => 'value'
Cookies.get('nothing'); // => undefined
Cookies.get(); // => { name: 'value' }
Cookies.remove('name');
Cookies.set('name', 'value', { path: '' });
Cookies.remove('name'); // fail!
Cookies.remove('name', { path: '' }); // removed! 
读取cookie:

Cookies.set('name', 'value');
Cookies.set('name', 'value', { expires: 7 });
Cookies.set('name', 'value', { expires: 7, path: '' });
Cookies.get('name'); // => 'value'
Cookies.get('nothing'); // => undefined
Cookies.get(); // => { name: 'value' }
Cookies.remove('name');
Cookies.set('name', 'value', { path: '' });
Cookies.remove('name'); // fail!
Cookies.remove('name', { path: '' }); // removed! 
读取所有可见cookie:

Cookies.set('name', 'value');
Cookies.set('name', 'value', { expires: 7 });
Cookies.set('name', 'value', { expires: 7, path: '' });
Cookies.get('name'); // => 'value'
Cookies.get('nothing'); // => undefined
Cookies.get(); // => { name: 'value' }
Cookies.remove('name');
Cookies.set('name', 'value', { path: '' });
Cookies.remove('name'); // fail!
Cookies.remove('name', { path: '' }); // removed! 
删除cookie:

Cookies.set('name', 'value');
Cookies.set('name', 'value', { expires: 7 });
Cookies.set('name', 'value', { expires: 7, path: '' });
Cookies.get('name'); // => 'value'
Cookies.get('nothing'); // => undefined
Cookies.get(); // => { name: 'value' }
Cookies.remove('name');
Cookies.set('name', 'value', { path: '' });
Cookies.remove('name'); // fail!
Cookies.remove('name', { path: '' }); // removed! 
删除对当前页面路径有效的cookie:

Cookies.set('name', 'value');
Cookies.set('name', 'value', { expires: 7 });
Cookies.set('name', 'value', { expires: 7, path: '' });
Cookies.get('name'); // => 'value'
Cookies.get('nothing'); // => undefined
Cookies.get(); // => { name: 'value' }
Cookies.remove('name');
Cookies.set('name', 'value', { path: '' });
Cookies.remove('name'); // fail!
Cookies.remove('name', { path: '' }); // removed! 

编辑

使用
js.cookie
库转换的代码版本如下所示

(注意:我已经测试了这段代码,它工作正常,请确保您正确地包含了库,并且控制台上没有错误。)

Index.html

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/js-cookie@2/src/js.cookie.min.js"></script>
<!-- redirect to landing page -->
<script>
    $(document).ready(function () {
        if (typeof Cookies.get('secondvisit') === 'undefined') {
            window.location.href = "landing.html";
        }
    })
    // Redirect to landing page if 'form_submitted' cookie does not exist
</script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/js-cookie@2/src/js.cookie.min.js"></script>
<!-- Adds second Visit cookie -->
<script>
    jQuery(document).ready(function () {
        // Create cookie so that the user is no longer redirected
        var a = Cookies.set('secondvisit', 'true', {
            expires: 7
        });
    });
</script>

$(文档).ready(函数(){
if(Cookies.get的类型('secondvisit')=='undefined'){
window.location.href=“landing.html”;
}
})
//如果“form_submitted”cookie不存在,则重定向到登录页
landing.html

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/js-cookie@2/src/js.cookie.min.js"></script>
<!-- redirect to landing page -->
<script>
    $(document).ready(function () {
        if (typeof Cookies.get('secondvisit') === 'undefined') {
            window.location.href = "landing.html";
        }
    })
    // Redirect to landing page if 'form_submitted' cookie does not exist
</script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/js-cookie@2/src/js.cookie.min.js"></script>
<!-- Adds second Visit cookie -->
<script>
    jQuery(document).ready(function () {
        // Create cookie so that the user is no longer redirected
        var a = Cookies.set('secondvisit', 'true', {
            expires: 7
        });
    });
</script>

jQuery(文档).ready(函数(){
//创建cookie,以便不再重定向用户
var a=Cookies.set('secondvisit','true'{
有效期:7
});
});

谢谢。这使重定向工作正常。但是,当页面“登录”加载时,它不会创建cookie。因此,当我点击index.html时,它会再次重定向我。(我在chrome本地工作)<代码>jQuery(document).ready(函数($){cookies.set('secondvisit','true');})
我还包括了你建议的库。我现在不在家,我会回家看看我能做些什么来整理它。除了所有的
Cookies.set()
不是
Cookies.set()
所以这可能是它不适合你的原因,我添加了上面的代码@Jonathanstevens在我的本地文件系统上执行此操作,或者我必须上传它。如果是这样的话,也许这就是问题所在……非常好的信息,我一直在寻找,谢谢。