【问题标题】:Loading external website with PHP file使用 PHP 文件加载外部网站
【发布时间】:2011-05-02 02:12:16
【问题描述】:

我正在使用 JQuery 调整 iframe 的大小以使其具有与内容相同的高度,它可以完美地工作,尽管它仅在内容位于同一域中时才有效。

我需要显示外部内容,因此我将 iframe 指向服务器中的一个文件,该文件又应显示外部内容:

<iframe src="frame.php" scrolling="no" frameborder="0" noresize="noresize" style="width:100%; border: 1px solid black;">

如何让frame.php显示外域的内容?

如果您需要更多信息,这里是关于如何做的答案(他解释了所有内容,除了如何在 php 文件中显示内容): AutoHeight IFrame

谢谢

【问题讨论】:

    标签: php javascript jquery iframe


    【解决方案1】:

    所以你想获取外部网站的内容?

    这可行,但当目标页面具有非绝对 URL 和相对链接时,它会破坏布局:

    frame.php

    <?php
    
    echo file_get_contents($_GET['url']);
    
    ?>
    

    【讨论】:

      【解决方案2】:

      &lt;?php echo file_get_contents( "http://example.com" );?&gt;

      这样就可以了

      【讨论】:

      • 请高亮你的代码(尤其是 PHP,因为当你不高亮时它不会呈现),请。
      【解决方案3】:

      不幸的是,php 不是执行此操作的正确语言。为了确定 iframe 中文档的高度,您需要从父文档(iframe 元素所在的位置)对 iframe 的 src 中引用的文档进行 javascript 调用。

      如果 iframe 的 src 在您的域中,则根据同源策略,您拥有使用文档的 DOM 获取文档高度的完全权限。当您从另一个域加载文档时,您无权查询高度。您的问题的回答者似乎建议的是在您的网站上设置代理,以便规避相同的来源政策。

      但是,会有其他问题(即代理页面上的相对链接等)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-09-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-02-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多