IFrame 中的 FB.init 导致 IE8 无限循环,并在一段时间后出现 Flash 错误消息
我在我的应用程序中没有使用任何 Flash。导致问题的代码是您可以在最后找到的最简单的代码。
我将我的应用程序配置为在 IFrame 中工作,正如 facebook 开发人员网站上提到的那样。
问题是,当我添加 init 选项时,页面不会停止对 IE8 中的服务器进行 ajax 调用(无限循环),并且如果我使用它一段时间并向上移动,则页面不会停止。单击按钮提交表单后,我看到了此类错误:
错误#2044:未处理 安全错误事件:。文本=错误#2047: 安全沙箱违规: LocalConnection.send:ak.fbcdn.net 无法访问 http://static.ak.fbcdn.net /rsrc.php/v1/yF/r/Y7YCBKX-HZn.swf。
或者
错误#2044:未处理的 StatusEvent:。 级别=错误,代码=
再次,我没有在我的 facebook 应用程序中使用任何 Flash/Flex/SWF,并且我使用的是最简单的代码,仅包含 JS,没有任何更改。
<!DOCTYPE unspecified PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<body>
<!-- stylesheets for the UI -->
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : 'YOUR APP ID',
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
};
(function() {
var e = document.createElement('script');
e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
e.async = true;
document.getElementById('fb-root').appendChild(e);
}());
</script>
<form>
<button type="submit"> WOW</button>
</form>
</body>
</html>
I am not using any Flash at my application. The code that cause the issue is the simplest one that you can find at the end.
I configured my application to work in IFrame exactly as it mentioned at the facebook developer site.
The problem is that when I add the init option the page doesn't stop to do ajax call (infinite loop) to the server in IE8 and if I am playing with it for a while and moving up & down after I am clicking on the button to submit the form I see those kind of errors:
Error #2044: Unhandled
SecurityErrorEvent:. text=Error #2047:
Security sandbox violation:
LocalConnection.send: ak.fbcdn.net
cannot access
http://static.ak.fbcdn.net/rsrc.php/v1/yF/r/Y7YCBKX-HZn.swf.
or
Error #2044: Unhandled StatusEvent:.
level=error, code=
Again I am not using any Flash/Flex/SWF in my facebook application and I am using the most simple code that contain just JS without any changes.
<!DOCTYPE unspecified PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<body>
<!-- stylesheets for the UI -->
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : 'YOUR APP ID',
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true // parse XFBML
});
};
(function() {
var e = document.createElement('script');
e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
e.async = true;
document.getElementById('fb-root').appendChild(e);
}());
</script>
<form>
<button type="submit"> WOW</button>
</form>
</body>
</html>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
检查 Facebook Developer 应用程序中的应用设置:如果您的网站域字段设置不正确,我注意到类似的问题。该页面只是一遍又一遍地不断刷新。
我不知道该放什么值才能让它停止这样做,所以我只是清除了该字段,问题就消失了。
Check your app settings in the Facebook Developer app: I've noticed similar problems if you have the Site Domain field set incorrectly. The page simply keeps refreshing over and over and over again.
I couldn't figure out what value to put there to make it stop doing that so I simply cleared that field and the problem went away.