- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个包含多个 PHP 页面的 facebook Iframe 应用程序。
我有一些链接指向我的“iframe 文件夹”中的文件。
iframe 中的 session 变量存在一些问题。我设置了一些 session 变量,但它们不会从一个页面持续到另一个页面。
这确实适用于其他浏览器。
我一直在读到 Safari 不支持跨域 cookie,这可能是问题所在,但我不确定如何解决这个问题。
有什么帮助吗?
最佳答案
我相信这个解决方案在最新版本(6.0 及更高版本)的 Safari 中已经过时了。
默认情况下,Safari 不允许从第三方设置 cookie。这会影响 Facebook iframe 应用程序,因为用户正在访问由 apps.facebook.com
提供的页面,但 iframe 是由 yourdomain.com
提供的,即“第三方”这种情况。
网络上提到了几种解决方案。我找到的最好的,也是 Facebook 在其 miscellaneous issues 列表中推荐的是使用 JQuery 伪造对 yourdomain.com
的 POST 请求。 Anant Garg 详述了此解决方案一般适用于不同的主机/iframe 域,需要针对 Facebook 应用程序进行调整。关键部分是:
$("body").append('
<iframe id="sessionframe" name="sessionframe" onload="submitSessionForm()" src="http://www.yourdomain.com/blank.php" style="display:none;"></iframe>
<form id="sessionform" enctype="application/x-www-form-urlencoded"
action="http://www.yourdomain.com/startsession.php"
target="sessionframe" method="post"></form>');
var firstTimeSession = 0;
function submitSessionForm() {
if (firstTimeSession == 0) {
firstTimeSession = 1;
$("#sessionform").submit();
}
}
Will Henderson 的另一个解决方案是使用 Javascript 函数用 session 信息检测页面上的每个链接。然后修改您的服务器代码以通过从 GET 参数读取它来捕获此 session 信息。
关于在 Safari session 变量中具有多个页面的 Facebook Iframe 应用程序不持久,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2691864/
我在 StackOverflow 和其他地方看到了很多与此类似的问题,但没有一个直接解决我的问题。我正在 THREE.js 中使用凸包生成器生成 n 边多面体。我想将方形纹理映射到每个多面体的每个面上
我是一名优秀的程序员,十分优秀!