使用PHP或JavaScript在多个域上设置cookie
我有3个主题相同的域名。如果有人选择了一个不同的主题,我希望它能在所有3个领域传播,这样他们的体验就不会改变 我计划在域1上设置cookie,重定向到设置cookie的域2,重定向到设置cookie的域3,再重定向回。由于信息不需要安全或受保护,因此可以正常工作,不会出现任何实际问题使用PHP或JavaScript在多个域上设置cookie,javascript,php,cookies,setcookie,Javascript,Php,Cookies,Setcookie,我有3个主题相同的域名。如果有人选择了一个不同的主题,我希望它能在所有3个领域传播,这样他们的体验就不会改变 我计划在域1上设置cookie,重定向到设置cookie的域2,重定向到设置cookie的域3,再重定向回。由于信息不需要安全或受保护,因此可以正常工作,不会出现任何实际问题 我讨厌3重定向只是为了在每个域上设置一个cookie,并且正在寻找更优雅的东西。您可以在iFrame中包括其他两个域。有关更多信息,请搜索“第三方cookie”。但是,根据浏览器设置,用户可能不接受第三方cooki
我讨厌3重定向只是为了在每个域上设置一个cookie,并且正在寻找更优雅的东西。您可以在iFrame中包括其他两个域。有关更多信息,请搜索“第三方cookie”。但是,根据浏览器设置,用户可能不接受第三方cookie。这里还有其他一些想法:做谷歌正在做的事情。是的,谷歌也在用同样的方法让用户登录YouTube和其他谷歌服务,这些服务位于不同的域名上 创建一个PHP文件,在所有3个域上设置cookie。然后在要设置主题的域上,创建一个HTML文件,该文件将加载PHP文件,该文件将在其他两个域上设置cookie。例如:
<html>
<head></head>
<body>
<p>Please wait.....</p>
<img src="http://domain2.com/setcookie.php?theme=whateveryourthemehere" />
<img src="http://domain3.com/setcookie.php?theme=whateveryourthemehere" />
</body>
</html>
请稍等
然后在body标记上添加一个onload回调。仅当图像完全加载时,即在其他2个域上设置cookie时,才会加载文档。Onload回调:
<head>
<script>
function loadComplete(){
window.location="http://domain1.com";//URL of domain1
}
</script>
</head>
<body onload="loadComplete()">
函数loadComplete(){
window.location=”http://domain1.com“;//域1的URL
}
setcookie.php
我们使用如下PHP文件在其他域上设置cookie:
<?php
if(isset($_GET['theme'])){
setcookie("theme", $_GET['theme'], time()+3600);
}
?>
现在Cookie设置在三个域上
我喜欢这样,它更优雅,而且由于没有额外的重定向,在所有站点上设置cookie的总时间大大减少。谢谢