2011-05-23 9 views
10

मैं IE8 पर फेसबुक कनेक्ट का उपयोग कर समस्याओं के साथ कुश्ती कर रहा है और मैं एक अंत में मृत्यु पहुँच गए हैं यह प्रतीत होता है:आईई 8 का उपयोग कर फेसबुक कनेक्ट समस्याएं; कोई कामकाज?

हमें एक Facebook खेल (कैनवास iFrame) जो जब IE8 का उपयोग कर सूचना दी समस्या नहीं थी की है। हमने FB.init डेवलपर पृष्ठ पर निर्देशों का पालन किया है, लेकिन कहीं भी नहीं मिला है।

हमने चैनल यूआरएल फिक्स और विभिन्न प्रकार के फ़िक्स का उपयोग करने की कोशिश की है, जैसा कि here रूपरेखा है।

हमारी प्रतिक्रिया हेडर पी 3 पी हैडर भेज रहे हैं:

P3P CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT" 

हम इस एकीकरण के async और सिंक संस्करणों का परीक्षण किया, न तो परिणामों में कोई अंतर सामने आए।

हमारे सभी प्रयासों के बावजूद, IE8 पर, FB.getSession() हमेशा एक अपरिभाषित मान देता है। मैंने बहुत सारी जानकारी की समीक्षा की है, हालांकि निराशाजनक रूप से कोई सफलता नहीं मिली है, बग में Facebook पर रिपोर्ट की गई है, जिसे उन्होंने बग के रूप में हल नहीं किया है ... उपयोगकर्ताओं द्वारा इस मुद्दे को जारी करने के बाद लंबे समय तक जारी की गई रिपोर्ट के चलते रिपोर्ट की जारी रिपोर्ट के बावजूद।

आखिरी खाई के प्रयास में मैं यहां जा रहा हूं, और एक परीक्षण एफबी ऐप की एक स्वच्छता के साथ शुरू करता हूं जिसमें एफबी.inआईटी जेएस उदाहरण को छोड़कर कुछ भी शामिल नहीं है, यह दिखाने के लिए कि कुछ कंसोल लॉगिंग के साथ एफबी। GetSession एक यूआईडी मिला है।

आप इस का जवाब दे रहे हैं, तो कृपया मैं पूछ सकता है कि आप IE8 के खिलाफ इस जाँच कर रहे हैं और कंसोल, जो अमेरिकन प्लान सत्र के सफल लोड पर लिखेंगे पर देख रहे हैं

FB: [object Object] FB.getSession().uid: [your fb id] 

http://apps.facebook.com/fb-js-issue

कोड वहाँ इस प्रकार है:

