0

我正在尝试更新我们较旧的基于 ZPT 的应用程序之一,并且我想实现以下 HTML5 Boilerplate 最佳实践,以将条件 IE 类添加到<html>.

<!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->

由于我在许多非 ZPT 网站上使用过这种技术,我并没有考虑太多,但是当我去实现它时,我遇到了一些问题。

  1. ZPT 删除 HTML 注释,因此呈现的源代码缺少条件注释
  2. 我们正在使用整个页面宏来定义可重用的页面模板,并且该定义出现在<html>元素中,如<html metal:define-macro="page">. 即使我得到条件注释来显示,似乎我的下一个障碍将是正确定义页面宏。

任何人都可以阐明这些问题中的任何一个吗?

4

1 回答 1

0

这很奇怪,zpt 不会删除评论。也许这是 zpt 的一个特定实现,谁这样做?无论如何,您是否尝试过使用 tal:replace="strucutre string:...."

<metal:macro metal:define-macro="page">
<tal:doctype tal:replace="structure string:&lt;!DOCTYPE html&quot;&gt;" />
<!-- If the comments are eaten, you can generate them using the same trick that
     tal:doctype above -->

</metal:macro>
于 2013-09-05T20:33:43.530 回答