2012-03-23 12 views
0

My(Drupal)プロジェクト(ショッピングカート)は、現代のすべてのブラウザで正常に動作します。 IE8(とIE7)は例外です。 jquery.jsとすべてのjsファイルがロードされていますが、ソース表示モードで見ることができますが、実行はjquery.jsの内部で止まっています。IE8でのJavascriptに関する問題

新規編集:私のDOCTYPEは比較的新しいですが、私はここで

はコンソールモードからの私のプリントされている同じDOCTYPEとIE8でエラーなしで実行同じプラットフォーム(Drupalの)上の他のプロジェクトを持っている確かですIE9で開発者ツールで:

ブラウザモード:IE8ドキュメントモード:IE8標準

SCRIPT5022: Exception thrown and not caught 

    jquery.js?v=1.4.4, line 85 character 139 
    >> typeof jQuery 
    "function" 
    >> typeof $ 
    "undefined" 

上記のようにiE8のJSコンソールでtype:$と入力した場合、オブジェクトは定義されていませんが、他のブラウザでは機能しています。

IE9としてドキュメントモードを設定することで動作しているようだ一つの可能​​な解決策: これは動作します:

ブラウザモード:IE8ドキュメントモード:IE9標準が、これは私に何のロジックを持っていません。

他のソリューションは、私が失敗しました:

  1. 異なるjquery.jsのバージョン:1.4.4、1.5.2、1.6、1.7.1を、または CDNなし、とまたはhttpsなし://
  2. 異なるdoctypes。

これは[http://stackoverflow.com/questions/879137/problem-with-jquery-in-internet-explorer-8][4]

+0

可能重複http://stackoverflow.com/questions/879137/problem-with-jquery -in-internet-explorer-8) –

+0

また、なぜIE8がIE9標準について知っていると思われますか?リンクされた質問のように、 'content =" IE = EmulateIE7 "'を代わりに使用しましたか? –

+0

:)それではIE9でなぜこのようなオプションを選ぶことができますか?私はよくエミュレーションが私の問題の解決策ではないことを理解すれば、IE7もmalworkingです。 – Faraderegele

答えて

0

考えられる説明に相補的である:

$機能はChromeのとFirefoxのコンソール自体に定義されているが、それは、コンソールの「内部」関数です。 IE8のデバッグツールはそのようなことを定義していません。

jQueryがない空のタブでも、$はFirebugとWebInspectorコンソールで定義されています。

また、jQueryはnoConflictモードで実行され、グローバル$参照をクリーンアップします。

+0

あなたが正しいです、タイプのものは私の問題には関係ありません。 – Faraderegele

0

これは1つ以上の調査をすることができますが、docタイプが正しく指定されていないためIEがQurikモードにジャンプすると思いますか?

これは、あなたがそれを試すことができます解決しない場合:

if(typeof whatever != 'undefined') { ... } 
([Internet Explorer 8の中にjQueryを通報します]の
+0

私のdoctypeは<!DOCTYPE html>実際には比較的新しいですが、私はIE8上で同じdoctypeでエラーなく実行される同じプラットフォーム(Drupal)上に他のプロジェクトを持っています。 – Faraderegele