web-dev-qa-db-ja.com

IE10(9,8)はDOCTYPE xhtmlを認識しません

IE10は、実行時にdoctypeが間違って検出され、4.01移行バージョンが追加された限り、jQueryコードの起動を拒否します

iEの開発者ツールでコンソールを表示すると、_HTML1524: Invalid DOCTYPE. The shortest valid doctype is "<!DOCTYPE html>"_が表示されます。および次の(実行時変更)html:

私はDOCTYPEの誤用と動作していないjQueryの両方に共通の理由があると信じていますが、それが何であるかを見つけられませんでした

_<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><HTML 
xmlns="http://www.w3.org/1999/xhtml" slick-uniqueid="1"><HEAD><META 
content="IE=10.000" http-equiv="X-UA-Compatible">

<META http-equiv="X-UA-Compatible" content="IE=Edge">
<META http-equiv="Content-Type" content="text/html; charset=windows-1250">
<TITLE>....
_

一方、IEは標準モードで実行するように述べていますが、それでもまだ機能しないものがあります(主にクリックイベントでリンクをjQueryのものに置き換えてコンテンツを表示し、代わりにまったく新しいものをロードしますページ-アコーディオンを使用して他のメニューブランチをアンパックするために使用され、hrefを含むカテゴリヘッダーの元のリンクは、jQueryがアコーディオンをアニメーション化できない場合にのみフォールバックします)

他のブラウザでの作業中に、クリックイベントまたはjquery ui関数で他のボタンが多すぎて、ボタンがIE

サーバーから提供される元のHTMLは次のとおりです:

_<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="sk" lang="sk">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250" />
<title>...
_

私はmootoolsとjQueryの両方を使用することを余儀なくされており、htm属性のslick-uniqueidがmooからのものであることを知っています.Doctypeを編集する人が同じであるかどうかはわかりませんが、IE =ブラウザのみ、ChromeとFirefoxは問題なく動作します

jQueryスクリプトは、jQuery(function(){..でラップされた外部jsファイルからロードされ、すべてドル記号の代わりにjQueryの完全な変数名を使用します。 jQuery("#myid").click( function(e){..

mootoolsとjQueryの両方を使用するように(サムネイルとKenBurns効果を備えたスライドショーのためにいくつかのmootoolsプラグインが必要ではありませんが、誰でも無料のjQ代替を知っていますか?? /)、jQueryが最初にロードされますおよびスクリプト内ではjQuery()...のみを使用するため、$ドル記号はmootoolsが後で使用するためにすべて無料です必要に応じてロードされ、ボディとともに(それは大丈夫ではありませんが、「visualslideshow」がそれを提示した方法です)

JQueryを正しく動作させるために、それを特定または修正する方法についてのアイデアや提案を聞いてうれしいです(v1.8)

29
Peminator

DOCTYPEを次のように変更します。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

(移行の代わりに厳密なXHTMLを使用)

IE10は、コンソールでのエラーのスローを停止します。 IE10が過渡的なXHTMLを好まない理由はわかりません。 IE10がXHTML 1.0 Transitional DOCTYPEを認識する方法があれば、それは素晴らしいことです。

15
userx

を使用してエラーを取り除くことができました

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

の代わりに

<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
5
james31rock

同じ問題がありました。使用している外部ライブラリを調べる価値があります。私はBXSliderを使用していましたが、IE10のjQuery 1.8には満足していませんでした。 IE10が失敗し、メッセージが表示されたため。

  HTML1524: Invalid DOCTYPE. The shortest valid doctype is "<!DOCTYPE html>

私の解決策は、JQueryを1.9.1にアップグレードし、jQueryの移行も含めることでした。

      <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
      <script src="http://code.jquery.com/jquery-migrate-1.1.0.js"></script>

これが誰かを助けることを願っています。

3
Invincible

あなたのタイプミスがあります 第二 最初のDOCTYPE定義、W3C 欠けている 余分なcがあります:

                                                                             v-- extra "c"
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

それを修正して、もう一度テストしてください。

0
Ast Derek

これはIEおよびFireFoxで起こります。CSSを含めると"< link rel="stylesheet" type="text/javascript ..."

type="text/css"に変更するだけで機能します。

0
user2584478