Facebook PHP SDK getUser() 在 Windows 上的 Safari 中返回 0
Facebook PHP SDK getUser() returning 0 in Safari on Windows
我正在开发一个Facebook iframe应用程序。我同时使用PHP SDK和JS软件开发工具包。在我的索引文件中,我调用 PHP SDK 以获取有关用户的一些信息。这包括 getUser(( 函数,它始终在索引中工作。
但是,我还有许多其他PHP文件,当用户单击某些链接时,我用它来填充索引中的div。我在这些文件中的每个文件中都使用FB PHP SDK,以确保用户仍然登录到FB。也就是说,当这些文件被执行时,我调用getUser((函数来获取用户的ID并确定该人是否仍在登录。我通过jQuery的load((函数将这些PHP文件的内容注入索引中的div中。
这在 FFox、Opera、IE 和 Chrome 下工作得很好,但在 Safari 的某些安装下则不然。 具体来说,我在 5.1.5 (7534.55.3( 中遇到了重大问题。当PHP文件被jQuery加载函数在这个版本的Safari下调用时,getUser((函数似乎总是返回0(零(。我假设这与会话cookie有关?我真的不知道,希望这里有人能为我阐明这一点。谢谢。。
你可以把它添加到你的网站:
<?php
$uid = $facebook->getUser();
if ($uid==0) {
$params = array(
'scope' => 'read_stream, friends_likes',
'redirect_uri' => 'https://www.myapp.com/post_login_page'
);
$loginUrl = $facebook->getLoginUrl($params);
echo '<a href="'.$loginUrl.'">You need first to Login</a>';
exit();
} else {
//Continue your site code
}
?>
不确定这是否是一个问题,但它影响了我的 Safari FB 应用程序开发一段时间。查看此 SA 答案以修复它,我几乎完全遵循它并且它有效。在 safari 5.1.5 中 iframe 上缺少 cookie
相关文章:
- 为什么我的JavaScript在Safari上的严格模式下不能正常工作
- 跨浏览器问题:如何调试我的网站'在windows PC的safari上的行为
- Safari上的无限警报框(带IOS7的iPad)
- Safari上的SVG动画工件
- Safari上的Selenium网络驱动程序:Keys.ENTER不起作用
- .replace() 不适用于使用 Snow Leopard 的 Safari 上的变音字符
- jQuery 显示在移动 Safari 上的 标签上
- Ext js 4.2.3 beta - Safari 上的离线应用程序区域设置
- JavaScript DOM 在 touchmove 中的更改延迟到移动 Safari 上的滚动结束
- 如何在 Safari 上的 3D 转换图像上修复剪裁的文本
- Javascript 错误:TypeError:“null”不是 safari 上的对象(评估“event.target
- 禁用iOS Safari上的轮子选择器
- Safari上的Colorbox关闭事件没有响应
- Safari上的OnHover HTML5音频
- Hammer.js正在阻止iOS Safari上的滚动事件
- 标题属性不适用于Safari上的SVG Rect
- Safari上的pageshow事件
- Safari上的JS Bug:意外的令牌'='
- IPad Safari上的CSS3转换缩放问题
- 移动Safari上的可保持html按钮