我建立一个谷歌小工具中运行的Facebook Connect应用程序无法正常工作。作为一个小工具意味着应用程序在iframe中运行。在应用程序内部,有一个允许注册用户发表评论的表单。提交是使用AJAX进行的,但是我用普通表单获得了相同的结果。问题是我需要获取用户的Facebook ID。在Firefox中,它工作正常,但在Internet Explorer 7,我得到以下错误:里面的iframe的Facebook Connect应用程序在IE7
'A session key is required for calling this method'
我认为,这是由于IE处理第三方Cookie的方式,因为如果我去的Internet选项/隐私/高级,并检查覆盖自动cookie处理并接受所有cookie,它工作正常。我无法从javascript中传递Facebook ID,因为任何人都可以篡改它。
编辑:如果我直接打开iframe的内容,应用程序工作正常。问题实际上是由于IFRAME和IE安全模式。
我在做什么错?我该如何解决这个问题?
我打与在第三方网站的覆盖iframe中运行一个Facebook Connect应用程序类似的问题产生,除非我也遇到了Safari和Firefox的问题,如果用户选择不接受第三方cookie。你有没有看到同样的问题,或者我错过了什么? – 2009-04-23 05:05:28
我没有尝试在其他浏览器上阻止第三方Cookie,但这会导致相同的问题。我去打开一个弹出窗口的解决方案。事实上,Facebook现在在弹出窗口中使用了一个“假”弹出窗口,而不是打开另一个窗口,这对我来说没问题。 – 2009-04-24 14:56:44