5

ハイライトを見つけたとき、椅子から転げ落ちそうになりました。それはまさに私が必要とするものです:)

残念なことに、このデモは IE8 では動作しないようです。そこに修正または代替手段はありますか?

4

1 に答える 1

12

maphilight ソース コードをデバッグしたところ、新しく作成されたスタイルシートのルールを追加しているときに IE8 が停止することがわかりました。この特定の問題を Google で検索したところ、OpenLayer の track に関するバグ レポートが見つかりました。バグ レポートにはパッチがあり、このパッチを maphilight プラグインで使用して修正しました。

これがあなたがする必要があることです。jquery.maphilight.js (圧縮されていないソース) を開き、63 行目に移動すると、次のような内容が表示されます。

document.createStyleSheet().addRule("v\\:*", "behavior: url(#default#VML); antialias: true;"); //IE8 chokes on this line.
document.namespaces.add("v", "urn:schemas-microsoft-com:vml");

上記を次のように置き換えます。

document.namespaces.add("v", "urn:schemas-microsoft-com:vml"); 
var style = document.createStyleSheet();
var shapes = ['shape','rect', 'oval', 'circ', 'fill', 'stroke', 'imagedata', 'group','textbox'];  
$.each(shapes,
    function()
    {
        style.addRule('v\\:' + this, "behavior: url(#default#VML); antialias:true");
    }
);

IE8 で動作するようになりました。これが証拠です。ワイオミング州がどのように強調されているかをご覧ください。

これがIE6およびIE7で機能するかどうかはわかりません。自分でテストする必要があります。IE6 と IE7 でこれが壊れる場合は、ブラウザが IE8 の場合にのみ、このパッチを適用する必要があります。

繰り返しますが、上記のパッチは元の作者の功績によるものです。maphilight プラグインでのみ問題をデバッグしました。

于 2009-07-23T02:22:01.373 に答える