दिलचस्प पोस्ट
सोनाटा एडमिन फॉर्म में अजाक्स का उपयोग कैसे करें? परिवर्तन ईवेंट पर रेडियो का उपयोग कैसे करें? कैसे चेतावनी बॉक्स की शैली को बदलने के लिए फ़ंक्शन परिभाषित करने के लिए "def" और "val" के बीच का क्या अंतर है JQuery के मूल (), माता-पिता () और निकटतम () फ़ंक्शंस के बीच अंतर जावास्क्रिप्ट एचएसबी / एचएसवी रंग को आरजीबी में सही रूप में परिवर्तित करते हैं जावास्क्रिप्ट के लिए एक दशमलव गणित पुस्तकालय है? गैरकानूनीस्टेट अपवाद जब एक टुकड़ा की जगह आर में फ़्रिक्वेंसी की संख्या "PHP घातक त्रुटि: क्लास 'एचटीपीआरएक्वेस्ट' नहीं मिला" किसी संख्या के सभी विभाजक पाने का सबसे अच्छा तरीका क्या है? Android TabWidget पता वर्तमान टैब पर क्लिक करें पूंछ पुनर्कलन क्या है? ClassLoader.getResources () सही तरीके से कैसे उपयोग करें? आईपी ​​पते से स्थान प्राप्त करना

Iframe में google.com कैसे दिखाना है?

मैं अपनी वेबसाइट पर एक आईफ्रेम में google.com डालने का प्रयास कर रहा हूं, यह अन्य कई वेबसाइट्स के साथ काम करता है, जिसमें याहू भी शामिल है। लेकिन यह Google के साथ काम नहीं करता क्योंकि यह सिर्फ एक रिक्त iframe दिखाता है। यह रेंडर क्यों नहीं करता? क्या ऐसा करने के लिए कोई चाल है?

मैंने इसे एक आइफ्रेम में एक वेबसाइट दिखाने के लिए एक सामान्य तरीके से कोशिश की है:

<iframe name="I1" id="if1" width="100%" height="254" style="visibility:visible" src="http://www.google.com"></iframe> 

Google.com पेज iframe में रेंडर नहीं करता है, यह केवल रिक्त है क्या हो रहा है?

वेब के समाधान से एकत्रित समाधान "Iframe में google.com कैसे दिखाना है?"

इसका कारण यह है कि Google "एक्स-फ़्रेम-विकल्प: एसएएमओआरआईजीएन" रिस्पांस हेडर भेज रहा है। यह विकल्प ब्राउज़र को आईफ्रेम प्रदर्शित करने से रोकता है, जो माता-पिता पृष्ठ के समान डोमेन पर होस्ट नहीं किए गए हैं।

देखें: मोज़िला डेवलपर नेटवर्क – एक्स-फ़्रेम-विकल्प प्रतिसाद हैडर

यह असम्भव नहीं है।
भिन्न-मूल-समस्या को संभालने के लिए एक रिवर्स प्रॉक्सी सर्वर का उपयोग करें। मैं पृष्ठ के यूआरएल को बदलने के लिए proxy_pass साथ proxy_pass का इस्तेमाल करता था। आप एक कोशिश कर सकते हैं

एक अन्य तरीका है एक साधारण प्रॉक्सी पेज को अपने द्वारा सर्वर पर चलाता है, बस Google से अनुरोध करता है और परिणाम को क्लाइंट से आउटपुट करता है

जैसा कि इसे यहां उल्लिखित किया गया है, क्योंकि Google "एक्स-फ़्रेम-विकल्प: SAMEORIGIN" रिस्पॉन्स हेडर भेज रहा है, आप केवल आईआरएम में " http://www.google.com " के स्रोत को सेट नहीं कर सकते हैं।

अगर आप एक आइफ्रेम में Google को एम्बेड करना चाहते हैं तो आप उपरोक्त किसी टिप्पणी में सुझाए गए sudopeople क्या कर सकते हैं और निम्नलिखित जैसे Google कस्टम खोज लिंक का उपयोग कर सकते हैं यह मेरे लिए बहुत अच्छा काम करता है (खाली खोज के साथ शुरू करने के लिए 'q =' रिक्त)।

 <iframe id="if1" width="100%" height="254" style="visibility:visible" src="http://www.google.com/custom?q=&btnG=Search"></iframe> 

संपादित करें:

यह उत्तर अब काम नहीं करता है जानकारी के लिए, और Google कस्टम खोज तत्व के साथ iframe खोज को कैसे प्रतिस्थापित करने के निर्देश देखें : https://support.google.com/customsearch/answer/2641279

आप एक्स-फ़्रेम-विकल्प को YQL का उपयोग करके बाईपास कर सकते हैं।

 var iframe = document.getElementsByTagName('iframe')[0]; var url = iframe.src; var getData = function (data) { if (data && data.query && data.query.results && data.query.results.resources && data.query.results.resources.content && data.query.results.resources.status == 200) loadHTML(data.query.results.resources.content); else if (data && data.error && data.error.description) loadHTML(data.error.description); else loadHTML('Error: Cannot load ' + url); }; var loadURL = function (src) { url = src; var script = document.createElement('script'); script.src = 'http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20data.headers%20where%20url%3D%22' + encodeURIComponent(url) + '%22&format=json&diagnostics=true&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback=getData'; document.body.appendChild(script); }; var loadHTML = function (html) { iframe.src = 'about:blank'; iframe.contentWindow.document.open(); iframe.contentWindow.document.write(html.replace(/<head>/i, '<head><base href="' + url + '"><scr' + 'ipt>document.addEventListener("click", function(e) { if(e.target && e.target.nodeName == "A") { e.preventDefault(); parent.loadURL(e.target.href); } });</scr' + 'ipt>')); iframe.contentWindow.document.close(); } loadURL(iframe.src); 
 <iframe src="http://www.google.co.in" width="500" height="300"></iframe> 

इसे यहाँ भागो

http://jsfiddle.net/2gou4yen/

कोड यहाँ से: मैं एक्स-फ़्रेम-विकल्प कैसे बाईपास कर सकता हूं: एसएएमओआरआईआईजीआईआईआईआई HTTP हेडर?

</iframe> जोड़ें – आप समापन टैग भूल गए

यह आदर्श नहीं है लेकिन आप एक प्रॉक्सी सर्वर का उपयोग कर सकते हैं और यह ठीक काम करता है। उदाहरण के लिए, hidemyass.com पर जाएं http://www.google.com में डालें और लिंक को एक आइफ्रेम में डाल दिया और यह काम करता है!

यह काम करने के लिए प्रयोग किया जाता है क्योंकि मैंने इसे अपने स्वयं के विकल्पों के साथ कस्टम Google खोज बनाने के लिए उपयोग किया था Google ने अपने अंत में परिवर्तन किए और मेरे निजी अनुकूलित खोज पृष्ठ को तोड़ दिया 🙁 अब नीचे काम करने वाला नमूना नहीं। यह जटिल खोज पैटर्न के लिए बहुत उपयोगी था

 <form method="get" action="http://www.google.com/search" target="main"><input name="q" value="" type="hidden"> <input name="q" size="40" maxlength="2000" value="" type="text"> 

वेब

मुझे लगता है कि बेहतर विकल्प केवल कर्ल या इसी तरह का उपयोग करना है।