কিভাবে একটি গুগল ডটকম একটি ইফ্রেমে প্রদর্শিত হবে?


121

আমি গুগল.কমকে আমার ওয়েবসাইটে আইফ্রেমে রাখার চেষ্টা করছি, এটি ইয়াহু সহ আরও অনেক ওয়েবসাইটের সাথে কাজ করে। এটি গুগলের সাথে কাজ করে না কারণ এটি কেবল একটি ফাঁকা ইফ্রেমে দেখায়। কেন এটি রেন্ডার হয় না? এটা করার জন্য কোন কৌশল আছে?

আমি ইফ্রেমে কোনও ওয়েবসাইট দেখানোর জন্য এটি একটি সাধারণ উপায়ে চেষ্টা করেছি:

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

গুগল ডটকম পৃষ্ঠাটি ইফ্রেমে রেন্ডার করে না, এটি কেবল ফাঁকা। কি হচ্ছে?


আপনার কেন গুগলকে ইফ্রেমে দেখাতে হবে?
পল অ্যালান টেলর

আমাকে উদ্ধৃত করবেন না, তবে গুগল কিছু window.propertyবা এমন কিছু ব্যবহার করে যা কোনও আইফ্রেমের অভ্যন্তরে ডিসপ্লেটির কিছু অংশ ভেঙে দেয়?
বেনামে

আপনি যদি গুগল অনুসন্ধান বারটি চান তবে এই লিঙ্কটি দেখুন: google.com/webements/#!/custom-search
এমপিগ্রা

@ পলআলানটেলর এটি আমার ক্লায়েন্টের প্রয়োজনীয়তা ছিল, বলা হয়েছিল যে তিনি নিজের ওয়েবসাইটের গুগল ফলাফলটি কোনও আইফ্রেমে ব্যবহার করতে চান।
বালা

11
কেবল এটি করুন:<iframe src="https://www.google.com/webhp?igu=1"></iframe>
নিিউটেক

উত্তর:


117

এর কারণটি হ'ল, গুগল একটি "এক্স-ফ্রেম-বিকল্পগুলি: সামোরজিগিন" প্রতিক্রিয়া শিরোনাম প্রেরণ করছে। এই বিকল্পটি ব্রাউজারকে আইফ্রেমগুলি প্রদর্শন করতে বাধা দেয় যা মূল পৃষ্ঠার মতো একই ডোমেনে হোস্ট করা হয় না।

দেখুন: মজিলা বিকাশকারী নেটওয়ার্ক - এক্স-ফ্রেম-বিকল্পগুলির প্রতিক্রিয়া শিরোনাম


18
আমি মনে করি এটি বেশ অকেজো। যদি কেউ এই বৈশিষ্ট্যটি ব্যবহার করার কোনও কারণ সম্পর্কে ভাবতে পারেন তবে তা নির্দ্বিধায় আমাকে বলুন।
বেনামে 12

15
@ জনহান্না কেবল কোনও কিছুর জন্য গুগলে যোগাযোগ করেন না।
আলবার্ট

23
আপনি এই URL টি একটি iframe: google.com/search?igu=1
niutech

1
অথবা আপনি আমার এক্স-ফ্রেম-বাইপাস ওয়েব উপাদান ব্যবহার করতে পারেন ।
নিউতেচ

4
@niutech অবিশ্বাস্যভাবে, আপনার URL টি? igu = 1 পরামিতি সহ কাজ করে। কোন ধারণা কেন? এই বিকল্পের পিছনে মূল উদ্দেশ্য কী? মজার বিষয় হচ্ছে এটি আমার লগ ইন না করে প্রদর্শিত হিসাবে দেখায়, তবে অনুসন্ধান ক্ষেত্রটি এখনও আমার আসল historicalতিহাসিক কিছু অনুসন্ধানের পরামর্শ দেয়। সুতরাং আমি "ধরণের" লগ ইন করেছি Very খুব আশ্চর্য।
মার্ক থমসন

28

এটি অসম্ভব নয়।
ভিন্ন-উত্স-সমস্যাটি পরিচালনা করতে একটি বিপরীত প্রক্সি সার্ভার ব্যবহার করুন। আমি সাথে Nginx ব্যবহার করতে অভ্যস্তproxy_passপৃষ্ঠার ইউআরএল পরিবর্তন । আপনি চেষ্টা করতে পারেন

অন্য উপায়টি হ'ল একটি সরল প্রক্সি পৃষ্ঠা নিজের দ্বারা সার্ভারে চালিত হয়, কেবল গুগলের কাছ থেকে অনুরোধ করে ক্লায়েন্টকে ফলাফল আউটপুট দেয়।


