質問

私は、当社の製品用のHTML生成システムを作成した、到達不可能な開発者のパラメーター内で作業しています。新しいページが生成されるたびに、彼は配置されます。

<!-- updated page at 05/MAY/2010 02:58.58 -->
<!-- You must use the template manager to modify the formatting of this page. --> 

私のコードが次のように見えます:

<!-- updated page at 05/MAY/2010 02:55.30 -->
<!-- You must use the template manager to modify the formatting of this page. -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">

開発者の画面を見ると、Quirksモードでレンダリングされるため、IEはこのDoctypeをまったく読んでいないと思います...この恐ろしい癖モードからIEを強制する方法はありますか?私は開発者に連絡しようとしてきましたが、彼はかなり利用できませんでした。

あなたが提供しなければならないかもしれない助けを前もってありがとう。

//編集:

これは、JavaScriptを介して実行することができますか?

役に立ちましたか?

解決

あなたができることは何もありません。コンテンツ管理システムは失敗しています。開発者を見つけて、この故障したシステムを修正するか、新しいコンテンツ管理システムを取得する必要があります。

他のヒント

追加することにより、IEに標準モードを使用するように強制できます

<meta http-equiv="X-UA-Compatible" content="IE=8" />

HTMLのヘッドセクションの先頭に、またはサーバー構成を介して同等のHTTPヘッダーを追加することができます。ただし、これはIE8以上でのみ機能します。

ページはどのように生成されていますか?

PHPを使用している場合は、出力バッファリングを使用して、テンプレートのコメントが出力されないようにすることができます。

そのコードにこだわっている場合、これらのコメントをストリップするビルドプロセスに最後のステップを追加してみませんか?

はい、それは可能です, 、それは非常に悪いことです。

upd。 申し訳ありませんが、いや動作しません。

しかし、場合によっては、ユーザーに提供されるものを制御できないだけです。典型的な状況:あなたの会社が何らかの法的理由で使用する義務がある支払いゲートウェイ。彼らはあなたがページをスタイリングし、あなた自身のコンテンツをそこに入れることを可能にしますが、彼らは変更することを許しません、またはDoctypeの設定方法(そしてそれはまったく設定されていません!)。

だから、このリンクに触発された: http://www.webmasterworld.com/forum91/4856.htm そして、美化されたソリューションはおそらくこのようなものです(閉じるボディタグの前にそれを置いてください </body>):

<!--[if IE]>
<script>
!function() {
var doctype = "<!DOCTYPE html>",
    headHTML = document.head.outerHTML,
    bodyHTML = document.body.outerHTML;

window.doctypeSet = false;

if (window.doctypeSet) return;
setTimeout(function(){
  document.write(
    doctype + 
    "<html>" + 
    headHTML + 
    bodyHTML +
    "</html>"
  );
  window.doctypeSet = true;
}, 0);

}();
</script>
<![endif]-->

ただし、変更したい場合もあります <!--[if IE]> のようなものに <!--[if lte IE 9]>, 、IE10以降はこの汚いダンスを実行しないようにします。 Doctypeが存在しない場合、IE10がQuirksmodeに切り替えるかどうか、また切り替えていない場合、このコードをそこに呼び出す必要はありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top