IFrame 中的 FB.init 导致 IE8 无限循环,并在一段时间后出现 Flash 错误消息

发布于 2024-11-07 06:46:45 字数 1527 浏览 0 评论 0原文

我在我的应用程序中没有使用任何 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

静若繁花 2024-11-14 06:46:45

检查 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文