2

这是我之前提出的问题的扩展,在这里:

Django - 解析 XML,输出为 iFrame 的 HTML 片段?

基本上,我们正在考虑将各种 HTML 片段集成到一个页面中。我们有一个小型网络应用程序,在不同的 URL 处为不同的结果/小工具生成小片段。这不一定与主页位于同一域中。

我想知道将这些包含到主页中的最佳方式是什么?我们还需要能够使用主页面中的 CSS 对 HTML 片段进行皮肤处理。

我最初的想法是 iFrames,但是,我认为它的性能可能不是很好,并且对包含的片段的 CSS/JS 操作存在限制。

SSI 是一个更好的主意吗?还是我们应该使用 php 包含?还是JS?还有其他建议吗?两个主要考虑因素是主页的性能,以及样式/操作包含的片段的能力。

干杯,维克多

4

2 回答 2

0

这听起来类似于 Facebook 平台应用程序所做的事情。一种简单地使用IFRAMEs,另一种从后端获取输出并对其进行转换——<fb:whatever>元素被扩展,JavaScript 执行,并且像按钮这样的东西被蒙皮。你可以看看他们的例子。

使用IFRAMEs 可能会使事情变得复杂。默认情况下,您不能从外部框架修改它们内部的样式,但您可以使用Google Closure 的 net.IframeIo 之类的东西来解决这个问题。

我会尝试使用跨域脚本加载小部件。然后,您可以随心所欲地将小部件的内容添加到页面中,例如将其插入到 DOM 中。

于 2009-11-10T23:05:24.587 回答
0

iFrames 在性能方面不应该是一个问题 - 无论是浏览器在查询我们的服务器,它都不会产生影响。你可能会遇到设计问题。SSI 和 PHP 差不多,但都存在相同的问题:如果源页面宕机,整个页面的渲染就会延迟。

最好的性能方面是读取代码段的缓存 PHP 解决方案,因此不太容易受到中断的影响。

有趣的是,我为此目的编写了一个基于 PHP 的工具,而我编写它的公司已同意将其作为开源发布。不过,至少还需要四个星期,直到我开始打包它并设置文档。尽管有时间限制,如果您对此感兴趣,请告诉我,我会及时通知您。

于 2009-11-10T23:05:45.273 回答