Какие-нибудь альтернативы для плагина JQuery Hilight?

Когда я нашел Хайлайт, я чуть не упал со стула. Это именно то, что мне нужно:)

Теперь грустно то, что демо не работает в IE8. Есть ли какие-либо исправления или альтернативы там?

1 ответ

Решение

Я отладил исходный код maphilight и обнаружил, что IE8 задыхается при добавлении правила для вновь созданной таблицы стилей. Когда я искал в Google именно эту проблему, я обнаружил сообщение об ошибке на треке OpenLayer. В отчете об ошибке был патч, и я использовал этот патч для плагина 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.

Другие вопросы по тегам