2

我无法在 iframe 中加载所有网站,例如 youtube、facebook 和 twitter。我从数据库中加载所有页面,其他网站加载正常。

我试过:

js:

function showeffect(sUrl,sName)
    {

        $('#effect').hide(1000);
        $('#effect').show(2200);
        $('#website').attr("src", sUrl);

    }

php:

        <?php 


            $sql = "SELECT naam, url FROM items";
            $database = new PDO('mysql:host=localhost;dbname=startandhome','root','');
            $results = $database->query($sql); 

            $contentregel = 'contentregelblauw';
            foreach($results as $row) 
            { 

                $itemnaam = $row['naam'];
                $itemUrl = $row['url'];

                echo "<div class=\"" .$contentregel ."\"><a href=\"#\" onclick=\"showeffect('".$itemUrl ."','".$itemnaam ."'); return false;\">" .$itemnaam ."</a></div>";

                if ($contentregel == 'contentregelgrijs')
                {
                    $contentregel = 'contentregelblauw';
                }
                else
                {
                    $contentregel = 'contentregelgrijs';
                }
            }


        ?>

html:

<iframe id="website" class="website" src=""></iframe>
4

1 回答 1

1

这是因为 facebook 限制在其他域框架中托管页面。通常通过附加X-Frame-Options标题来完成。X 框架选项

  1. Facebook 和 twitter 网站有 x-frame-options,这意味着它们不允许跨源调用。他们通过 x-frame-options 进行限制。
于 2013-01-30T08:38:15.007 回答