【问题标题】:Solution to remove frames from a website从网站中删除框架的解决方案
【发布时间】:2009-03-10 09:00:53
【问题描述】:

目前我正在与一个有框架集的预订网站合作。

假设 40% 来自它自己的网站,因此可以轻松更改为无框架网站。

但是,实际的预订流程来自另一个网站(也由我们维护),并且旨在自行“生活”,因此第 3 方网站也可以购买/使用预订流程。

现在我的老板想要减少它的框架,但我发现正确嵌入预订流程存在问题,因为我根本不想碰它。

最好的处理方法是什么?

  • 仅将 iframe 用于预订流程
  • 在服务器端解决它,向预订引擎发出 Web 请求并更改链接或类似的东西。
  • 使用 AJAX?但我认为这会影响很多代码。
  • 更好的解决方案?

当然还有时间/金钱问题,但我现在认为这是理所当然的。

【问题讨论】:

    标签: asp.net html iframe frames


    【解决方案1】:

    如果您要与其他网站打交道,最快的方法是使用 IFrame。

    它的缺点是,将它的高度设置为与其中的内容相同可能是一个技巧,但如果你能解决这个问题,你应该是清楚的。

    仅供参考,我已经成功地将弹出式购买流程(嘿 PPP)转换为一个非常受欢迎的购买网站的 IFrame:P

    【讨论】:

      【解决方案2】:

      另外两个建议:

      1. 使预订引擎“可换肤”,因此不需要使用框架
      2. 向预订引擎添加一个可在服务器端使用的 API(几乎是您上面的第二个选项,但比抓取 HTML 更干净)

      我在大量使用 iframe 时遇到的问题是,我自己也发现了一个问题,那就是知道它必须呈现的内容的大小。 iframe 不会根据内容调整大小,您必须指定固定的宽度和高度。

      【讨论】:

        【解决方案3】:

        我知道现在使用框架有一种禁忌,但是在这个网站上,它有什么问题吗?它会给你带来真正的麻烦吗?

        由于预订网站应该保持原样,我要么坚持框架,要么使用 iframe。

        使用服务器端或 ajax 请求然后解析 html 是自找麻烦。如果预订网站的界面有一点点变化呢?

        您有没有想过通过网络服务扩展预订网站?

        【讨论】:

        • 它不会给我带来真正的麻烦,但它是新功能所必需的。
        【解决方案4】:

        如果这两个站点存在于不同的域或协议上(预订似乎很可能是 https),那么一个简单的 AJAX 解决方案就出来了,无论如何,你都会被简化为代理。

        修改 HTML 输出会给您带来大量错误,并且在返回的过程中再次需要代理。

        iframe 可以满足您的需求,但由于 x 域问题,将流程再次返回到主页可能会出现问题。

        考虑到所有因素,我通常希望辅助预订服务成为一项服务,并且我会在服务器端与之交互。实际上,它需要以一种或另一种方式拥有 API,Web 服务将是我想象中最干净的方式。

        【讨论】:

        • 正确,但预订流程是一个调用“正确”预订服务(调用另一个..)的网站。我可以说它是遗产吗? ;)
        • 那你可以直接调用适当的服务(或更低)吗?
        猜你喜欢
        • 1970-01-01
        • 2013-04-06
        • 2015-01-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多