【问题标题】:Is any way to load entire web-page from different domain to my page?有什么方法可以将整个网页从不同的域加载到我的页面?
【发布时间】:2016-02-10 06:21:43
【问题描述】:

我想创建一个页面,我可以在其中加载来自不同域的其他页面。加载的页面应该像它们自己工作一样工作。

原因是为它们添加了额外的功能。

我曾尝试使用 JavaScript 和 iframe 来实现,但受到同源策略的限制。现在我正在考虑 Java Applets/JavaFX/Apache Pivot。我已经读过,他们可以通过数字签名建立连接来加载页面。

我的页面还应该从加载的页面中获取一些信息(标题、网站图标等)。

我这样看对吗?还是仍然无法做到?在其他情况下,哪种技术是更好的选择?

附:感谢您的帮助

【问题讨论】:

    标签: javascript html applet cross-domain javafx


    【解决方案1】:

    您可以尝试使用将内容传送到您的域的代理,然后您可以随意操作页面(使用 iframe 或 ajax)。
    假设您创建了一个名为 proxy.phpphp 代理:

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

    iframe 的 src 不应指向外部页面 (&lt;iframe src="somedomain.com/somepage" /&gt;),而应指向将页面内容传递给您的代理:&lt;iframe src="proxy.php?url=somedomain.com/somepage" /&gt;
    这将是管理您的任务的一种简单方法,尽管您不能以这种方式真正复制其他网站...您仍然需要考虑 cookie、标头和其他与会话相关的变量。

    【讨论】:

    • 我无法使用我的服务器。 cookie 将丢失,页面上的脚本将无法正常工作。
    【解决方案2】:

    这样想,在您的服务器端,例如使用phpcurl 从另一个域下载页面,然后使用jQuery 将它们ajax 到您的网页中。这就像代理页面,但现在它们在您的服务器中,您可以避免授予跨域规则。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-10
      • 1970-01-01
      • 1970-01-01
      • 2020-12-28
      • 1970-01-01
      • 1970-01-01
      • 2017-11-06
      • 2013-03-29
      相关资源
      最近更新 更多