【问题标题】:How to embed a webpage using php or Javascript如何使用 php 或 Javascript 嵌入网页
【发布时间】:2013-01-23 14:17:49
【问题描述】:

我有一个网页,我想在另一台服务器上嵌入一个外部网页,但我不想要任何框架栏,并希望使用 Php 或 Javascript 来做到这一点。我正在构建的网站是使用 php 构建的。

我试过了

<?php
$remote = fopen("http://www.myotherwepage.com/apage", "r");
fpassthru($remote);
?>

但无法正常加载,不会加载图像,也不会加载样式。

这是我要嵌入的页面

http://brands.datahc.com/?languageCode=EN

上面有我自己的(包含)导航,下面有(包含)页脚。它需要为用户扩展和重新占用。

【问题讨论】:

  • 为什么不按您的需要设置iframe 的样式?
  • 如果您要尝试将 HTML 从另一个页面转储到您的页面中,您将需要修复该页面中各种资源的所有相对路径。即使您解决了所有这些问题,您也可能会遇到跨域问题。只需使用iframe。您可以将其设置为不显示滚动条。
  • @BenM iframe 会自动调整大小吗? 它需要为用户扩展和重新占用。
  • 是的,它们可以被编程为自动调整大小,甚至在另一个域上...css-tricks.com/cross-domain-iframe-resizing
  • 顺便问一下:您知道由此可能导致的潜在版权问题吗?仅仅将其他人的内容注入您自己的网站可能会侵犯版权。

标签: php javascript


【解决方案1】:

只需添加一个 iframe 元素,然后使用 CSS 设置它的样式。您可以使用 jQuery 或 vanilla JS 来操作它的大小。

这样,您无需担心修复任何损坏的或相关的链接。例如,以下代码将关闭iframe 的滚动条:

<iframe src="http://brands.datahc.com/?languageCode=EN" srcolling="no"></iframe>

您可以反过来实现以下一些功能 > http://css-tricks.com/cross-domain-iframe-resizing/。这也将确保 iframe 根据其内容调整大小。

【讨论】:

  • iframe 似乎无法正常工作,并将大小重新调整为带有条形的默认大小,我想远离 iframe,因为它不符合 HTML5。
  • @JohnnyQ:是什么让您认为它不符合 HTML5 标准? HTML 5 甚至将新的seamlesssandbox 属性添加到iFrame。见here
【解决方案2】:

问题是网站上的所有图片都嵌入了相对路径。

当您嵌入网站示例时。com 引用图像http://example.com/image.jpg,其源代码仅读取src="image.jpg"。然后,当您将该网站的源代码集成到 example.org 中时,将在 http://example.org/image.jpg 上搜索不存在该图像的图像。

作为一种解决方案,您可以

  • 使用 HTML 解析器重写所有相关链接和图像路径或
  • 在您网站的&lt;head&gt; 中使用the HTML &lt;base&gt; element,并将其设置为您要嵌入的页面的网址。这样,用户的网络浏览器会将所有相对 URL 解释为相对于嵌入页面,而不是您自己页面的 url。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-19
    • 1970-01-01
    • 2011-10-09
    • 1970-01-01
    • 2011-10-28
    • 1970-01-01
    • 2011-04-22
    • 2011-12-18
    相关资源
    最近更新 更多