/ / फेसबुक एपीआई, iFrame में कैनवस ऐप, जावास्क्रिप्ट एपीआई, IE8 में टूटी हुई? - एपीआई, फेसबुक, आईफ्रेम, कैनवास

Facebook API, iFrame में कैनवस ऐप, जावास्क्रिप्ट एपीआई, IE8 में टूटा हुआ? - एपीआई, फेसबुक, आईफ्रेम, कैनवास

मैंने इसके लिए एफबी मंचों में मदद की कोशिश की, लेकिन वे वास्तव में वहाँ बहुत मदद नहीं कर रहे हैं।

मेरा ऐप एक iframe ऐप के रूप में सेट है, लेकिन वहीव्यवहार तब होता है जब ऐप को एक fbml ऐप के रूप में सेट किया जाता है और नीचे का पेज एक fb: iframe के माध्यम से लोड होता है। उन्नत सेटिंग का उपयोग किए जाने के बावजूद समान व्यवहार मौजूद है। एक ही व्यवहार एक साधारण FB.init (नीचे देखा गया) या इसके लिए एक async कॉल के साथ मौजूद है।

मेरी साइट का URL ठीक से सेट है http://foo.mysitenamehere.foo/ जो इस फ़ाइल का स्थान है।

यह तो संपूर्णता मेरे एप्लिकेशन का अभी: कोड:

<html>
<head>
<script src="http://connect.facebook.net/en_US/all.js"></script>
</head>
<body>
<div id="fb-root"></div>
<script type="text/javascript">
FB.init({
appId  : "127717367239744",
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml  : true  // parse XFBML
});

alert("FB: " + FB + " FB.getSession(): " + FB.getSession());
FB.getLoginStatus(function(response) {
if (response.session) {
alert("1");
} else {
alert("2");
}
});
</script>
</body>
</html>

यहाँ क्या होता है:

काम करने वाले भाइयों में BEHAVIOR (फ़ायरफ़ॉक्स, क्रोम, सफारी पीसी और मैक, के कुछ उपयोगकर्ताअर्थात) पहले सत्र का अलर्ट और अलर्ट "1" इन सभी ब्राउज़रों में दिखाई देता है। अगर मैं IE (जब यह काम करता है, IE सहित), हर काम करने वाले ब्राउज़र में अनुरोधों की जांच करता है, तो login_status.php का अनुरोध एक लंबा GET अनुरोध है।

बीजिंग में BEHAVIOR IE पहला सत्र चेतावनी दिखाता है कि सत्र हैअशक्त / अपरिभाषित। अनुरोधों को देखते हुए login_status.php GET अनुरोध के बजाय एक POST है। POST का यह अनुरोध आमतौर पर 4000 वर्णों से अधिक लंबा होता है। यह अनुरोध सभी से उत्पन्न होता है।

login_status.php इसे लौटा रहा है: कोड:

HTTP/1.1 200 OK
Content-Type: text/plain;charset=utf-8
X-Cnection: close
Date: Fri, 27 Aug 2010 20:50:40 GMT
Content-Length: 22

Invalid Application ID

जाहिर है कि मेरी ऐप आईडी वैध है (अन्य 4 काम करने वाले ब्राउज़र देखें), बल्कि POST अनुरोध mangled है या login_status.php द्वारा स्वीकार नहीं किया गया है, इसलिए प्रतिक्रिया विफल हो जाती है और आईई में ऐप टूट जाता है।

यह बहुत ही चिंताजनक मुद्दा है।मेरे ऐप को अधिक सरल उदाहरण से नहीं हटाया जा सकता है, और फिर भी यह काम नहीं कर रहा है। क्या प्रत्येक कैनवास iframe ऐप IE में इस व्यवहार को प्रदर्शित कर रहा है? यदि नहीं, तो मैं जो कर रहा हूं, उसके बारे में पृथ्वी पर क्या अलग है?

किसी भी सलाह के लिए अग्रिम धन्यवाद।

उत्तर:

उत्तर № 1 के लिए 1

यह मेरे लिए तब तक तोड़ा गया जब तक कि मैंने उन्नत सेटिंग्स में से एक को नहीं बदल दिया। अपने पर जाओ अग्रिम सेटिंग टैब और "कैनवास के लिए POST" विकल्प को सक्षम करें। इससे अन्य समस्याएं हुईं लेकिन आप जो समस्या कर रहे थे, मैं उस समस्या को हल करने में सक्षम था।


जवाब के लिए 0 № 2

आपके पास फ़्लैश स्थापित नहीं हो सकता है।जाहिर तौर पर फेसबुक एपीआई को आईई के कुछ संस्करणों के लिए फ्लैश की आवश्यकता होती है। अपने परीक्षण में मैंने पाया कि यह सच है, उसी त्रुटि संदेश को वापस करना जो आप देख रहे हैं: "अमान्य एप्लिकेशन आईडी"।

आगे पढ़ना:

फेसबुक कनेक्ट एकीकरण: यह फ्लैश की आवश्यकता है?

http://forum.developers.facebook.net/viewtopic.php?id=75095 (पिछले कुछ पोस्ट)