4

私は複数の HTML ファイルを持っていますが、それらは少しだけ異なります - あちこちにいくつかのテキストと Javascript 定数があります。1 つのマスター バージョンを維持しやすくし、バリアントの生成を簡単にしたいと考えています。

C/C++ でのコンパイル時の置換のようなものは、シンプルで完璧です。

#define CONSTANT 1.23456

どのように?何か案は?


追加情報:

  • HTML5 の使用
  • これらの HTML ファイルは PhoneGap で使用するためのものであるため、サーバー側のものは許可されません。
4

2 に答える 2

4

そのためにテンプレートエンジンを使用できます。私は、Twitter http://twitter.github.com/hogan.js/からのこれに非常に満足しています。

于 2012-06-27T14:22:54.267 に答える
3

実際には、HTMLにはそのようなメカニズムはありません。このようなものは、高度なエディター、前処理ツール、PHPなどのサーバー側テクノロジーなどのさまざまなツールを使用して処理されます。ほとんどの人は別のものを使用していますが、必要に応じてCプリプロセッサを使用することもできます。

理論的には、HTMLにはSGMLおよびXMLによる「エンティティ」メカニズムがあります。エンティティはSGMLの一部であり、HTMLは名目上SGMLベースでしたが、HTMLブラウザには実装されませんでした。(éのようないわゆる「キャラクターエンティティ」éは、エンティティメカニズムの実装ではなく、アドホックベースで実装されています。)

真のXHTMLをサポートするブラウザー(およびHTMLルールによって処理されるXHTMLだけでなく)はエンティティメカニズムを実装しているため、実際に次のように記述できます。

<!ENTITY CONSTANT "1.23456">

DTDで

&CONSTANT;

ドキュメントの内容で。デモを参照してください。ただし、これは、ドキュメントがXHTMLメディアタイプで提供されている場合にのみ機能します。これにより、古いバージョンのIEがページをまったく表示できなくなります。

于 2012-06-27T15:10:35.147 に答える