2013-06-02 16 views
31

वेबसाइट मैं पर काम कर रहा हूँ एक फेसबुक लॉगिन विकल्प है, लेकिन हाल ही में एक उपयोगकर्ता यह उनके लिए काम कर रहा था की सूचना दी।फेसबुक लॉग इन एपीआई HTTPS मुद्दा

Blocked a frame with origin "https://www.facebook.com" from accessing a frame 
with origin "http://static.ak.facebook.com". The frame requesting access has 
a protocol of "https", the frame being accessed has a protocol of "http". 
Protocols must match. 

वहाँ एक विकल्प मैं एपीआई कि यह वही प्रोटोकॉल पर काम करने के लिए मिल जाएगा करने के लिए फ़ीड कर सकते हैं: मैं अपने एक्सटेंशन आदि, मैं अपने कंसोल में यह त्रुटि आई अक्षम? एफवाईआई, प्राथमिक वेबसाइट HTTP (कोई एस) पर चलती है।

यह विशेष रूप से अजीब है क्योंकि ऐसा लगता है जैसे कि यह अचानक काम करना बंद कर (लेकिन यह संभव है यह हमेशा एक समस्या थी के रूप में मैं नया हूँ और इस प्रणाली सीख रहा हूँ)।

<div id="fb-root"></div> 
<script> 
    window.fbAsyncInit = function() { 
     FB.init({ 
      appId : ..., // App ID 
      status : true, // check login status 
      cookie : true, // enable cookies to allow the server to access the session 
      xfbml : true, // parse XFBML 
      channel: '//...mychannel.../channel' 
     }); 

     FB.Event.subscribe('auth.authResponseChange', function(fbResponse) { 
      // function that logs in user 
     }); 
    }; 

    // Load the SDK Asynchronously 
    (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> 
+5

मैं भी इस पर एक जवाब की जाँच करते रहें। ऐसा लगता है कि हाल ही में क्रोम/सफारी सुरक्षा अद्यतन ने सभी फेसबुक इंटरैक्शन को मार दिया है जब इसमें एक अलग विंडो में एक मोडल खोलना शामिल है। प्रोटोकॉल मिस्चैच त्रुटि (उपरोक्त) विशेष रूप से निराशाजनक है क्योंकि डेवलपर का उपयोग प्रोटोकॉल पर कोई नियंत्रण नहीं है। –

+0

हम्म ... मैंने फ़ायरफ़ॉक्स में चेक किया जो काम नहीं करता है, लेकिन यह रिपोर्ट करता है कि "[16: 51: 47.802] उत्परिवर्तन घटनाओं का उपयोग बहिष्कृत किया गया है। इसके बजाय उत्परिवर्तन ऑब्सर्वर का उपयोग करें। @ Https: //fbstatic-a.akamaihd। net/rsrc.php/v2/y4/r/dePwLAaASOW.js: 59 " – SapphireSun

+0

क्या आपने वहां सेट की गई एफबी सेटिंग्स की जांच की है? – Farnsbert

उत्तर

-3

क्या इसके लायक है के लिए, मैं HTTPS को बदलने (जो होना चाहिए कि मैं वैसे भी कर रहे हैं) द्वारा इस समस्या को हल करने में कामयाब रहे।

6

आप जावास्क्रिप्ट एसडीके async लोड हो रहा है नहीं कर रहे हैं, तो आप इस त्रुटि एक बहुत देख सकते हैं:

मैं अपने पृष्ठ के पैर में इस कोड है।

देखें: अगर आप iframe कोड के माध्यम से किसी भी फेसबुक प्लग इन का उपयोग कर रहे हैं, इसके अलावा में https://developers.facebook.com/docs/javascript/quickstart

, सुनिश्चित करें कि src यूआरएल प्रोटोकॉल से मेल खाता हो।

<div id="fb-root"></div> 
<script> 
    window.fbAsyncInit = function() { 
    // init the FB JS SDK 
    FB.init({ 
     appId  : 'YOUR_APP_ID',      // App ID from the app dashboard 
     channelUrl : '//WWW.YOUR_DOMAIN.COM/channel.html', // Channel file for x-domain comms 
     status  : true,         // Check Facebook Login status 
     xfbml  : true         // Look for social plugins on the page 
    }); 

    // Additional initialization code such as adding Event Listeners goes here 
    }; 

    // Load the SDK asynchronously 
    (function(d, s, id){ 
    var js, fjs = d.getElementsByTagName(s)[0]; 
    if (d.getElementById(id)) {return;} 
    js = d.createElement(s); js.id = id; 
    js.src = "//connect.facebook.net/en_US/all.js"; 
    fjs.parentNode.insertBefore(js, fjs); 
    }(document, 'script', 'facebook-jssdk')); 
</script> 
+0

मैं फेसबुक लॉगिन के लिए एक पॉपअप अलग विंडो का उपयोग कर रहा हूँ। मुझे नहीं पता कि क्या प्लगइन के रूप में गिना जाता है। मुझे पता है कि एसडीके कोड द्वारा एम्बेडेड कई आईफ्रेम हैं। इसके लायक होने के लिए, इस कोड (प्रासंगिक भागों के साथ अनुकूलित) मेरे आवेदन के पैर पर मौजूद है। – SapphireSun

+1

क्षमा करें नीलमणि, आपका कोड देखने के साथ और सब कुछ कैसे लगाया गया है, मैं आपको असिस्ट संस्करण के लिए अपने जेएस एसडीके का आदान-प्रदान करने के निर्देश देने के अलावा आपको और अधिक मदद नहीं कर सकता। –

+1

मैंने कोड को मेरे पृष्ठ के पैर पर शीर्ष पर दिए गए प्रश्न में जोड़ा। – SapphireSun

1

मैं इस समस्या के साथ किया गया है ...
मेरी समाधान:

try{setTimeout(FB.XFBML.parse);}catch(e){} 
:
स्थैतिक पृष्ठ को अपने फेसबुक कॉल के लिए कदम ...

(function(d, s, id) { 
var js, fjs = d.getElementsByTagName(s)[0]; 
if (d.getElementById(id)) 
return; 
js = d.createElement(s); 
js.id = id; 
js.src = "//connect.facebook.net/pt_BR/all.js#xfbml=1&appId=IDDDD"; 
fjs.parentNode.insertBefore(js, fjs); 
}(document, 'script', 'facebook-jssdk')); 

एक ajax कॉलबैक सेट

खुश :)

