2011-08-25 12 views
0

我完成了我的應用程序,但是當我在其他網絡瀏覽器上測試它時,出現了問題爲什麼這段代碼不能在Firefox上使用? (它完全適用於Opera)

我將添加我的代碼。我不能看到error.as我說,它適用於京劇,但不能在Firefox:/

<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2011/fbml"> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 
    </head> 
    <body> 
<div id="fb-root"></div> 
    <script type="text/javascript"> 
      window.fbAsyncInit = function() { 
       FB.init({appId: '199193070140222', status: true, cookie: true, xfbml: true}); 

      }; 
      (function() { 
       var e = document.createElement('script'); 
       e.type = 'text/javascript'; 
       e.src = document.location.protocol + 
        '//connect.facebook.net/tr_TR/all.js'; 
       e.async = true; 
       document.getElementById('fb-root').appendChild(e); 

      } 
      ()); 

     function lget(idd){ 
       FB.api('/'+idd, function(response) { 
       document.getElementById(idd+"_a").innerHTML ="<a href='" + response.link + "' id='"+idd+"_und' style='color:#12566C;font-size:14px;' onmouseover=document.getElementById('"+idd+"').style.textDecoration=underline; onmouseout=document.getElementById('"+idd+"').style.textDecoration=none; target='_blank'><b>" + response.name + "</b></a>"; 
       }); 
      } 




     </script>  


<div style="padding-left:6px;"><center> 

<div id="525864081_a" ></div> 

<script type="text/javascript"> 
lget(525864081); 
</script> 



<div id="534018674_a" ></div> 

<script type="text/javascript"> 
lget(534018674); 
</script> 


</div> 
</body> 
</html> 
+0

可能的重複[有沒有辦法來檢測是否Facebook的Javascript SDK加載成功?)(http://facebook.stackoverflow.com/questions/5334977/is-there-a-way-to-detect-if-the-facebook-javascript-sdk-loaded-successfully) – ifaour

回答

0

您正在加載Facebook的JS SDK在異步模式下,因此FB對象還沒有準備好,當你把它裏面LGET異步加載發生在您調用lget之後,甚至在Firefox中的onload事件之後。

儘量不要異步加載代碼,並注意它是工作的罰款

<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2011/fbml"> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 
    </head> 
    <body> 
<div id="fb-root"></div> 
<script src="http://connect.facebook.net/en_US/all.js"></script> 
    <script type="text/javascript"> 
       FB.init({appId: '199193070140222', status: true, cookie: true, xfbml: true}); 

    function lget(idd){ 
       FB.api('/'+idd, function(response) { 
       document.getElementById(idd+"_a").innerHTML ="<a href='" + response.link + "' id='"+idd+"_und' style='color:#12566C;font-size:14px;' onmouseover=document.getElementById('"+idd+"').style.textDecoration=underline; onmouseout=document.getElementById('"+idd+"').style.textDecoration=none; target='_blank'><b>" + response.name + "</b></a>"; 
       }); 
      } 

    </script> 

<div style="padding-left:6px;"><center> 

<div id="525864081_a" ></div> 

<script type="text/javascript"> 
lget(525864081); 
</script> 



<div id="534018674_a" ></div> 

<script type="text/javascript"> 
lget(534018674); 
</script> 

</div> 
</body> 
</html> 

,如果你想看到的執行順序嘗試這樣的事情

<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2011/fbml"> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 
    </head> 
    <body onload="console.log('onload event'); false;"> 
<div id="fb-root"></div> 
    <script type="text/javascript"> 
      window.fbAsyncInit = function() { 
     FB.init({appId: '199193070140222', status: true, cookie: true, xfbml: true}); 
     console.log('FB object ready'); 
      }; 
      (function() { 
       var e = document.createElement('script'); 
       e.type = 'text/javascript'; 
       e.src = document.location.protocol + 
        '//connect.facebook.net/tr_TR/all.js'; 
       e.async = true; 
     document.getElementById('fb-root').appendChild(e); 
      console.log('This executed first'); 
      } 
      ()); 

     function lget(idd){ 
      console.log('lget - ' + idd); 
      }; 
     </script> 


<div style="padding-left:6px;"><center> 

<div id="525864081_a" ></div> 

<script type="text/javascript"> 
lget(525864081); 
</script> 



<div id="534018674_a" ></div> 

<script type="text/javascript"> 
lget(534018674); 
</script> 


</div> 
</body> 
</html> 

這是輸出,你會得到在火狐

This executed first 
lget - 525864081 
lget - 534018674 
onload event 
FB object ready 
+0

謝謝謝謝謝謝! !我一直試圖修復它3天:) – Can

相關問題