2017-01-19 8 views
0

Я только что потратил половину дня, пытаясь понять, почему мой SVG спрайт не загружается в Internet Explorer после нажатия turbolink.Как сделать работу svgxuse.js с turbolinks

Как вы, вероятно, знаете, вам нужен javascript для рендеринга SVG в IE, я использую svgxuse.js (упакован с помощью спрайтов svg Icomoons).

Итак, если вы столкнулись с аналогичной проблемой с turbolinks и svgxuse.js, вам нужно отредактировать только две строки в файле svgxuse.js. Просто прокрутите до конца файла и найти:

window.addEventListener('load', function winLoad() { 
    window.removeEventListener('load', winLoad, false); // to prevent memory leaks 
    tid = setTimeout(checkUseElems, 0); 
}, false); 

И изменить это:

window.addEventListener('turbolinks:load', function winLoad() { 
    window.removeEventListener('turbolinks:load', winLoad, false); // to prevent memory leaks 
    tid = setTimeout(checkUseElems, 0); 
}, false); 

Я просто хотел бы поделиться своим «открытием», как я ничего не нашел об этом в Google.

ответ

0

Я не мог заставить его работать с svgxuse, я закончил с использованием svg4everybody с

document.addEventListener("turbolinks:load", svg4everybody);