29

IE10 は、いくつかの jQuery コードの起動を拒否します。ランタイムのどこかで doctype が間違って検出され、4.01 移行バージョンが先頭に追加されていることがわかりました。

コンソールを表示している 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 スクリプトは外部の js ファイルからロードされ、jQuery(function() {..でラップされます jQuery("#myid").click( function(e){..

mootools と jQuery の両方を使用しているため (サムネールと KenBurns エフェクトを使用したスライドショー用の mootools プラグインが必要である必要はないことはわかっています)、jQuery が最初にロードされ、スクリプト内ではjQuery() のみを使用します... MooToolsは、必要に応じてボディ内にロードされるため、後で使用できます (これで問題ないかどうかはわかりませんが、「visualslideshow」で表示された方法です)。

jQueryを正しく動作させるためにそれを特定または修正する方法についてのアイデアや提案をお待ちしております(v1.8)。

4

5 に答える 5

3

私は同じ問題を抱えていました。使用している外部ライブラリを調べる価値があります。私は 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>

これが誰かに役立つことを願っています。

于 2013-08-09T09:21:24.237 に答える
0

これはIEとFireFoxで私に起こります.cssを含めたときに私が書いたからです"< link rel="stylesheet" type="text/javascript ..."

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

于 2013-07-15T17:30:30.457 に答える
0

2番目の最初の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">

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

于 2013-07-15T17:55:55.087 に答える