2011-01-18 5 views
1

マップの領域がマウスオーバーまたはクリックされたときに、マップとエリアタグを使用してアクションを実行する世界のマップを継承しました(オブジェクト指向ではありません)。私たちがテストした他のすべてのブラウザ(Chrome、Firefox、IE7)でも正常に動作します。しかしIE8(私たちがサポートしている主要なブラウザ)は正しく機能しません。IE8でマップが機能しない

一部の領域は想定どおりに動作しますが、一部の領域はまったく応答しません。

マップを明確にするために、ほとんどの場合はJavaScript(地図と地域タグ)と画像が使用されています。ここで

は、サンプルマークアップのビットは次のとおりです。

<area shape="poly" id="A64" class="{linked:3,fillColor:'fff553'}" title="East Asia and the Pacific" href="#" onclick="return InitiateAsyncRequest('EastAsiaPacific');" coords="500,168,501,168,502,168,502,169,503,169,503,170,504,170,504,171,504,172,504,173,503,173,503,174,502,174,502,175,501,175,500,175,499,175,499,174,500,174,500,173,501,173,502,173,502,172,503,172,503,171,502,171,502,170,501,170,501,169,500,169" /> 

私はマップを交換するのを楽しみにしています。ただし、このリリースではこれはオプションではありません。ご協力いただきありがとうございます。

+0

本当に問題がそれであるのか分かりません。もう少し多くのコードが役に立ちます。または、より良いことに、[jsFiddle](http://jsfiddle.net/)のようなサイトの実例です。 Javascriptでエラーが発生しましたか? – Spudley

+0

コードはそれほど多くありません。マップタグがあり、より多くのエリアタグがあります。クリックすると、背景画像だけが変わります。 JavaScriptエラーは発生していません。基本的に、この問題は、いくつかの分野がイベントを投げていないように思えます。 – Adam

答えて

0

説明から、私は<map>/<area>のように聞こえると思いますが、タグはここでは赤いニシンです。彼らのうちのいくつかが働いている場合、他人がしてはならない理由は明白ではありません。

私は、あなたのJavascriptコードのバグが問題になる可能性が高いと思います。このシナリオでは、あなたのリンクのいくつかはうまくいくでしょう、そして、他の人は、彼らが壊れているJSの特定のビットに当たったので、そうしないでしょう。

IEは、FirefoxやChromeよりもJavascriptエラーの方が気になることがよくあります(同時に、エラー報告ではあまり役に立ちません)。これは明らかな経路のようです。

破損しているもののJSを、動作するものと同じになるように変更してみてください。壊れたものは今でも動作します(間違った地図の場所として動作しますが)?それがうまくいくなら、あなたの<area>タグには何も問題はありません。それはJavascriptでなければなりません。

IEがJSエラーを報告していない場合は、バグを見つけ出すまでコードを1行ずつデバッグしてバグを見つけなければなりません。

IE8を使用しているので、開発者用ツールが用意されているので、開いていることを確認して、コードの各行の前にconsole.log()コールを追加してください。コードを実行して、console.log()メッセージがどこで停止するかを確認します。

希望に役立ちます。

(言ったすべてのことは、あなたがポリゴン内のポイントの数を減らす試みていることを?多分、IEが制限されています?私はそれを疑うが、何もないが動作するかどうか、それは試してみる価値だ)

+0

私はちょうどあきらめるかもしれないと思う...それ以上の検査ではIE8で全く働かない。また、AJAXリクエストで背景画像を変更するだけです... – Adam

+0

一部のデバッグ後、onclick属性の関数が呼び出されていないことがわかりました。なぜ、私は分かりません! – Adam

+0

@Adamあなたの質問を閉じ、最も適切な回答を選択してください。 – biphobe

1

私が持っていましたIE8の同じ問題。私の場合、ソリューションはすべての座標を1行に配置することでした。 座標が複数の行に分かれている場合、IE8を除き、すべてのブラウザがマップを正しく使用していました。すべてのコーディネートが同じ行にあるようにファイルを再フォーマットした後、マップはIE8でも正しく表示されました。

3

私はちょうど<map>を使用していないIEで不思議な問題を抱えていました。私のための解決策は、属性のusemap='#A64'に#を入れることでした。

+0

素晴らしい、ありがとう。私は#を忘れていた。 – Ben

関連する問題