जे प्रश्न उदाहरण:

$(document).ajaxComplete(function(){ 
      try{ 
       setTimeout(FB.XFBML.parse); 
      }catch(ex){} 
     }); 
3

मेरे विकास पर्यावरण पर भी यही समस्या थी। हल करने के लिए कदम (सुनिश्चित नहीं है कि यह किसने किया था):

  1. एप्लिकेशन से लॉग आउट करें।
  2. ब्राउज़र से सभी कुकीज़ हटाएं। इच्छित उपयोगकर्ता के रूप में (डेवलपर पृष्ठ के लिए नहीं है, लेकिन उपयोगकर्ता एप्लिकेशन अनुमतियां पृष्ठ पर) अमेरिकन प्लान में
  3. प्रवेश करें।
  4. एफबी अनुमति पृष्ठ से ऐप अनुमति हटाएं।
  5. एफबी से लॉग आउट करें।
  6. एप्लिकेशन लोड करें और लॉग इन करने का प्रयास करें।

मैं इस तरह के एक वूडू जवाब में उत्तर होगा नहीं किया है जब तक कि मैं इस पर कुछ घंटे खर्च किया था, और मुझे इससे बाहर पाने के लिए जादू टोना किसी भी प्रकार का मूल्य होता है ।

+0

। वह मेरा मुद्दा था। परीक्षण करने में आसान - ब्राउज़र को गुप्त/निजी मोड में लोड करें। यदि त्रुटियां दूर हो जाती हैं तो ऐसा लगता है कि कुकी/सत्र समस्या इंगित होती है। – cyberwombat

संबंधित मुद्दे