【问题标题】:Any reason not to write my own HTML?有什么理由不写我自己的 HTML?
【发布时间】:2012-05-31 05:17:33
【问题描述】:

在 Seaside 中,在所有这些 renderContentOn: 方法中,我可以使用 HTML 画布对象来组装我的 DOM 树。

我目前正在为我的组件编写一堆帮助程序,因为我正在使用 Twitter Bootstrap 进行样式设置,并且不想一直编写所有样板代码 (<div>s en mas)。

对于这种设置方式,对我来说最简单的方法是简单地(我想避免在这些帮助程序中使用with: aBlock)写出用于包装 DIV 的 HTML,如下所示:

html html: '<div class="control-group">'.

我有什么理由不这样做吗?有什么缺点吗?

【问题讨论】:

    标签: html seaside


    【解决方案1】:

    重新表述 Lukas 的一个论点:它基本上不是 DRY。如果您只使用一次,则没有问题。如果您必须多次使用它,画布允许您使用 smalltalk 为您提供的所有干净重用功能。

    【讨论】:

      【解决方案2】:

      使用 HTML 画布有多种优势:

      • HTML 画布可确保标签有效、标签结构有效、所有标签都正确关闭(在编译时),并且内容正确转义。
      • HTML 画布确保属性有效,所有属性都正确关闭,内容正确转义。
      • 由于上述两个原因,HTML 画布自动避免了跨站点脚本 (XSS) 漏洞的可能性。
      • HTML 画布通过启用标签(简单函数调用)、演示者(对象中的renderOn:)和组件(组件中的renderContentOn:)的组合来实现更好的可重用性。
      • HTML 画布可避免生成不必要的空格。
      • 使用 HTML 画布可以使用 Smalltalk IDE 提供的 HTML 代码标准工具:发送者、实现者、重构引擎(提取到方法、提取到组件、内联方法、自动重写……)等.

      我同意在极少数情况下不值得使用 HTML 画布:例如,来自外部来源的大型静态垃圾需要嵌入到页面中。

      【讨论】:

      • 完全是答案。非常感谢。
      • 我不同意空格的说法,但是:我绝对讨厌必须使用浏览器的开发工具才能读取 HTML 源代码。
      • 不过,我的问题的目的是什么 - 也许你可以帮助我解决实际问题:stackoverflow.com/questions/10746673/…
      【解决方案3】:

      我认为渲染这样的静态 html 片段没有真正的缺点。

      但是,您可能想查看 Twitter 引导程序的 Seaside 集成:http://twitterbootstrap.seasidehosting.st/

      【讨论】:

        猜你喜欢
        • 2010-09-19
        • 2022-06-15
        • 1970-01-01
        • 2010-12-24
        • 2011-10-01
        • 2012-10-24
        • 2017-04-22
        • 2011-04-12
        • 2021-06-18
        相关资源
        最近更新 更多