2009-11-10 46 views
2

这是较早的问题,我问,在这里延伸:在页面中包含HTML片段 - 方法?

Django - Parse XML, output as HTML fragments for iFrame?

基本上,我们正在寻找各种HTML片段整合到一个页面。我们有一个小型的网络应用程序,可以在不同的URL上为不同的结果/小工具生成很少的片段。这不是与主页面在同一个域上。

我想知道什么是将这些纳入主页面的最佳方式?我们还需要使用主页面中的CSS来清理HTML片段。

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

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

干杯, 维克多

回答

0

这听起来类似于Facebook平台的应用程序做。一种简单地使用IFRAME s,另一种从后端获取输出并对其进行转换 - <fb:whatever>扩展元素,执行JavaScript以及按钮等事物。你可以看看他们的例子。

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

我会尝试使用cross-domain scripting加载小部件。然后,您可以将窗口小部件的内容添加到页面,无论您希望如何将其插入到DOM中。

0

iFrames不应该成为性能方面的问题 - 它不会影响浏览器是否正在查询我们的服务器。虽然你可能会遇到设计问题。 SSI和PHP差不多,但它们都有相同的问题:如果源页面关闭,整个页面的渲染就会延迟。

性能最好的东西就是缓存的PHP解决方案,它可以读取代码段,因此不易受到中断的影响。有趣的是,我已经为此写了一个基于PHP的工具,而我为它编写的公司已同意将它作为开源发布。不过,至少还需要四个星期,直到我开始打包并设置文档。尽管有时间让我知道,那么您是否应该对此感兴趣,我会保持更新。

相关问题