-1

特定の div に別の Web サイトを開く必要がある Web サイトに取り組んでいます。以下のコードを試してみましたが、適切な外観で出力を取得できません。

<div style="overflow-x: hidden; overflow-y: scroll; height:300px; width:100%" >
      <?php echo $url ?>
</div>

divのみを使用する必要があります。I フレームなし。他には何もありません。以下のコードを使用しています。この関数のクラス名は Scraper です

  function getPagePost($url, $data = array(), $proxy='', $userpass='', $header = array()) {
        $ch = curl_init();

        if(!empty($header)){
            curl_setopt($ch, CURLOPT_HTTPHEADER, $header );
            curl_setopt($ch,CURLOPT_ENCODING , "gzip");
        }


        curl_setopt($ch, CURLOPT_URL, $url);
        if($this->useCookie)
            curl_setopt ($ch, CURLOPT_COOKIEJAR, $this->ckfile);         
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);

        if(!empty($proxy))
        curl_setopt($ch, CURLOPT_PROXY, $proxy);

        if(!empty($userpass))
        curl_setopt($ch, CURLOPT_PROXYUSERPWD, $userpass);

        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

        $result = curl_exec($ch);

        if($result === false) {
            $result = curl_error($ch);
        }   

        curl_close($ch);
        return $result;
    }

============================================

<?php if(isset($_POST['btnsubmit'])){

require_once 'scraper.php';
$scraper = new Scraper(); 
$url = $scraper->getPagePost($_POST['url']);
?>  

     <div style="overflow-x: hidden; overflow-y: scroll; height:300px; width:100%" >
          <?php echo $url; ?>
     </div>
     <?php } ?>
4

3 に答える 3

4

あなたiframeはそのようにする必要があります

<div style="overflow-x: hidden; overflow-y: scroll; height:300px; width:100%" >
    <iframe src="<?php echo $url;?>"></iframe>
</div>

ただし、一部のサイトでGmailはこれをサポートしていません。これは、すべての Google の Web サイトのヘッダーに「x-frame-option: sameorigin」というコードが含まれているため、Google の Web サイトでのみ実行されます。iframe で開くことはできません

于 2013-08-24T04:52:14.360 に答える
1

あなたの質問は明確ではありませんが、 an を使用するincludeことがあなたが探しているものだと思います。あなたが持っている必要があります:

<div style="overflow-x: hidden; overflow-y: scroll; height:300px; width:100%" >
  <?php include $url ?>
</div>

$urlあなたのdivに入れる必要がある他の「ウェブサイト」へのパスでなければなりません。他の「ウェブサイト」が完全な他のウェブサイトである場合、これは機能しますが、他のウェブサイトの内容によっては一部が機能しない場合があります。http ヘッダーやその他のものが機能しない可能性があり、結果の html コードは無効になりますが、元の Web サイトに似たものが表示されます。

これは技術的に正しい答えではないことを強調します。別の完全な Web サイトを別の Web サイトに表示する唯一の技術的に正しく有効な方法は、i-frame を使用することです。

于 2013-08-24T05:02:24.760 に答える
1

iframe の代わりにオブジェクト埋め込みメソッドを使用できます。http://jsfiddle.net/gDUUv/1/

例えば:

<object data="<?php echo $url ?>" width="600" height="400">
    <embed src="<?php echo $url ?>" width="600" height="400"> </embed>
</object>
于 2013-08-24T05:07:24.560 に答える