如何让svgxuse.js与turbolinks一起工作

时间:2017-01-19 16:13:51

标签: javascript ruby-on-rails svg turbolinks

我花了半天的时间试图找出为什么我的 SVG精灵在点击了turbolink后无法加载到Internet Explorer中

你可能知道,你需要一些javascript来在IE中渲染SVG,我使用 svgxuse.js (用Icomoons svg sprite打包)。

因此,如果您遇到类似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);

我只想分享我的发现"因为我还没有在谷歌上发现任何相关信息。

1 个答案:

答案 0 :(得分:0)

我无法使用svgxuse,我最终使用了svg4everybody

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