gpt4 book ai didi

javascript - 阻止第三方 cookie - 解决方法(Facebook 应用程序等)

转载 作者:行者123 更新时间:2023-11-30 05:15:16 26 4
gpt4 key购买 nike

Mac 上的 Safari 默认将 Block cookies 设置为 From third parties and advertiser

如果嵌入的 swf 来自不同的域,它会阻止 SharedObject 工作。

这个问题并不新鲜: Safari 3rd party cookie iframe trick no longer working?

有没有人找到解决方案(除了在每个请求中通过 GET/POST 参数传递 session ID)?

注意:我无法访问嵌入 swf 的网站,因此无法更改该 HTML 或放置任何 JavaScript 等。

最佳答案

function setCookie(){
if ( navigator.userAgent.indexOf('Safari') != -1 &&
navigator.userAgent.indexOf('Chrome') == -1 ){
window.open('safari.php','','width=200,height=100' );
}
}

// then we set the cookie in safari.php

来源:http://www.reizbombardement.de/archives/safari-5-1-4-enforces-cookie-policy

//2013 年 7 月 23 日更新

这种解决此问题的蹩脚方法在 Safari 6 之前一直有效。

请参阅下面的@Fabio Antunes 和@ncubica 评论。

//Fabio Antunes 于 2013 年 7 月 23 日更新

这是我的代码

在着陆页上,我们将提供有关该应用程序的简要说明和一个类似于“输入”的按钮。我正在使用 jquery 来简化这个过程,为点击事件创建一个监听器,我将只放置 javascript 代码,因为我假设您已经拥有着陆页的其余 html 代码:

$(document).on("click", "#bt-landing", function(){
var left = (screen.width/2)-(500/2);
var top = (screen.height/2)-(250/2);
window.open('URL_FOR_THE_PHP_THAT_WILL_CREATE_THE_SESSION', '_blank', 'width=500,height=250,toolbar=0,location=0,menubar=0, top='+top+', left='+left);
});

此时您将打开一个小窗口,大小为 500 x 250 像素,位于屏幕中央。

我的小窗口代码是这样的:

<?php setcookie("safari_cookie", "1");?>
<html>
<head>
<meta charset="utf-8">
<title>THE NAME OF YOUR APP OR SOMETHING THAT THE USER WE'LL READ AND ASSUME THAT THIS SMALL WINDOW IS RELIABLE</title>
</head>
<body>
<script type="text/javascript">
$(document).ready(function(){
setTimeout(function(){window.close()},1000);
})
</script>
</body>
</html

关于javascript - 阻止第三方 cookie - 解决方法(Facebook 应用程序等),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11635105/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com