2011-07-08 15 views
0

XHTMLを検証するカスタム属性を持つdoctypeを使用しています。ここに私の文書型ページから末尾を削除]>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" 
[ 
<!ATTLIST div data-localized CDATA #IMPLIED> 
]> 

あるしかし、問題は、それが表示するということです「]>」私はブラウザ上で自分のページをロードするとき。 XHTMLは妥当性を確認します。

+0

私はこのようなことについては専門家ではありませんが、あなたのコードが無効であるように見えます。私は2番目の>が最初の<を閉じていると思います。 – Flimzy

+0

それは私がW3validatorでチェックすると有効になる –

+0

ええ、私はあなたのポストでそれを見た。それはあなたのWebブラウザでも検証されているようです。しかし、それが構文的に正しいという理由だけでは、あなたが望むことをするわけではありません。 – Flimzy

答えて

1

A list apartで記事チェックアウト -

をブラウザで ファイルを表示する場合、残念ながら]> 画面上に表示されます。

それは別のDTDファイルの使用を伴うソリューション指摘(W3Cバリデータに失敗します...)

2

回避策はJavaScriptを使用してそれを削除することです。あなたのボディ宣言の後にスクリプトを追加してください。

<html> 
<body> 
<script type="text/javascript"> 

function removeFirstTwo() { 
    try { 
    var htmlBody = document.getElementsByTagName("BODY")[0]; 
    if (htmlBody.firstChild.nodeValue.substr(0,2) == "]>") { 
     htmlBody.firstChild.nodeValue = ""; 
    } 
    } catch(e) { 
    //do nothing 
    } 
} 

removeFirstTwo(); 

</script> 
... 
関連する問題