什么是C / C ++中#define的HTML等价物?

时间:2012-06-27 14:20:22

标签: html html5 cordova include

我有多个HTML文件只有一点点变化 - 这里和那里有一些文本和Javascript常量。我希望能够轻松维护一个主版本并简化生成变体。

像C / C ++中的编译时替换一样简单而完美:

#define CONSTANT 1.23456

如何?有什么想法吗?


其他信息:

  • 使用HTML 5
  • 这些HTML文件用于PhoneGap,因此不允许使用服务器端。

2 个答案:

答案 0 :(得分:4)

您可以使用模板引擎。我非常满意这一点来自twitter http://twitter.github.com/hogan.js/

答案 1 :(得分:3)

在实践中,HTML中没有这样的机制。这样的事情是使用各种工具处理的,例如高级编辑器,预处理工具和PHP等服务器端技术。如果你愿意,你甚至可以use a C preprocessor,尽管大多数人都会使用不同的东西。

在理论方面,HTML具有符合SGML和XML的“实体”机制。它从未在HTML浏览器中实现,即使实体是SGML的一部分,HTML名义上是基于SGML的。 (像éé这样的所谓“角色实体”已经临时实施,而不是通过实体机制的实施。)

支持真正XHTML的浏览器(而不仅仅是HTML规则处理的XHTML)实现了实体机制,因此您可以实际编写例如。

<!ENTITY CONSTANT "1.23456">

在DTD和

&CONSTANT;

在文档内容中。见demo。但这只适用于文档以XHTML媒体类型提供的情况,这反过来又会阻止旧版本的IE显示页面。