Я добавляю SVG на свою веб-страницу динамически, используя пользовательскую функцию:
function appendSVGImageButton(parent, child, x, y, w, h, colour, svg, target){
var url = svgURL + svg + '.svg';
//create holder
var holderID = child+"_holder";
var holderDiv = $("<div id='"+holderID+"' class='noselect' style='left:"+x+"px; top:"+y+"px; width:"+w+"px; height:"+h+"px; position:absolute; background-color:"+colour+"; overflow:hidden;'></div>");
$("#"+parent).append(holderDiv);
//create svg
var svgID = child+"_svg";
var svgObj = $("<object data='"+url+"' type='image/svg+xml' style='left:0px; top:0px; width:"+w+"px; height:"+h+"px; position:absolute;'></object>");
$("#"+holderID).append(svgObj);
//create button
var buttonID = child+"_button";
var buttonDiv = $("<div id='"+buttonID+"' class='noselect' style='left:0px; top:0px; width:"+w+"px; height:"+h+"px; position:absolute; cursor: pointer;'></div>");
$("#"+holderID).append(buttonDiv);
var div = document.getElementById(buttonID);
div.addEventListener('click', target);
}
Что называется так из моего основного файла:
appendSVGImageButton('productView', 'closeProductView', 19 * bD, 0, bD, bD, 'white', 'closeBig', closeProductView);
Но когда я размещаю разный контент на странице, SVG загружается через секунду после остального контента. Вот пример SVG:
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 28.3 28.3" style="enable-background:new 0 0 28.3 28.3;" xml:space="preserve">
<style type="text/css">
@import url("http://www.example.com/temp/wp-content/themes/new/style.css");
</style>
<g id="blue">
<line class="st6" x1="6.8" y1="21.5" x2="21.5" y2="6.8"/>
</g>
<g id="red">
<g>
<line class="st18" x1="21.5" y1="21.5" x2="6.8" y2="6.8"/>
</g>
</g>
<g id="white_only_in_heart">
</g>
</svg>
Мне интересно, замедляет ли @import бизнес? Первоначально у меня были классы, определенные в тегах стиля, но это было все еще довольно медленно. Есть идеи?
EDIT: