दिलचस्प पोस्ट
JQuery लाइव विधि में क्या गलत है? क्रॉस ब्राउज़र जावास्क्रिप्ट (नहीं jQuery …) शीर्ष एनीमेशन पर स्क्रॉल करें पीएचपी का उपयोग करते हुए किसी पाठ फ़ाइल में एक विशेष पंक्ति को कैसे बदलना है? पारदर्शी तुलनित्र क्या हैं? मैं एक निश्चित पंक्ति से मैट्रिक्स के प्रत्येक पंक्ति को कैसे विभाजित कर सकता / सकती हूं? Gitmodules में Git submodules आरंभ नहीं किए गए क्या यह * वास्तव में जावा कोड से दूसरा जेवीएम शुरू करने का सबसे अच्छा तरीका है? जीएनयू / लिनक्स पर एक सबवर्जन (एसवीएन) सर्वर कैसे सेट करें – उबंटू कोणीय फ़िल्टर ऑब्जेक्ट कुंजी पर बिल्कुल WCF में कस्टम साबुन शीर्षलेख कैसे जोड़ें? क्लास में 'स्टैटिक' कीवर्ड क्या करता है? दो या अधिक iPhone अनुप्रयोगों के बीच डेटा साझा करें UITableview करने के लिए फिक्स्ड हैडर? घोंसले के शिकार को कम करने के लिए "यदि" कथन का उल्टा करें जैस्मीन में JQuery चयनकर्ताओं पर जासूसी

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 में रेंडर नहीं करता है, यह केवल रिक्त है क्या हो रहा है?

Solutions Collecting From Web of "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"> 

वेब

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