I have inline SVG with patterns. I need two different page layouts - one for "media print" another one for browsers. I am creating everything in #svgCanvas dynamically and I need it to appear at the bottom of my print layout.
My first idea was to clone whole svg, but then I ended up with things having same ID's and Firefox and Edge got really upset about it. What are the alternatives to achieve this?
I had a look at doing svg to html5 canvas conversion but for some reason that did not really work out for me so I though maybe there is another easier way like the one below? I know it is possible to do something like this:
<img src="external.svg">
so thought I should be able to do the same with inline svg.
<span class="media-print-only">
some stuff
<img src="#svgCanvas">
</span>
<span class="no-media-print">
some more stuff
<svg id="svgCanvas">
<defs> some <patterns> </defs>
some lines and rectangles that are using patterns in defs
</svg>
again more stuff
</span>