8
গুগল তাদের স্ট্যান্ডার্ড অনুসন্ধান ইউআরএল কার্লিং করার জন্য আমার সহজ প্রচেষ্টা অবরুদ্ধ করেছে। :( আমি "গুগল কাস্টম" ব্যবহার করে শেষ করেছি যা বিভিন্ন এক্স-ফ্রেম-বিকল্পগুলি প্রেরণ করে
জোয়েল মেলন

7
এনগিনেক্সের সাহায্যে এই সমস্যাটি কীভাবে সমাধান করা যায় তার একটি টিউটোরিয়াল আছে?
কালো

21

এটি এখানে রূপরেখা হিসাবে বর্ণনা করা হয়েছে, কারণ গুগল একটি "এক্স-ফ্রেম-বিকল্পগুলি: সামোরজিগিন" প্রতিক্রিয়া শিরোনাম প্রেরণ করছে আপনি কেবল একটি আইফ্রেমে src " http://www.google.com " এ সেট করতে পারবেন না ।

আপনি যদি গুগলকে কোনও আইফ্রেমে এম্বেড করতে চান তবে উপরের মন্তব্যে সুডোপোয়েলরা যা করতে পারেন তা করতে পারেন এবং নীচের মত একটি গুগল কাস্টম অনুসন্ধান লিঙ্ক ব্যবহার করতে পারেন। এটি আমার জন্য দুর্দান্ত কাজ করেছে (ফাঁকা অনুসন্ধানের সাথে শুরু করতে 'বাম' কিউ = 'ফাঁকা)।

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

সম্পাদনা করুন:

এই উত্তর আর কাজ করে না। কোনও গুগল কাস্টম অনুসন্ধান উপাদানটির সাথে আইফ্রেমে অনুসন্ধান প্রতিস্থাপনের জন্য তথ্যের জন্য এবং নির্দেশাবলীর জন্য: https://support.google.com/customsearch/answer/2641279


থেক্স স্কটিজি! চিত্রের ফলাফল যুক্ত করার জন্য কোনও বিকল্প নেই?
Krzysztof Przygoda

আরে ক্রিজিসটোফ প্রিজিগোদা আমার মনে হয় আপনি কোনও এসআরসি-এর সাহায্যে কোনও চিত্র অনুসন্ধানকে জোর করতে পারেন: http://www.google.com/search?site=imghp&tbm=isch&q='searchstring'তবে কারণ এটি অনুসন্ধান ব্যবহার করে? এবং কাস্টম না? আপনি এটি কোনও আইফ্রেমে ব্যবহার করতে পারবেন না
স্কটিটিজি

1
@ স্কটিটিজি কি উপরের কৌশলটি এখনও কার্যকর? আমি সেই লাইনটি ফাঁকা পৃষ্ঠায় ফেলে দেওয়ার চেষ্টা করেছি এবং আমি একটি ফাঁকা ইফ্রেমে পেয়েছি, এমনকি যখন আমি কোনও জিজ্ঞাসা করি
Andres

2
হাই অ্যান্ড্রেস, দেখে মনে হচ্ছে আপনি ঠিক আছেন আমার পক্ষে এটি কাজ করতে আর পারছি না। কাস্টম অনুসন্ধান লিঙ্কটি এখন google.ca/webhp?btnG=&gws_rd=ssl এ পুনঃনির্দেশ করে যা এসএসএলকে বাধ্য করে এবং এখন যদি একটি আইফ্রেমে অবরুদ্ধ বলে মনে হয়। আমি এটি তদন্ত চালিয়ে যাব তবে মনে হচ্ছে এটি সম্ভবত পার্টির শেষ হতে পারে ... :(
স্কটিটিজি

8

আপনি কোনও YYQL ব্যবহার করে এক্স-ফ্রেম-বিকল্পগুলি বাইপাস করতে পারেন।

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 = 'https://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 শিরোনাম?


3
এটি কাজ করছে তবে প্রথমবারের মতো নয়। আমি আমার ওয়েবপৃষ্ঠাটি খুলি যদি আমি এমবেড করে রেখেছি, পৃষ্ঠাটি লোড করার জন্য আমাকে রিফ্রেশটি হিট করতে হবে। তারপরে ভালো হবে।
বিবেক সিনহা

@ TV-C-15 এটি আপনার সাথে প্রতিস্থাপন http://query.yahooapis.comকরার সময় কার্যকর হয় https://query.yahooapis.com
নিিউটেক

কোডেপেন [ codepen.io/anon/pen/Xyqqvb] এও পরীক্ষিত এবং এটি ফায়ারফক্স, ক্রোম, অপেরাতে প্রান্তিকভাবে কাজ করা (যদিও কিছুক্ষণ রিফ্রেশ করা দরকার) তবে কিন্ত আমি স্থানীয়ভাবে কপি করি না এবং আমি ব্রাউজারে খুলি তবে এটি অবিরত থাকবে পৃষ্ঠাটি পুনরায় লোড করুন ... পুরো স্ক্রিপ্টে এখানে: [ ফাইল.এফএম / ইউ / আরজার্বি 2h4]
জো

1
কাজ করছে না. আইফ্রেমে গুগল খোলার আর কোন উপায় নেই?
কৃষ্ণ

3

গুগল সিএসই ব্যবহার করে আপনি সমাধান করতে পারেন (কাস্টম অনুসন্ধান ইঞ্জিন) , যা সহজেই একটি আইফ্রেমে .োকানো যেতে পারে। আপনি নিজের অনুসন্ধান ইঞ্জিন তৈরি করতে পারেন, সেই নির্বাচিত সাইটগুলি অনুসন্ধান করতে পারেন বা পুরো গুগলের ডেটাবেসেও।

গুগল স্টাইলের মতো আপনার পছন্দ অনুসারে ফলাফলও স্টাইল করা যেতে পারে। গুগল সিএসই ওয়েব এবং চিত্র অনুসন্ধানে কাজ করে।

google.php

<script>
  (function() {
    var cx = 'xxxxxxxxxxxxxxxxxxxxxx';
    var gcse = document.createElement('script');
    gcse.type = 'text/javascript';
    gcse.async = true;
    gcse.src = 'https://cse.google.com/cse.js?cx=' + cx;
    var s = document.getElementsByTagName('script')[0];
    s.parentNode.insertBefore(gcse, s);
  })();
</script>
<gcse:searchresults-only></gcse:searchresults-only>

yourpage.php

<iframe src="google.php?q=<?php echo urlencode('your query'); ?>"></iframe>

2

এটি কাজ করত কারণ আমি এটি নিজের বিকল্পগুলি দিয়ে কাস্টম গুগল অনুসন্ধান তৈরি করতে ব্যবহার করেছি। গুগল তাদের প্রান্তে পরিবর্তন করেছে এবং আমার ব্যক্তিগত কাস্টমাইজড অনুসন্ধান পৃষ্ঠাটি ভেঙেছে :( নীচে আর নমুনা কাজ করছে না। জটিল অনুসন্ধান নিদর্শনগুলির জন্য এটি খুব দরকারী useful

<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">

ওয়েব

আমার ধারণা ভাল বিকল্পটি কেবল কার্ল বা অনুরূপ ব্যবহার করা similar


1

এটি আদর্শ নয় তবে আপনি একটি প্রক্সি সার্ভার ব্যবহার করতে পারেন এবং এটি দুর্দান্ত কাজ করে। উদাহরণস্বরূপ, www.google.com এ লুকিয়ে থাকাmymy.com এ যান এবং লিঙ্কটি এটি একটি আইফ্রেমে যায় এবং এটি কার্যকর হয়!


0

আপনি যদি পিএইচপি ব্যবহার করেন তবে আপনি file_get_contents()সামগ্রীটি মুদ্রণ করতে পারেন :

<?php
$page = file_get_contents('https://www.google.com');
echo $page;
?>

file_get_contents()এই url এ যা কিছু সামগ্রী ফাংশন পায় তা মুদ্রণ করবে । দয়া করে নোট করুন যেহেতু আপনি প্রকৃত ওয়েব পৃষ্ঠার পরিবর্তে সামগ্রীটি স্ট্রিং হিসাবে প্রদর্শন করছেন তাই আপেক্ষিক পাথের চিত্রগুলির মতো জিনিসগুলি সঠিকভাবে প্রদর্শিত হয় না, কারণ /img/myimg.jpg এখন আপনার সার্ভার থেকে লোড হচ্ছে আর গুগল.কম থেকে নয়।

তবে str_replace()আপনি চিত্রগুলিতে পরম ইউআরএলগুলি প্রতিস্থাপন করতে ফাংশনের মতো কয়েকটি কৌশল দিয়ে খেলতে পারেন :

<?php
$page = file_get_contents('https://www.google.com');
echo str_replace('src="img/','src="https://google.com/img/',$page);
?>
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.