几年前我建立了 IBDOM:http://ibdom.sf.net/ |截至 2009 年 12 月,如果您直接从后备箱获取,它支持 jQuery 绑定。
$("#foo").injectWith(collectionOfJavaScriptObjects);
或
$("#foo").injectWith(simpleJavaScriptObject);
此外,您现在可以将所有“data:propName”标记放在 class="data:propName other classnames" 属性中,这样您就不必在应用程序的内容中乱扔这些标记了。
我尚未更新其中的大量文档以反映我最近的增强功能,但自 2007 年以来,我已经在生产中使用了该框架的各种版本。
对于这个问题的怀疑者:
当微软用 IE5 发明我们现在所知的 XmlHttpRequest 和“ajax”模式时,这背后的部分承诺是纯粹在 Web 浏览器和服务器之间交换数据。该数据将被封装在 XML 中,因为在 1999/2000 年,XML 简直就是太热了。除了使用回调机制通过网络检索 xml 文档之外,MS 的 MSXML ActiveX 组件还支持我们现在所知的 XSL-T 和 XPath 的预草案实现。
结合检索 HTTP/XML、XPath 和 XSL-T,为开发人员构建丰富的“文档”提供了巨大的创造力,这些“文档”充当“应用程序”,纯粹发送,更重要的是,从服务器检索数据。
为什么这是一个有用的模式?这取决于您的用户界面有多复杂,以及您对其可维护性的关心程度。
当使用高级 CSS 构建视觉上非常丰富的语义标记界面时,您要做的最后一件事是将标记片段分块到“迷你控制器/视图”中,这样您就可以 .innerHTML 文档片段进入主文档,原因如下。
保持高级 html/css 用户界面易于管理的一个关键原则是至少在其开发的活跃阶段保留其验证。如果您的标记通过验证,您可以专注于您的 CSS 错误。现在,如果标记片段最终在用户交互的各个阶段被注入,这一切都变得非常难以管理,整个事情变得脆弱。
我们的想法是将您的所有标记 UI 结构放在一个文档中,通过网络检索ONLY DATA,并使用一个可靠的框架,该框架至少可以简单地将您的数据注入到您的标记结构,最多复制您标记为可重复的标记结构。
这在 IE5+ 中使用 XSL-T 和 XPath 是可能的,但几乎没有其他浏览器。一些 F/OSS 浏览器框架一直在涉足 XPath,但目前我们还不能完全依赖它。
那么实现这种模式的下一个最佳方法是什么? IBDOM。从您的服务器获取数据,将其注入您的文档中。毫不费力。