У меня есть функция, написанная на coffeescript, которая раньше работала нормально, но теперь выдает исключение 'Invalid Pointer' в ie8.
Сценарий кофе
convertSVGforIE = ->
if not $.support.svg or device.ff36
imagesToConvert = $('img.SVG')
imagesToConvert.each ->
imageSrcMinus = this.src.substr 0, this.src.length - 3
this.src = imageSrcMinus + 'png'
Javascript
convertSVGforIE = function() {
var imagesToConvert;
if (!$.support.svg || device.ff36) {
imagesToConvert = $('img.SVG');
return imagesToConvert.each(function() {
var imageSrcMinus;
imageSrcMinus = this.src.substr(0, this.src.length - 3); //Invalid pointer
return this.src = imageSrcMinus + 'png';
});
}
};
Я не вижу ничего плохого в моем сценарии. Пожалуйста, помогите мне определить, в чем проблема ie8.
UPDATE:
Я получил это на работу, но не в хорошем смысле
convertSVGforIE = ->
if not $.support.svg or device.ff36
$('img.SVG').each ->
that = $(this)
imageSrcMinus = that.attr('src').substr 0, that.attr('src').length - 3
that.attr 'src', imageSrcMinus+'png'
Вышеприведенный скрипт работает, но почему работает $ (this) .attr ('src')? пока this.src нет? И почему только в IE?