Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Internet explorer IE为FB.Canvas.setAutoResize()抛出错误;_Internet Explorer_Iframe_Facebook Javascript Sdk - Fatal编程技术网

Internet explorer IE为FB.Canvas.setAutoResize()抛出错误;

Internet explorer IE为FB.Canvas.setAutoResize()抛出错误;,internet-explorer,iframe,facebook-javascript-sdk,Internet Explorer,Iframe,Facebook Javascript Sdk,这是新事物。至少IE 8不支持all.js中的方法,并且在FB.Canvas.setAutoResize()上似乎正在中断 这将阻止我们在IE中自动调整大小,我似乎无法找到一个不引发某种异常的解决方法 window.fbAsyncInit = function() { FB.init({ appId : js_fb_app_id, status : true, // check login status cookie : true, // enable cookie

这是新事物。至少IE 8不支持all.js中的方法,并且在FB.Canvas.setAutoResize()上似乎正在中断

这将阻止我们在IE中自动调整大小,我似乎无法找到一个不引发某种异常的解决方法

window.fbAsyncInit = function() {
  FB.init({
    appId  : js_fb_app_id,
    status : true, // check login status
    cookie : true, // enable cookies to allow the server to access the session
    xfbml  : true,  // parse XFBML
    oauth   : true          
  });

  FB.Canvas.setAutoResize();
};

您可以使用window.fbAsyncinthook执行FB.Canvas.setAutoResize()

window.fbAsyninit函数将在加载Facebook库时执行,但不会在加载整个页面时执行

当中的页面未完全加载时,FB.Canvas.setAutoResize()无法正常工作,因为它不知道内容的正确高度。您可以使用window.onload执行FB.Canvas.setAutoResize()当页面完全加载时

试试这个:

window.fbAsyncInit = function() {
    FB.init({
        appId  : js_fb_app_id,
        status : true, // check login status
        cookie : true, // enable cookies to allow the server to access the session
        xfbml  : true,  // parse XFBML
        oauth   : true          
    });
};
window.onload=function(){
    FB.Canvas.setAutoResize();
}

请记住以异步方式加载javascript文件,这意味着它将仅在完成加载整个文件后执行,这可能是您的情况导入语句如下所示:

<script>
  window.fbAsyncInit = function() {
    FB.init({appId: 'your app id', status: true, cookie: true,
             xfbml: true});
  };
  (function() {
    var e = document.createElement('script'); e.async = true;
    e.src = document.location.protocol +
      '//connect.facebook.net/en_US/all.js';
    document.getElementById('fb-root').appendChild(e);
  }());
</script>

window.fbAsyninit=函数(){
init({appId:'你的appId',状态:true,cookie:true,
xfbml:true});
};
(功能(){
var e=document.createElement('script');e.async=true;
e、 src=document.location.protocol+
“//connect.facebook.net/en_US/all.js”;
document.getElementById('fb-root').appendChild(e);
}());

希望这对你有帮助!:)

谢谢你的提示。我尝试延迟加载脚本的每一件事都会在fb的all.js(第15行)中重复同一行。你能从js中发布错误吗?我的想法是,如果页面未完全加载,某些方法将无法按预期工作,因此会导致此类错误。这是因为vague IE js error对象不支持此属性或方法(第15行)。谢谢,我在jquery$(文档)中强制使用了它.准备好了,现在似乎启动了。是的,我的async已经设置好了,只是因为没有真正的原因而停止工作。我投票支持一些错误,只是希望有人遇到了这个IE特定的东西,并做了一些变通。