मैं jQuery facebox उपयोग कर रहा हूँ मेरी रेल अनुप्रयोग में Devise/Omniauth साथ फेसबुक उपयोगकर्ताओं के सत्यापन के लिए एक नई विंडो खोलने के लिए एक iframe लोड हो रहा है।दिखाएँ स्पिनर जबकि एक facebox
सबसे पहले मैं बस इतना की तरह एक div में यह लोड करने के लिए चाहता था:
$('#facebook-auth').live 'click', ->
$.facebox '<div id="foo"></div>'
$('#foo').load $(this).attr 'href'
false
लेकिन समस्या यह है कि इसे एक से अधिक रीडायरेक्ट नहीं है क्योंकि काम नहीं करेगा है। पहली कड़ी /auth/facebook
खोलता है, जो graph.facebook.com
ले जाती है, जो मेरे कॉलबैक यूआरएल है, जो अंत में एक पुष्टिकरण पृष्ठ पर रीडायरेक्ट करने के लिए वापस पुनर्निर्देश। मुझे उपयोगकर्ता को पुष्टिकरण पृष्ठ प्रदर्शित करने की आवश्यकता है।
$('#facebook-auth').live 'click', ->
width = 600
height = 400
left = (screen.width/2) - (width/2)
top = (screen.height/2) - (height/2)
window.open $(this).attr('href'), 'authPopup', "menubar=no,toolbar=no,status=no,width=#{width},height=#{height},toolbar=no,left=#{left},top=#{top}"
false
वहाँ मेरे लिए एक तरह से एक नई विंडो खोलने और facebox में इसकी सामग्री लोड करने के लिए है: जिस तरह से मैं यह अभी काम इस तरह एक बाहरी खिड़की खोलने से है? या क्या एक बेहतर दृष्टिकोण है?
संपादित
जारेड के सुझाव के लिए धन्यवाद मैं here से एक iFrame आधुनिक का उपयोग कर ऐसा करने में सक्षम था। this jsFiddle देखें। हालांकि अगर आईफ्रेम सामग्री लोड हो रही है तो मैं लोडिंग स्पिनर दिखाना चाहता हूं। क्या यह संभव है? प्रलेखन के अनुसार, जिस तरह से यह सामान्य रूप से करने के लिए इस तरह है:
$(".badge").live "click", ->
$.facebox ->
$.get "page.html", (data) ->
$.facebox data
false
लेकिन मैं कैसे iframe आधुनिक के साथ ऐसा करना यकीन नहीं है।
आप Facebox मेरा मानना है कि में IFRAME का उपयोग कर सकते हैं। –
धन्यवाद जिसने मदद की। – CodeWombat
आप पुष्टि पृष्ठ नियंत्रित करते हैं? – invertedSpear