YouTube APIを使っています。ブラウザーがChromeだと目的通りに表示されるのですが、IE(ver.8)で見ると、表示されません。

http://www.withmama.info/s_ytube/test.html (たいへんお手数ですが、ソースを見ていただけますか?)

IE(ver.8)でページを開くと、下記のようなエラーメッセージがでます。

ユーザー エージェント: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
タイムスタンプ: Fri, 13 May 2011 06:10:23 UTC
メッセージ: Container is not defined
ライン: 448
文字: 29
コード: 0
URI: http://www.google.com/uds/api/visualization/1.0/c044e0de584c55447c5597e76d372bc1/default,table.I.js

解決方法をご教示いただけましたら、たいへんありがたいです。

回答の条件
  • 1人10回まで
  • 13歳以上
  • 登録:2011/05/13 16:44:00
  • 終了:2011/05/18 06:06:07

ベストアンサー

id:Lhankor_Mhy No.3

Lhankor_Mhy回答回数779ベストアンサー獲得回数2312011/05/13 21:44:33

ポイント100pt

 こんばんは。

 ↓jsonpで作り直してみました。

http://jsfiddle.net/wbGun/

 「RUN」ボタンを押して動かしてみてください。当方のIE8では動作しています。

id:ozaki

こちらのIE8で動きました! 感謝の感謝です!1 どうもありがとうございました!!!!!

2011/05/13 22:04:30

その他の回答(2件)

id:Banias No.1

Banias回答回数237ベストアンサー獲得回数192011/05/13 17:55:23

ポイント27pt

jQueryのバージョンの問題でしょう。

HTMLファイルを下記のように修正してみてください。

(変更前)

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

  ↓

(変更後)

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.js"></script>
id:ozaki

さっそくのご回答、たいへんありがとうございます。しかし、やってみたところ、

http://www.withmama.info/s_ytube/test2.html

ChromeでもIE(ver.8)の両方で表示されなくなってしまいました・・・。

2011/05/13 18:15:17
id:Banias No.2

Banias回答回数237ベストアンサー獲得回数192011/05/13 20:06:52

ポイント27pt

こちらのIE8では表示されるのですが・・・考えられる原因を列挙しておきます。

  1. jQueryのバージョンを jquery/1.4.2/jquery.js にしてみてください。
  2. HTMLファイルがBOM付UTF-8になっているので、BOM無UTF-8にしてみてください。
  3. JavaScriptの中で、行頭に全角スペースが入っている行が2行あります。半角スペースに変更してみてください。
  4. IEのキャッシュをすべてクリアしてみてください。
  5. IEのセキュリティ設定をデフォルト状態に戻してみてください。
id:ozaki

ご教示、ありがとうございます。1)から5)で、3)を除いてすべて実行してみましたが、状態はかわりませんでした(両方のブラウザーで表示されません)。3)は「全角スペース」を探す方法が分からなくて、実行できませんでした。http://www.withmama.info/s_ytube/test3.html

1)について、jquery/1.4.2/jquery.js ではなく、最初の jquery/1.6.0 に変更するとChromeでのみ、表示することができました。ただ、この状態でエラーメッセージが変わりました。

メッセージ: オブジェクトを指定してください。

ライン: 13

文字: 13

コード: 0

URI: http://www.withmama.info/s_ytube/test3.html

もう少しの予感がいたしますが、お付き合い願えますか?

2011/05/13 20:44:30
id:Lhankor_Mhy No.3

Lhankor_Mhy回答回数779ベストアンサー獲得回数2312011/05/13 21:44:33ここでベストアンサー

ポイント100pt

 こんばんは。

 ↓jsonpで作り直してみました。

http://jsfiddle.net/wbGun/

 「RUN」ボタンを押して動かしてみてください。当方のIE8では動作しています。

id:ozaki

こちらのIE8で動きました! 感謝の感謝です!1 どうもありがとうございました!!!!!

2011/05/13 22:04:30
  • id:Lhankor_Mhy
    これはjsonpだと動くのでしょうか。
    どちらにしろ、Access-Control-Allow-Originに頼っていると、IE7以下はSame-Originに引っかかるのでjsonpで対応した方がいいのではないかと思いました。
  • id:Lhankor_Mhy
    あ、見つけました。
    http://www.netagent-blog.jp/archives/51509761.html
    ↑ということで、jQueryでjsonを受け取る時はXDomainRequestを使わないみたいです。
    これが原因では?
  • id:ozaki
    http://www.netagent-blog.jp/archives/51509761.html の発見、ありがとうございます。しかし、難しすぎて具体的なコードが書けません。

    http://www.withmama.info/s_ytube/test.html を訂正していただけるとありがたいのですが・・・。

    ひと肌脱いでいただけませんか?

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません