我正在使用Facebook上几乎没有修改过的示例代码发布到用户的Feed:
<a class="facebook popup"
href=""
title="Post to Facebook"
onclick="FB.ui(
{
method: 'feed',
name: 'Feedback from Customer in x',
link: 'http://localhost/User/Feedback.aspx',
picture: 'http://localhost/Images/Picture.jpg',
caption: 'Caption goes here.',
description: 'Description goes here.'
}
);
return false;">
<img alt="Post to Facebook" src="../Images/feedback-fb.png"/>
但是我在IE(9)中看到了一些问题。
SCRIPT70: Permission denied all.js?_=1316190103502, line 22 character 4250.
如果它有任何区别,大多数浏览器使用“对话框”显示类型,其中IE在这种情况下由于某种原因使用“弹出窗口”。如果我强制它使用display:'popup'然后(至少)Chrome似乎工作正常。任何帮助将不胜感激!
答案 0 :(得分:1)
对于这个特殊问题,我可以通过配置我的服务器返回标头(这是nginx语法)在IE9中消除错误:
add_header P3P 'CP="HONK"';
您可以对其他服务器(如apache等)执行相同操作,或者从服务器脚本返回它。我没有这样做,但我相信php中的语法是:
header('P3P: CP=HONK');
这是一个公开的垫片,因为实施P3P的“properly”还有很多。但是,我们只想看看使这个错误消失所需的最小努力,以及上述工作。
答案 1 :(得分:1)
FB.UIServer.setLoadedNode = function (a, b) { FB.UIServer._loadedNodes[a.id] = b; }; // IE hack to correct FB bug 20168
在此this question发现。
但是我的FB应用程序域也遇到了问题 - 我必须将FB应用程序配置为指向我正在使用的特定子域(x.domainname.com),否则在IE中我调用FB.login
时我得到了权限被拒绝错误和另一个空白屏幕。