dポイントプレゼントキャンペーン実施中!

こんにちは。
先日からPHPでメタサーチを作っています。

先日の質問
http://oshiete.goo.ne.jp/qa/7027045.html


複数の検索サイト(Yahoo!、Google等)から選択し、
検索窓に入力した値を検索サイトに送り、
iframe内に表示するようにしました。

しかし本日の昼頃から、Googleの検索結果が表示されなくなりました。

IE9では
「この Web サイトに入力する情報のセキュリティを保護するため、このコンテンツの発行者はフレーム内での表示を許可していません。」
と表示され、
FireFox、chromeではエラーすら表示されません。

iframeに問題があるのでしょうか?
objectタグ使用でも変化がなく、
php includeでも表示されませんでした。

Googleの公式サイトを表示する、他の方法がありますでしょうか?
ご教示お願い致します。


以下、ソースです。

search5.php

<?php
if (isset($_GET["keyword"])){
$keyword=$_GET["keyword"];
}else{
$keyword="";
}
$keyword4url=urlencode($keyword);
?>
<?PHP
if (isset($_COOKIE["chk_1"])){
$checked["chk_1"]=" checked";
}else{
$checked["chk_1"]="";
}

if (isset($_COOKIE["chk_2"])){
$checked["chk_2"]=" checked";
}else{
$checked["chk_2"]="";
}
print_r($_COOKIE);
?>

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript">
function P1(w1){parent.frame1.location.href=w1}

function setCookie(key,val,url){
tmp = key+"="+escape(val)+";";
tmp += "expires=Fri, 31-Dec-2030 23:59:59;";
if(url){
tmp += "domain="+getDomain(url)+";";
tmp += "path="+getDomainPath(url)+";";
}
document.cookie = tmp;
};
function delCookie(key){
expiredate = new Date();
expiredate.setYear(expiredate.getYear()-1);
tmp = key+"=;";
tmp += "expires="+expiredate.toGMTString();
document.cookie = tmp;
};
function set_cookie_radio(){
delCookie("chk_1");
delCookie("chk_2");
if(document.getElementById("chk_1").checked) setCookie("chk_1","1");
if(document.getElementById("chk_2").checked) setCookie("chk_2","1");
}
function del_cookie_radio(){
delCookie("chk_1");
delCookie("chk_2");
}

</script>
</head>

<body>
<center>

<form action="search5.php" method="get">
キーワード:<input type="text" name="keyword" size="20" value="<?php echo $keyword;?>" onfocus="this.select()">

<input type="submit" value="検索する">
</form>

<form>
<input type="button" value="クッキー削除" onclick="del_cookie_radio()">
</form>

<form>
<input id="chk_1" type="radio" name="RB1" onClick="P1('http://search.yahoo.co.jp/search?p=<?php echo $keyword4url; ?>');set_cookie_radio()" <?PHP echo $checked["chk_1"];?>>Yahoo!
<input id="chk_2" type="radio" name="RB1" onClick="P1('http://www.google.co.jp/#q=<?php echo $keyword4url; ?>');set_cookie_radio()" <?PHP echo $checked["chk_2"];?>>Google
</form>

<iframe src="http://search.yahoo.co.jp/search?p=<?php echo $keyword4url; ?>" name="frame1" frameborder="1" scrolling="auto" width="977" height="600">
</iframe>

</center>
</body>
</html>

A 回答 (1件)

>「この Web サイトに入力する情報のセキュリティを保護するため、このコンテンツの発行者はフレーム内での表示を許可していません。



単純にGoogleから拒否されてるのでは?
拒否されていないにしても、そのようなものは作るべきではありません。

Google ブランドの第三者使用に関するガイドライン
http://www.google.co.jp/permissions/guidelines.h …
上記ページの禁止事項に、
Google のページ(Google ロゴまたは Google 検索ボックスをクリックしたときに表示されるページを含む)をフレーム内に表示することやミラーリングすることは避けてください。
と書かれてあります。

Googleに限らず、フレームを用いて第三者のページ内に自社ページを組み込まれることを嫌う場合がほとんどではないでしょうか。

ちなみにYahoo!のヘルプは↓こちら
http://help.yahoo.co.jp/help/jp/common/view/view …
    • good
    • 0
この回答へのお礼

それもそうですね。
別の方法を考えます。
ありがとうございました。

お礼日時:2011/10/22 00:29

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!