78

jQuery 関数を IE8 で動作させようとしています。Google のサーバー ( http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js ) からライブラリを読み込んでいます。

$(function(){})呼び出されません。代わりに、エラーが発生しますObject expected。開発者を開いてtypeof $コンソールで実行したところ、undefined.

jQuery (jquery.com) を使用していることがわかっている他のサイトにアクセスしてみましたが、それらはすべて機能します。

4

20 に答える 20

42

変数を定義するときは、変数の前に「var」と書きます。「var」がない場合、IE8 は終了します。

于 2010-05-06T17:32:40.323 に答える
39

修正:

スクリプト インクルード タグを確認してください。

type="application/javascript" src="/path/to/jquery" 

への変更

type="text/javascript" src="/path/to/jquery" 
于 2010-12-15T11:05:45.247 に答える
38

私は同様の問題を抱えていました。IE6、Firefox、および IE7 互換モードで動作する IE8 で動作しました。「通常の」IE8ではありません。私の解決策は、このコードをヘッダーに入れることでした

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

jquery が IE8 で動作しない理由については不明です。

于 2009-10-15T01:29:53.537 に答える
12

解決策は、jQueryの最新バージョンにアップグレードすることです。私はまったく同じ問題を抱えていて、1.4.2にアップグレードしましたが、IE8でもすべて正常に動作します。

私が行ったすべてのjQuery1.3.2のものと完全に下位互換性があるように思われるので、ここでは不満はありません!

于 2010-06-11T08:13:11.227 に答える
10

私はこの問題を抱えていて、ここで述べた解決策を試しましたが成功しませんでした。

http URL最終的に、スクリプトを埋め込んだページがである間、スクリプトのGoogleCDNバージョンにリンクしていることに気付きましたhttps page

これにより、IEはjqueryをロードしませんでした(安全なコンテンツのみをロードするかどうかをユーザーに確認します)。httpsスキームを使用するようにGoogleCDNURLを変更すると、問題が修正されました。

于 2010-11-19T12:49:10.897 に答える
8

この投稿に出くわした一部の人々は、>= jQuery v2 を使用しているため、jquery と IE8 でこの問題が発生する可能性があります。次のコードを使用します。

<!--[if lt IE 9]>
    <script src="jquery-1.9.0.js"></script>
<![endif]-->
<!--[if gte IE 9]><!-->
    <script src="jquery-2.0.0.js"></script>
<!--<![endif]-->
于 2014-08-27T23:48:14.383 に答える
6

jQuery がロードされていません。これはおそらく IE8 に固有のものではありません。jQuery インクルードのパスを確認してください。声明。またはさらに良いことに、CDN に対して次を使用します。

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js">
</script>
于 2009-05-18T18:43:01.460 に答える
6

サイトで HTTPS を使用している場合は、代わりに Google の https サーバーから jQuery ライブラリをロードする必要があります。これを試してください: https://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js (または最新のhttps://ajax.googleapis.com/ajax/libs/jquery/1.5.1/ jquery.min.js )

于 2011-04-26T19:31:33.490 に答える
5

doctype を含めるのを忘れた他の誰かが作成したテンプレートを修正していました。

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

宣言しないと、doctype IE8は Quirks モードで奇妙な動作をします。

于 2010-12-07T05:00:33.077 に答える
4

onloadイベントは、 IE7/8では常に機能するとは限りません。<head> ... </head>

以下のように、ページの最後のタグの前にonloadスクリプトを追加することで、強制的に実行できます。

  <script>
    window.onload();
  </script>
</body>
于 2010-10-21T12:24:41.373 に答える
4

Object expectedJquery がロードされていないため、エラーが発生します。これは、ブラウザーのセキュリティ (通常は IE) が原因で発生し、外部の JavaScript ソース コードの実行が許可されていません。この問題は、次の方法で修正できます。

  • 1: ブラウザーのセキュリティ レベルを変更して、外部の JavaScript コードを実行できるようにします。ここでこれを行う方法を見つけることができます

また

  • 2: 外部スクリプトと見なされないように、jquery ソース コードを Web ページにコピー アンド ペーストします。

私は最初の解決策を好みます。

于 2011-08-17T09:19:12.850 に答える
2

これにより、IE8での私の問題が修正されました。

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>

ローカルホストで実行しているので、https://http: //に変更する必要がありました

安全なリンクを参照しようとすると、InternetExplorerがWebページに 適した警告を表示できなくなります。

問題がある場合は、必ず最初にブラウザにテキストスクリプトをロードしてみてください。

于 2011-05-01T22:33:52.513 に答える
2

たぶんあなたは2つのスクリプトを挿入します、それはうまくいくはずです。

<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE8.js"></script>  
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js">/script> 
于 2010-09-16T07:17:22.417 に答える
2

私も同じ問題を抱えていました。

SRC URLに到達するようにIE8が正しく構成されていないことを確認して解決しました。

私はこれを変更しました、それは正しく動作します。

于 2009-08-05T14:07:44.273 に答える
1

私も同じ問題を抱えていました。解決策は、IEの信頼できるサイトとしてJQueryファイルへのリンクを追加することでした。

于 2010-10-13T14:54:28.533 に答える
1

あなたは私と同じ問題を抱えていると思います:

Message: Permission denied
Line: 13
Char: 27021
Code: 0
URI: http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.3.2.min.js

クロスドメイン参照のため。同じドメインで jquery.js をホストしてみてください。

于 2011-04-18T13:49:45.950 に答える
1

inPrivate フィルタリングがオンになっている可能性がありますか?

于 2009-05-18T18:54:40.207 に答える
0

要するに、それはIE8解析エンジンのせいです。

Microsoftが新しいHTML5タグ(「セクション」など)の操作にも問題があるのはなぜだと思いますか?これは、MSが、他の世界とは異なり、通常のXML解析を使用しないことを決定したためです。はい、そうです。彼らはXMLで大量の宣伝を行いましたが、最終的には、「既知のタグ」を探して何か新しいことが起こったときに何かを台無しにする「愚かな」解析エンジンに頼ります。

IE8と、「load」、「get」、「post」に関するjqueryの問題についても同じことが言えます。繰り返しになりますが、Microsoftはバージョン8で「独自の道を歩む」ことを決定しました。IE9でこれを解決することを期待して、現在の唯一のオプションは、IE7での解析にフォールバックすること<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />です。

まあ...マイクロソフトが私たちに再びフォーラムに投稿させてくれたのはなんと驚きでしょう。;)

于 2011-03-12T08:34:27.737 に答える
0

私の場合の解決策は、アクセスしようとしている URL から特殊文字を取り除くことでした。そこにチルダ (~) とパーセンテージ記号があり、$.get() 呼び出しは黙って失敗しました。

于 2012-08-17T11:10:25.390 に答える
0

わかった!jQueryがロードされていることは知っています。私はそれjQuery.textshadow.jsがロードされていることを知っています。開発者ツールで両方のスクリプトを見つけることができます。

奇妙な点: このコードはコンテンツ領域では機能しますが、バナーでは機能しません。専用でもfixIE.css。そして、CSSをインラインにすると機能します。(もちろん、それは FireFox を台無しにします。)

バナーのテキスト フィールドの周りに条件付きの IE スパンを配置しても、うまくいきませんでした。

jquery-1.4.2.min.js違いはなく、 と の両方で同じエラーが発生しましたjquery-1.2.6.min.jsjquery.textshadow.jsこの問題の解決策を見つけようとしているときに、jQuery サイトからダウンロードされました。

これはウェブサイトに掲載されていません

于 2010-05-08T14:09:23.333 に答える