代码之家  ›  专栏  ›  技术社区  ›  Andy N

使用headlink()在zend framework中插入javascript和css有什么好处?

  •  1
  • Andy N  · 技术社区  · 16 年前

    文档说明使用headlink()->prependstylesheet()在布局文件中插入css。也就是说用这种方式加载javascript文件。为什么这比在标题中硬编码链接和脚本标记要好?我认为这会降低性能,因为它使用框架方法来实现。使用zend framework 1.10

    2 回复  |  直到 16 年前
        1
  •  1
  •   engfer    16 年前

    CSS是 “级联” . 假设您构建了一些模块化代码,但这些代码并不总是出现在页面上。您希望在不破坏任何CSS的情况下更改样式的一些默认行为。好的,您可以将其作为第一个样式表条目注入,它将作为其他样式表的基础样式添加。

    例如:

    * { padding: 0; margin: 0; } .

    摧毁 $this->headStyle()->prependStyle("* { padding: 0; margin: 0; }") ,它将重置所有元素的边距和填充,但页面上的其他样式将有机会覆盖这些属性。


    为什么是JavaScript?

    • http://framework.zend.com/manual/en/zend.view.helpers.html#zend.view.helpers.initial.headscript
    • 这是模块化设计的良好实践。Magento电子商务大量使用这种方法

    内联JavaScript应使用以下内容:

    • http://framework.zend.com/manual/en/zend.view.helpers.html#zend.view.helpers.initial.inlinescript。

    HeadScript的兄弟助手, InlineScript,应在 希望在中包含内联脚本吗 HTML正文。在末尾放置脚本 您的文档是一个良好的实践 为了加快页面的交付速度, 特别是在使用第三方时 分析脚本。

    希望这有帮助。很抱歉,我不得不伪造URL,因为我是“新”用户。

        2
  •  1
  •   takeshin    16 年前

    headlink()->prependstylesheet() 可以通过子类化helper轻松地进行扩展。例如,我使用custom headlink()助手在一个文件中压缩、混淆和合并所有样式表。代码中可能包含要加载哪些资产的条件。