2

我有一个使用 Facebook Javascript API 的小网页。如果为您所在的区域关闭了启用保护模式,为什么 API 在 Internet Explorer 中不起作用?getLoginStatus 总是返回未知,如果保护模式关闭,FB.login 会显示一个空白窗口。我设置了 channelURL,虽然它似乎没有使用它,因为我的服务器日志中没有对它的引用。

我的网页在 FF、Chrome 和 Facebook 选项卡中运行良好,但如果启用保护模式已打开,则只能在 IE 中作为独立页面运行。

我一直在使用 IE9,但有人用相同的结果测试了 IE10。

更新:我关闭保护模式的原因是因为我的站点位于 Intranet 区域中,这是默认设置。我现在开启了保护模式,一切正常,除了我收到 Permission Denied 错误。在我的页面运行几秒钟后,如果我在兼容模式下运行 IE9 或在浏览器模式下运行 IE9 IE7(来自 F12 开发人员工具),它会在 xd_arbiter.php?version=26,第 33 行字符 50 中出现 Permission denied . 我只是碰巧“幸运”,我正在 Intranet 区域中测试一个站点,而没有打开保护模式,并为该站点运行 IE9 兼容模式(来自以前的测试)。即使我收到了权限被拒绝的错误,但事情似乎仍然有效。我现在假设我没有做错任何事情,只是某些组合中的问题不起作用。

4

1 回答 1

1

我在使用 IE9、IE10、IE11 时遇到了这个问题,将 Facebook javascript sdk 中的 facebook 登录按钮放在我们的一个网站上。

它适用于chrome和firefox,但不适用于ie

我已将问题确定为我们的网页加载在“互联网安全”区域,而 facebook iframe / cookie 加载在“互联网安全区域”

我们的 Internet 区域已“保护模式开启” 我们的 Intranet 区域已“保护模式关闭”

因为这两个页面在不同的区域加载,它们的 cookie 存储存储在不同的目录中,因此它们不能“链接”

如果 facebook 和我们的本地页面都在同一个区域,或者如果两个区域具有相同的“保护模式”设置,那么 api 将正常工作

保护模式参考

在保护模式下,IE 写入/读取缓存、TEMP 文件夹、Cookie 和历史记录的特殊低版本:

缓存:%userprofile%\AppData\Local\Microsoft\Windows\Temporary Internet Files\Low Temp:%userprofile%\AppData\Local\Temp\Low Cookie:%userprofile%\AppData\Roaming\Microsoft\Windows\Cookies\Low History : %userprofile%\AppData\Local\Microsoft\Windows\History\Low

于 2014-06-25T02:23:07.763 回答