javascript CDATAの意味
3141 ワード
CDATA内部のすべてのものは、解像器によって無視されます.
テキストに大量の「<」と「&」の文字が含まれていると、プログラミングコードによく出てくるような場合があります.このXML要素はCDATA部分として定義されます.
CDATA区間は「
上記の例では、CDATAセグメントにおけるすべてのものは、解像器によって無視される.
CDATAセグメントに関するコメント:
CDATAセグメントは文字列「"""」を含んでいませんので、CDATAセグメントの入れ子は許可されません.
「>」の文字列にスペースや折り返しがないようにする必要があります.
なぜCDATAを使うのですか?
XHTMLの2番目の変更はCDATAセグメントを使用することである.XMLのCDATAセグメントは、ラベルとして解析されてはならないテキスト(XHTMLも同じである)を宣言するために使用され、特殊文字を使用することができ、例えば、(<)よりも小さい、大きい(>)、および(&)、およびダブルクォーテーションマーク(")は、それらの文字エンティティを使用する必要がない.以下のコードを考慮する.
この関数は簡単です.数字aとbを比較して、メッセージを表示して関係を説明します.しかし、XHTMLでは、このコードは無効です.3つの特殊な記号を使用しています.即ち、小さい、大きい、大きいということです.この問題を修正するには、それぞれこの3つの文字のXMLエンティティ<gt;と"を使ってそれらを置換しなければなりません.
このコードには2つの問題があります.まず、開発者はXMLエンティティでコードを作成することに慣れていません.コードを読むのが難しいです.次に、JavaScriptでは、このコードは実際に文法的に間違っていると見なされます.説明プログラムはXMLエンティティの意味が分かりません.CDATAでは通常の形式(つまり読みやすい文法)ができます.JavaScriptコードを作成します.正式にCDATAセグメントに参加する方法は以下の通りです.
これは正式な方式ですが、ほとんどのブラウザはXHTMLを完全にサポートしていません.これは主要な問題をもたらします.つまり、JavaScriptの中では文法的なエラーです.ほとんどのブラウザはCDATAを知らないからです.
現在使用されているソリューションは、「古いブラウザに隠し」というコードの方法を模倣しています.単一の行のJavaScriptの注釈「/」を使って、コード文法に影響を与えずにCDATAセグメントを埋め込むことができます.
このコードは現在、XHTMLに対応していないブラウザでも実行できます.
ただし、CDATAの問題を避けるためには、外部ファイルでJavaScriptコードを導入したほうがいいです.
回転:http://www.cnblogs.com/scugzbc/archive/2008/07/13/1242063.html
テキストに大量の「<」と「&」の文字が含まれていると、プログラミングコードによく出てくるような場合があります.このXML要素はCDATA部分として定義されます.
CDATA区間は「
<script type="text/javascript">
<![CDATA[
function compare(a,b)
{
if (a < b)
{alert("a b");}
else if (a>b)
{alert("a b");}
else
{alert("a b");}
}
]]>
</script>
上記の例では、CDATAセグメントにおけるすべてのものは、解像器によって無視される.
CDATAセグメントに関するコメント:
CDATAセグメントは文字列「"""」を含んでいませんので、CDATAセグメントの入れ子は許可されません.
「>」の文字列にスペースや折り返しがないようにする必要があります.
なぜCDATAを使うのですか?
XHTMLの2番目の変更はCDATAセグメントを使用することである.XMLのCDATAセグメントは、ラベルとして解析されてはならないテキスト(XHTMLも同じである)を宣言するために使用され、特殊文字を使用することができ、例えば、(<)よりも小さい、大きい(>)、および(&)、およびダブルクォーテーションマーク(")は、それらの文字エンティティを使用する必要がない.以下のコードを考慮する.
<script type="text/javascript">
function compare(a,b)
{
if (a < b)
{alert("a b");}
else if (a>b)
{alert("a b");}
else
{alert("a b");}
}
</script>
この関数は簡単です.数字aとbを比較して、メッセージを表示して関係を説明します.しかし、XHTMLでは、このコードは無効です.3つの特殊な記号を使用しています.即ち、小さい、大きい、大きいということです.この問題を修正するには、それぞれこの3つの文字のXMLエンティティ<gt;と"を使ってそれらを置換しなければなりません.
<script type="text/javascript">
function compare(a,b)
{
if (a <b)
{alert("a b");}
else if (a>b)
{alert("a b");}
else
{alert("a b");}
}
</script>
このコードには2つの問題があります.まず、開発者はXMLエンティティでコードを作成することに慣れていません.コードを読むのが難しいです.次に、JavaScriptでは、このコードは実際に文法的に間違っていると見なされます.説明プログラムはXMLエンティティの意味が分かりません.CDATAでは通常の形式(つまり読みやすい文法)ができます.JavaScriptコードを作成します.正式にCDATAセグメントに参加する方法は以下の通りです.
<script type="text/javascript">
<![CDATA[
function compare(a,b)
{
if (a < b)
{alert("a b");}
else if (a>b)
{alert("a b");}
else
{alert("a b");}
}
]]>
</script>
これは正式な方式ですが、ほとんどのブラウザはXHTMLを完全にサポートしていません.これは主要な問題をもたらします.つまり、JavaScriptの中では文法的なエラーです.ほとんどのブラウザはCDATAを知らないからです.
<script type="text/javascript">
//<![CDATA[
function compare(a,b)
{
if (a < b)
{alert("a b");}
else if (a>b)
{alert("a b");}
else
{alert("a b");}
}
//]]>
</script>
現在使用されているソリューションは、「古いブラウザに隠し」というコードの方法を模倣しています.単一の行のJavaScriptの注釈「/」を使って、コード文法に影響を与えずにCDATAセグメントを埋め込むことができます.
このコードは現在、XHTMLに対応していないブラウザでも実行できます.
ただし、CDATAの問題を避けるためには、外部ファイルでJavaScriptコードを導入したほうがいいです.
回転:http://www.cnblogs.com/scugzbc/archive/2008/07/13/1242063.html