2

ここで率直に言って申し訳ありませんが、私は過去 2 年間 IE 8 と IE9 で開発を行ってきましたが、これを正しく行うことができないようです。私は嫌いな会社で働いていて、彼らのウェブサイトのために開発しています。何らかの理由で、IE8 または IE9 はデフォルトで ie7 または ie8 のような下位ドキュメント モードに設定されます。私はすべてを試しました...

1) HTML 5 doctype のみを配置します。Microsoft によれば、これで十分なはずです。

マイページはこんな感じ

<!DOCTYPE html>
<!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7">
<![endif]-->
<!--[if IE 7]>         <html class="no-js lt-ie9 lt-  ie8"> <![endif]-->
<!--[if IE 8]>         <html class="no-js lt-ie9"> <!     [endif]-->
<!--[if gt IE 8]> <html class="no-js"> <!   [endif]-->

<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible"    content="IE=edge,chrome=1">

私が読んだものはすべてうまくいくはずだと言っているので、本当にイライラしています。Microsoft は、これが機能するか、HTML 5 doctype を設定するだけでも機能すると主張しています。http ヘッダーを設定して修正すると聞いたことがありますが、正直なところ、Microsoft は本気ですか? Make page render I'm standard mode に http ヘッダーを追加するために、開発者が apache 設定を変更する必要があるとは信じがたいです。

誰かがここで私を助けてくれますか? 私は何が欠けていますか??? 私は本当にMicrosoftがさらに嫌いになり始めています!!!!!

アップデート::

私は最近、私の会社が「互換性ビューでイントラネット サイトを表示する」がオフになっていることを発見しました。しかし、それは解決策ではありません!X-UA互換のメタタグまたはhttpヘッダーが表示されている場合は、それが優先されるはずです。うーん、これは完全な嘘です。他の誰かが答えを持っていますか?? 外部ユーザーが問題ないことは理解していますが、私のビジネスはこれをテストしており、内部ユーザーであり、ボックスのチェックを外すように説得して伝えるのが難しいため、質問をしています。それは彼らに素晴らしい気分を与えません。また、古いアプリケーションは内部で IE8,9 をサポートするように作成されていないため、デスクトップ エンジニアリング チームにそれを削除してもらうことはできません。

どんな助けでも大歓迎です。ありがとう!

ありがとう

4

3 に答える 3

8

私たちのイントラネットも、すべてのイントラネット サイトで使用される互換表示でロックダウンされ、すべて Windows XP であるため IE 8 を使用します。

IE 8 が標準のボイラー プレートの条件付きコメントの処理を開始すると (タグにアタッチするクラスを決定するため)、ゲーム オーバーであることがわかりました。IE<html>はその時点で、互換モード (IE 7) で実行されていると判断し、できることは何もありませんでした。状況を回復します。

<meta>タグの直後にタグを配置する<!DOCTYPE>と、すべてが期待どおりに機能することがわかりました。

<!DOCTYPE HTML>
<meta http-equiv="x-ua-compatible" content="IE=Edge">

私の目には、これはあまり「標準的」ではないように見えますが、うまくいきます。私が何時間も試み<meta>たように、タグを に配置できる別の方法があればいいのにと思います。<head>

于 2013-03-12T16:21:39.633 に答える
1

コードの5行目と6行目はエラーであり、@ JaredFarrishがコメントでコメントしているように、ページがIEで空白として表示されます。

5行目の終わりで、スペースを削除します

<!     [endif]-->

6行目の終わりで、変更します

<!--<!   [endif]-->

<![endif]-->

実際のページでは、おそらくコードの中に、不正な形式の構造がIEで引き起こすスキップを停止する何かがあります。

IEをQuirksモードにする理由はまだ不明です。この問題に対処するには、より多くの情報が必要です。ページが存在するドメインに依存する場合もあるため、URLを開示すると役立つ場合があります。一般性については、IE8およびIE9の問題(ブラウザーモードの設定)を参照してください。

于 2012-12-15T22:15:26.280 に答える
0

Ralph Baconの答えは、私にとって問題を解決するだけです。使用している html5 ボイラープレートに問題はありません。イントラネットで互換モードを使用している場合は、これを配置する必要があります

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

後に

<!DOCTYPE HTML>

全体として、ヘッダーは次のようになります。

<!DOCTYPE html>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7" lang=""> <![endif]-->
<!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8" lang=""> <![endif]-->
<!--[if IE 8]>         <html class="no-js lt-ie9" lang=""> <![endif]-->
<!--[if gt IE 8]><!-->
<html class="no-js" lang="en">
<!--<![endif]-->
于 2015-07-14T07:08:07.790 に答える