【问题标题】:Best way to serve third party html on your site?在您的网站上提供第三方 html 的最佳方式?
【发布时间】:2012-01-21 04:43:31
【问题描述】:

我正在构建一个网络应用程序,用户可以在其中构建从其他网页中提取内容的自定义网页。我知道这样做的几个选项,我不确定哪个是最好的,以及是否有更好的解决方案。现在,我可以:

  • 使用 iframe,这将(某种程度上)完成我想要的,但会强制客户端下载和呈现所有 Web 内容,这似乎很慢。我听说很多人说 iframe 已经过时了,不应该使用,等等。
  • 使用像 wkhtmltopdf 这样的库,它将在服务器端呈现 html 并生成它的 pdf 图像。这会很好用,但结果只是一个图像,所以文本不能选择,链接不能点击等等。另外,我听说你可能会因为托管其他人的网络内容而遇到法律问题您的网站未经许可。
  • 使用 phpquery 之类的东西从其他网站上逐字删除内容。此选项可能与上述选项存在相同的法律问题。

有没有人做过这样的事情,或者有没有人有什么想法?

【问题讨论】:

    标签: php html web-applications iframe


    【解决方案1】:

    最干净的解决方案是发送一个 http 请求服务器端,然后根据需要将 html 呈现到您的页面中,这还需要将所有内容和链接的 url 更改为绝对

    例如:

    <img src="\images\banner.png"> 
    

    将在远程服务器上工作,但一旦进入您的页面,图像将不存在。最可行的解决方案是将功能限制为图像和链接,然后使用正则表达式进行查找/替换以匹配相对 url 并将源地址添加到其中。

    但是,如果您从您的服务器重新发送其他人的内容,即使只是 html,您也会遇到法律问题。

    使用 iframe 将是一种快速的肮脏解决方案,并且可能具有最小的法律后果,因为浏览器会向网站发送正常的内容请求。

    【讨论】:

    • 是的,我想我现在必须坚持使用 iframe。感谢您的回答!
    【解决方案2】:

    我建议使用 DocRaptor 从 HTML 生成 PDF 文件。它的工作方式与 wkhtmltopdf 类似,但可以生成功能齐全的 PDF 文件。

    这是其主页的链接:

    http://docraptor.com/

    以及指向其 API 文档的链接:

    http://docraptor.com/documentation

    【讨论】:

      猜你喜欢
      • 2012-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-21
      • 1970-01-01
      • 1970-01-01
      • 2011-09-20
      • 1970-01-01
      相关资源
      最近更新 更多