2017-04-11 91 views
0

我在我的网站上有页面。比方说,它是:拆分链接,保存到cookies并插入到输入字段

https://example.com/consulting/#ref/testing

和链路上有输入字段:

<input type="text" value="" id="input19" /> 

所以我想要做以下动作:

斯普利特在浏览器的URL ,所以我从链接中得到了最后一句话(在这种情况下,它是“测试”)。我使用下面的脚本此:

var url = document.URL; 
var match = url.match(/([^/]*)$/); 
console.log(url); 
console.log(match); 

该脚本都会给我在这个例子中的“测试”的链接硬道理,我需要这个词(“测试”)要写入的cookies浏览器之前,被关闭,并从cookie中插入上面提到的ID为“input19”的输入字段。

此cookie在删除前不应更改。当用户浏览网站时,以及在返回上面提到的来自cookie的页面值之后,也应该在输入字段中插入。

你可以给我一个解决方案,我怎么能做到这一点?

回答

0

我会推荐这样的事情来实现你将要做的事情。

参见:set and get cookies with javascript - stackoverflow

window.onbeforeunload = function(){ 
    var input19 = $('#input19').val(); 
    createCookie(input19,'your-site-cookie',7); 
}; 

window.onload = function(){ 
    var inputx = readCookie('your-site-cookie'); 
    if (inputx) { 
    $('#input19').attr("value", inputx); 
    } 
}; 

function createCookie(name,value,days) { 
    var expires = ""; 
    if (days) { 
     var date = new Date(); 
     date.setTime(date.getTime() + (days*24*60*60*1000)); 
     expires = "; expires=" + date.toUTCString(); 
    } 
    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; 
}