<div id="fb-root"></div> 
<script type="text/javascript"> 

    window.fbAsyncInit = function() { 

     FB.init({ 
      appId: 'appId', 
      status: true, 
      xfbml: true, 
      cookie: true, 
      channelUrl: "http://ourserver.com/channelUrl.htm" 
     }); 
     FB.Canvas.setAutoResize(); 
     console.log("Running FB test"); 

     setTimeout(function() { 
      console.log("FB: " + FB + " FB.getSession().uid: " + FB.getSession().uid); 
     }, 5000); 


    }; 
    (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> 

तो नमूना ऐप ठीक से काम करता है, हालांकि दुर्लभ मामले में भी समस्याएं होती हैं।

हमारी वास्तविक क्षुधा (जो एक ही FB.init विधि का उपयोग करें) लगातार IE पर FB.getSession अपरिभाषित से पीड़ित होते हैं, इस प्रकार लोड करने के लिए

http://apps.facebook.com/party-on

अद्यतन असफल: हमें पता चला है समस्या यह है कि विंडोज एक्सपी या विस्टा पर आईई 8 को अधिक गंभीर रूप से प्रभावित करता है - विंडोज 7 पर आईई 8 कम समस्याग्रस्त प्रतीत होता है (हालांकि 100% नहीं)

इससे पहले कैसे प्राप्त करें?

तो .. यह देखते हुए कि समस्या बहुत आम लगती है और कोई फिक्स स्पष्ट नहीं है, कुछ गंभीर जादू से कम है, जिस पर अभी तक सार्वजनिक रूप से चर्चा नहीं की गई है जो आखिरकार इस मुद्दे को ठीक करेगी, वास्तव में कौन सा निर्देशक अन्य को हाइलाइट करेगा

दिखाए जाने के कारण एफबी.कनेक्ट के साथ एकीकृत करने के संभावित तरीकों का कारण यह है कि जब आप देखते हैं कि सिटीविले और फार्मविले अपने एफबी एकीकरण कैसे करते हैं तो यह एफबी स्वयं डेवलपर दस्तावेज़ के रूप में लेखक के करीब दूरस्थ रूप से कुछ भी नहीं है ..हम्म, दिलचस्प

इस चरण में किसी भी नए विचार और विभिन्न कोणों का बड़े पैमाने पर स्वागत किया जाएगा !!

+0

मैं बस इस पर आया: https://developers.facebook.com/blog/post/503 और यह सोचकर कि क्या यह अनुभव हो सकता है कि समस्याओं का सामना करने के लिए दोषी हो सकता है –

+0

संभावित रूप से अन्य समान समस्याओं से संबंधित है: http://stackoverflow.com/questions/6113212/facebook-connect-login-popup-window-postbacks-with-no-error –

+0

फेसबुक अभी भी इसे एक खुली त्रुटि के रूप में है http://bugs.developers.facebook.net/ show_bug.cgi? id = 16842 –

उत्तर

1

बस एक यादृच्छिक प्रश्न, क्या आप वास्तव में आईई 8 मोड में आईई 8 का उपयोग कर रहे हैं? सावधान रहें, क्योंकि कभी-कभी IE 8 संगतता मोड (आईई 7) पर फ़्लिप करता है और फिर आप मुद्दों के एक नए सेट से निपट रहे हैं। आपके पृष्ठ पर यह कोड आईई को नवीनतम संस्करण में प्रस्तुत करने के लिए मजबूर करता है। इसे पहला मेटा टैग होना चाहिए।

<meta http-equiv="X-UA-Compatible" content="IE=edge" > 

http://msdn.microsoft.com/en-us/library/cc288325(v=vs.85).aspx

+1

यह एक टिप्पणी होने का मतलब नहीं था। इस स्टैक चीज को समझना होगा। – Lucas

1

मैं बॉडी टैग के बाद async लोड जोड़ने

<body> 
<div id="fb-root"></div> 
</body> 
<script> 
window.fbAsyncInit = function() { 
    FB.init({ 
     appId : 'yourAppId', 
     status : true, 
     cookie : true, 
     xfbml : true, 
     frictionlessRequests : true 
    }); 

    FB.Canvas.setAutoGrow(); 
    FB.Event.subscribe('auth.statusChange', yourCode); 
}; 
(function(d){ 
    var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0]; 
    if (d.getElementById(id)) {return;} 
    js = d.createElement('script'); js.id = id; js.async = true; 
    js.src = "//connect.facebook.net/en_US/all.js"; 
    ref.parentNode.insertBefore(js, ref); 
}(document)); 
</script> 
1

अपने पूरे एप्लिकेशन में सभी console.log() कॉल निकालने का प्रयास करें एक ऐसी ही समस्या हल हो।

0

अभी काम करने की कोशिश करने में उम्र बिताई है कि क्यों मेरा फेसबुक ऐप IE8 में काम नहीं कर रहा था लेकिन अन्य ब्राउज़रों में ठीक था। लक्षण थे कि FB.init को ठीक कहा जाता था, लेकिन बाद में कॉल में FB.getLoginStatus (कॉलबैक) कॉलबैक को केवल IE8 (WinXP) में नहीं कहा जा रहा था।

मैंने अंततः आईई 8 से 'Google क्रोम फ्रेम' को अनइंस्टॉल करके इसे ठीक किया। आईई ऐड-ऑन मैनेजर में इसे अक्षम करना पर्याप्त नहीं था, मुझे इसे नियंत्रण कक्ष के माध्यम से पूरी तरह से अनइंस्टॉल करना पड़ा। यह आईई 8 में जीमेल को देखने की इजाजत देने के लिए स्थापित किया गया था, और मेरे में सनकी सोचती है कि अगर एफबी टूट जाती है तो Google शायद ज्यादा ध्यान नहीं रखता है। प्लगइन भी आईबी 8 के जावास्क्रिप्ट डीबगर को एफबी पृष्ठों को लोड करने से रोकने के लिए प्रतीत होता था, जिसने यह काम करने के लिए अतिरिक्त कठिन बना दिया ...

वैसे भी, सोचा कि अगर मैं किसी और के समान हूं तो मैं यहां जानकारी साझा करूंगा मुसीबत।