[Angularjs] एक फ्रेम में प्रदर्शित करने से इंकार कर दिया क्योंकि यह 'एक्स-फ्रेम-विकल्प' को 'सैमोरिजिन' पर सेट करता है


Answers

इस एसओ पोस्ट की मदद से इस पर अधिक समय बिताने के बाद ठीक है

"एक्स-फ़्रेम-विकल्प द्वारा प्रतिबंधित प्रदर्शन" पर काबू पाने

मैं Google यूआरएल पर पोस्ट करने से पहले यूआरएल के अंत में जोड़ने &output=embed करके इस मुद्दे को हल करने में कामयाब रहा:

var url = data.url + "&output=embed";
window.location.replace(url);
Question

मैं ऐसी वेबसाइट विकसित कर रहा हूं जिसे उत्तरदायी माना जाता है ताकि लोग इसे अपने फोन से एक्सेस कर सकें। साइट पर कुछ सुरक्षित भाग हैं जिन्हें Google, Facebook, ... आदि (OAuth) का उपयोग करके लॉग इन किया जा सकता है।

सर्वर बैकएंड एएसपी.Net वेब एपीआई 2 का उपयोग करके विकसित किया गया है और फ्रंट एंड मुख्य रूप से एंगुलरजेएस कुछ रेजर के साथ है।

प्रमाणीकरण भाग के लिए, एंड्रॉइड समेत सभी ब्राउज़रों में सब ठीक काम कर रहा है लेकिन Google प्रमाणीकरण आईफोन पर काम नहीं कर रहा है और यह मुझे यह त्रुटि संदेश देता है

Refused to display 'https://accounts.google.com/o/openid2/auth
?openid.ns=http://specs.openid.ne…tp://axschema.org/namePerson
/last&openid.ax.required=email,name,first,last'
in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'.

अब तक मुझे चिंतित है कि मैं अपनी एचटीएमएल फाइलों में किसी भी आईफ्रेम का उपयोग नहीं करता हूं।

मैं चारों ओर घूम गया, लेकिन इस मुद्दे को ठीक करने के लिए मुझे कोई जवाब नहीं मिला।




एक ऐसा समाधान है जो मेरे लिए काम करता है, माता-पिता का जिक्र करता है। यूआरएल प्राप्त करने के बाद जो Google प्रमाणीकरण पृष्ठ पर रीडायरेक्ट करेगा, आप निम्न कोड आज़मा सकते हैं:

var loc = redirect_location;      
window.parent.location.replace(loc);



यूट्यूब वीडियो को अपने कोणीय पृष्ठ में एम्बेड करने के लिए, आप बस अपने वीडियो के लिए निम्नलिखित फ़िल्टर का उपयोग कर सकते हैं

app.filter('scrurl', function($sce) {
    return function(text) {
        text = text.replace("watch?v=", "embed/");
        return $sce.trustAsResourceUrl(text);
    };
});
<iframe class="ytplayer" type="text/html" width="100%" height="360" src="{{youtube_url | scrurl}}" frameborder="0"></iframe>




मेरे लिए फिक्स console.developer.google.com में जाना था और एप्लिकेशन डोमेन को OAuth 2 प्रमाण-पत्रों के "जावास्क्रिप्ट उत्पत्ति" अनुभाग में जोड़ना था।




उपयोग करने का प्रयास करें

https://www.youtube.com/embed/YOUR_VIDEO_CODE

आप 'एम्बेडेड कोड' अनुभाग में सभी एम्बेड किए गए कोड पा सकते हैं और ऐसा लगता है

<iframe width="560" height="315"  src="https://www.youtube.com/embed/YOUR_VIDEO_CODE" frameborder="0" allowfullscreen></iframe>



Links