0

ハイ、

カラーボックスを使用しようとしていますが、これまでのところ (Chrome と Firefox では) うまく機能しますが、Internet Explorer では機能しません ([Win7 64 ビットでバージョン 9 を使用しています]) 開発者ツール ウィンドウで任意のバージョンを設定しようとしました。しかし、どれも機能しません)。

私が見つけた多くの提案(doctypeの変更/修正、console.__が定義されていない、...)を試しましたが、何も機能しません。

異常なログ出力はありません。開発者ツール コンソールを介して colorbox() を適用するために使用するセレクターを試してみましたが、正しい要素が取得されます。コードも呼び出されます (ログ出力で確認されます)。

少し奇妙に感じた 1 つのことは、Chrome カラーボックスでページの最後にこの DOM エントリが生成されることでした。

<div id="colorbox" class="" style="display: none; padding-bottom: 42px; padding-right: 42px; ">

一方、IEはこれを取得します:

<div id="colorbox" class="" style="display: none;" >

しかし、私はその理由を見つけることができませんでした。

私が持っている他のCSSを無効にしようとしましたが、何の効果もありません。

4

1 に答える 1

0

私は最終的にそれが何であるかを知りました...私のページはHTML5である必要があり、Modernizr(HTML5関連のものをチェック/修正するjavascriptライブラリ)を使用しています。基本的に、ユーザーが小さなデバイスを持っているかどうかをメディアクエリ経由でチェックするためにのみ使用します(タブレット/電話) またはデスクトップ。

この問題は、何らかの形でメディアクエリに関連していました。modernizr ライブラリを埋め込むだけでは害はありませんでした (それを呼び出す必要はありません)。しかし、modernizr を介してメディア クエリを実行するとすぐに、colorbox が機能しなくなりました。

それをテストするために、modernizrライブラリとライブラリへのすべての呼び出しを削除しました-> Colorboxは魅力的に機能しました!

少し新しいバージョンのmodernizrをダウンロードしました(2.5.__があり、2.6.1に更新されました)。Modernizrを使用している場合でもColorboxが機能するようになりました。

この問題は Internet Explorer にのみ影響したため、IE でのみ発生した古い Modernizr バージョンのバグであると推測しています。

これには何時間もかかりました...だから、私が学んだ教訓は、本当に必要のないJSライブラリを決して使用しないことだと思います。

于 2012-09-09T16:07:35.613 に答える