2012-06-27 35 views
3

我有多个HTML文件,只有一点点变化 - 几个文本和JavaScript常量在这里和那里。我想简化维护一个主版本并简化生成变体。什么是C/C++中#define的HTML等价物?

喜欢的东西在C/C++编译时替换++是简单而完美:

#define CONSTANT 1.23456 

如何?有任何想法吗?


附加信息:

  • 使用HTML 5
  • 这些HTML文件是在PhoneGap的使用,所以没有服务器端的东西允许的。
+2

“简单而完美”的线条实际上并不完美。 – chris

回答

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显示页面。

+1

感谢您的答案 - 有趣的课程,但不知道它是否有助于我的代码!干杯 – Alveoli

相关问题