Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.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 使用来自不同页面的cookies创建URL,并使用JS重定向_Javascript_Url_Redirect_Cookies - Fatal编程技术网

Javascript 使用来自不同页面的cookies创建URL,并使用JS重定向

Javascript 使用来自不同页面的cookies创建URL,并使用JS重定向,javascript,url,redirect,cookies,Javascript,Url,Redirect,Cookies,我是JS方面的新手,但由于该网站用户的反馈,我成功地创建了代码。首先解释代码: 目标是基于两个页面(a和B)创建URL链接 页面A使用隐藏表单加载cookie。此页面还包含重定向到页面B的链接: // CODE FROM SOURCE PAGE A // <a href="to_page_b">TO PAGE B</a> <form name="sender"> <input type="hidden" name="message" size="30"

我是JS方面的新手,但由于该网站用户的反馈,我成功地创建了代码。首先解释代码:

目标是基于两个页面(a和B)创建URL链接

页面A使用隐藏表单加载cookie。此页面还包含重定向到页面B的链接:

// CODE FROM SOURCE PAGE A //
<a href="to_page_b">TO PAGE B</a>

<form name="sender">
<input type="hidden" name="message" size="30" value="customvalue"/>
</form>
<script type="text/javascript">
function setCookie(value) {
    document.cookie = "cookie-msg-test=" + value + "; path=/";
    return true;
}
function updateMessage() {
    var t = document.forms['sender'].elements['message'];
    setCookie(t.value);
    setTimeout(updateMessage, 100);
}
updateMessage();
</script>
//源页面A中的代码//
函数setCookie(值){
document.cookie=“cookie msg test=“+value+”;path=/”;
返回true;
}
函数updateMessage(){
var t=document.forms['sender'].elements['message'];
setCookie(t值);
setTimeout(updateMessage,100);
}
updateMessage();
页面B有一个带有不同赋值的链接列表。使用JS从页面A调用cookie并将其分配给变量。当我们点击一个链接时,将该值分配给另一个变量。JS使用这两个变量创建新URL并重定向

// CODE FOR DESTINATION PAGE B //
<a id="LNK" href="#" value="value_for_url" onclick="clickLink(this)">CUSTOM REDIRECTION</a>
<a id="LNK" href="#" value="other_value_for_other_url" onclick="clickLink(this)">OTHER CUSTOM REDIRECTION</a>
// RECEIVE THE COOKIE FROM SOURCE PAGE A //
<script type="text/javascript">
function getCookie() {
    var cname = "cookie-msg-test=";
    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(cname) == 0) {
            return c.substring(cname.length, c.length);
        }
    }
    return null;
}
// PASTE THE COOKIE AND THE VALUE OF PAGE A AND REDIRECT //
function clickLink(a) {
    var url_part_from_a = a.getAttribute('value');
    var url_part_from_cookie = getCookie();
    window.location.assign("http://domain/"+url_part_from_a+url_part_from_cookie)
       return false;
    }
</script>
//目标页面B的代码//
//从源页面A接收COOKIE//
函数getCookie(){
var cname=“cookie msg test=”;
var ca=document.cookie.split(“;”);
对于(变量i=0;i
因为不同的页面会有不同的cookie值,我会修改页面代码,这样当你点击链接时,会将值分配给cookie,而不是之前

有什么想法吗?提前感谢

已解决

A页代码:

<html>
<body>
<a href="http://page_B.html" value="custom_code_a" onclick="clickLink(this)">LINK TO PAGE B</a>
<script type="text/javascript">
    function clickLink(a) {
        var url1 = a.getAttribute('value');
        document.cookie = 'cookiename=' +url1+'; expires=Wed, 1 Jan 2070 13:47:11 UTC; path=/';
    }
</script>
</body>
</html>

功能点击链接(a){
var url1=a.getAttribute('value');
document.cookie='cookiename='+url1+';expires=Wed,2070年1月1日13:47:11 UTC;path=/';
}
B页代码

<html>
<body>
<a id="LNK" href="#" value="custom_code_b" onclick="clickLink(this)">JS REDIRECT</a>    
<script type="text/javascript">
    function getCookie(cookiename)
      {
        var re = new RegExp(rgcookie + "=([^;]+)");
        var value = re.exec(document.cookie);
        return (value != null) ? unescape(value[1]) : null;
      }
    var url1 = getCookie("cookiename");
    function clickLink(a) {
    var url2 = a.getAttribute('value');
    window.location.assign("http://domain/"+url1+url2);
    }
</script>
</body>
</html>

函数getCookie(cookiename)
{
var re=new RegExp(rgcookie+“=([^;]+)”);
var值=re.exec(document.cookie);
返回值(值!=null)?unescape(值[1]):null;
}
var url1=getCookie(“cookiename”);
功能点击链接(a){
var url2=a.getAttribute('value');
window.location.assign(“http://domain/“+url1+url2);
}