We have ran into an issue where our SVG images aren’t scaling in IE 11. It works fine in Chrome and Firefox. I’ve tried several different properties with no luck. Here is my example:
<!DOCTYPE html>
<html>
<head>
<title>IE SVG Example</title>
<meta charset="UTF-8">
<script src="go.js"></script>
<script id="code">
function init() {
// if (window.goSamples) goSamples(); // init for these samples -- you don't need to call this
var $ = go.GraphObject.make; // for conciseness in defining templates
myDiagram = $(go.Diagram, "myDiagram", // create a Diagram for the DIV HTML element
{
initialContentAlignment: go.Spot.Center, // center the content
"undoManager.isEnabled": true // enable undo & redo
});
// define a simple Node template
myDiagram.nodeTemplate =
$(go.Node, "Auto", // the Shape will go around the TextBlock
$('Picture', {
name: 'templateIcon',
background: null,
alignment: go.Spot.Center,
imageStretch: go.GraphObject.Uniform,
width: 256,
height: 256
},
new go.Binding('source', 'templateSource')
));
// but use the default Link template, by not setting Diagram.linkTemplate
// create the model data that will be represented by Nodes and Links
myDiagram.model = new go.GraphLinksModel(
[
{ templateSource: 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPCEtLSBHZW5lcmF0b3I6IEljb01vb24uaW8gLS0+IDwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+IDxzdmcgd2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBmaWxsPSIjMDAwMDAwIj48ZyBjbGFzcz0ic3ZnR3JpZCIgaWQ9InN2Z0dyaWQiPjxsaW5lIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlPSIjQjM1MDQ3IiB4MT0iMzIiIHgyPSIzMiIgeTE9IjAiIHkyPSI1MTIiPjwvbGluZT48bGluZSBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZT0iI0IzNTA0NyIgeDE9IjY0IiB4Mj0iNjQiIHkxPSIwIiB5Mj0iNTEyIj48L2xpbmU+PGxpbmUgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2U9IiNCMzUwNDciIHgxPSI5NiIgeDI9Ijk2IiB5MT0iMCIgeTI9IjUxMiI+PC9saW5lPjxsaW5lIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlPSIjQjM1MDQ3IiB4MT0iMTI4IiB4Mj0iMTI4IiB5MT0iMCIgeTI9IjUxMiI+PC9saW5lPjxsaW5lIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlPSIjQjM1MDQ3IiB4MT0iMTYwIiB4Mj0iMTYwIiB5MT0iMCIgeTI9IjUxMiI+PC9saW5lPjxsaW5lIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlPSIjQjM1MDQ3IiB4MT0iMTkyIiB4Mj0iMTkyIiB5MT0iMCIgeTI9IjUxMiI+PC9saW5lPjxsaW5lIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlPSIjQjM1MDQ3IiB4MT0iMjI0IiB4Mj0iMjI0IiB5MT0iMCIgeTI9IjUxMiI+PC9saW5lPjxsaW5lIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlPSIjQjM1MDQ3IiB4MT0iMjU2IiB4Mj0iMjU2IiB5MT0iMCIgeTI9IjUxMiI+PC9saW5lPjxsaW5lIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlPSIjQjM1MDQ3IiB4MT0iMjg4IiB4Mj0iMjg4IiB5MT0iMCIgeTI9IjUxMiI+PC9saW5lPjxsaW5lIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlPSIjQjM1MDQ3IiB4MT0iMzIwIiB4Mj0iMzIwIiB5MT0iMCIgeTI9IjUxMiI+PC9saW5lPjxsaW5lIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlPSIjQjM1MDQ3IiB4MT0iMzUyIiB4Mj0iMzUyIiB5MT0iMCIgeTI9IjUxMiI+PC9saW5lPjxsaW5lIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlPSIjQjM1MDQ3IiB4MT0iMzg0IiB4Mj0iMzg0IiB5MT0iMCIgeTI9IjUxMiI+PC9saW5lPjxsaW5lIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlPSIjQjM1MDQ3IiB4MT0iNDE2IiB4Mj0iNDE2IiB5MT0iMCIgeTI9IjUxMiI+PC9saW5lPjxsaW5lIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlPSIjQjM1MDQ3IiB4MT0iNDQ4IiB4Mj0iNDQ4IiB5MT0iMCIgeTI9IjUxMiI+PC9saW5lPjxsaW5lIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlPSIjQjM1MDQ3IiB4MT0iNDgwIiB4Mj0iNDgwIiB5MT0iMCIgeTI9IjUxMiI+PC9saW5lPjxsaW5lIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlPSIjQjM1MDQ3IiB4MT0iMCIgeDI9IjUxMiIgeTE9IjMyIiB5Mj0iMzIiPjwvbGluZT48bGluZSBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZT0iI0IzNTA0NyIgeDE9IjAiIHgyPSI1MTIiIHkxPSI2NCIgeTI9IjY0Ij48L2xpbmU+PGxpbmUgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2U9IiNCMzUwNDciIHgxPSIwIiB4Mj0iNTEyIiB5MT0iOTYiIHkyPSI5NiI+PC9saW5lPjxsaW5lIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlPSIjQjM1MDQ3IiB4MT0iMCIgeDI9IjUxMiIgeTE9IjEyOCIgeTI9IjEyOCI+PC9saW5lPjxsaW5lIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlPSIjQjM1MDQ3IiB4MT0iMCIgeDI9IjUxMiIgeTE9IjE2MCIgeTI9IjE2MCI+PC9saW5lPjxsaW5lIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlPSIjQjM1MDQ3IiB4MT0iMCIgeDI9IjUxMiIgeTE9IjE5MiIgeTI9IjE5MiI+PC9saW5lPjxsaW5lIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlPSIjQjM1MDQ3IiB4MT0iMCIgeDI9IjUxMiIgeTE9IjIyNCIgeTI9IjIyNCI+PC9saW5lPjxsaW5lIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlPSIjQjM1MDQ3IiB4MT0iMCIgeDI9IjUxMiIgeTE9IjI1NiIgeTI9IjI1NiI+PC9saW5lPjxsaW5lIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlPSIjQjM1MDQ3IiB4MT0iMCIgeDI9IjUxMiIgeTE9IjI4OCIgeTI9IjI4OCI+PC9saW5lPjxsaW5lIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlPSIjQjM1MDQ3IiB4MT0iMCIgeDI9IjUxMiIgeTE9IjMyMCIgeTI9IjMyMCI+PC9saW5lPjxsaW5lIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlPSIjQjM1MDQ3IiB4MT0iMCIgeDI9IjUxMiIgeTE9IjM1MiIgeTI9IjM1MiI+PC9saW5lPjxsaW5lIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlPSIjQjM1MDQ3IiB4MT0iMCIgeDI9IjUxMiIgeTE9IjM4NCIgeTI9IjM4NCI+PC9saW5lPjxsaW5lIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlPSIjQjM1MDQ3IiB4MT0iMCIgeDI9IjUxMiIgeTE9IjQxNiIgeTI9IjQxNiI+PC9saW5lPjxsaW5lIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlPSIjQjM1MDQ3IiB4MT0iMCIgeDI9IjUxMiIgeTE9IjQ0OCIgeTI9IjQ0OCI+PC9saW5lPjxsaW5lIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlPSIjQjM1MDQ3IiB4MT0iMCIgeDI9IjUxMiIgeTE9IjQ4MCIgeTI9IjQ4MCI+PC9saW5lPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZT0iI0IzNTA0NyI+PC9yZWN0PjwvZz48cGF0aCBkPSJNIDEyOS4xMzksMjIzLjI3MSBMIDU1Ljg3Myw5Ni4zNyBDIDEwMi43ODIsMzcuNjM4IDE3NC45OSwwLjAwIDI1Ni4wMCwwLjAwIEMgMzQ5LjcxNiwwLjAwIDQzMS42NTUsNTAuMzY4IDQ3Ni4yNjYsMTI1LjUwIEwgMjY3LjM4MSwxMjUuNTAgQyAyNjMuNjI5LDEyNS4xNzUgMjU5LjgzNSwxMjUuMDAgMjU2LjAwLDEyNS4wMCBDIDE5NS4wNjMsMTI1LjAwIDE0My43MTEsMTY2LjgyMiAxMjkuMTM5LDIyMy4yNzEgWk0gMzQ3LjY1MywxNjIuNTAgTCA0OTQuMzgzLDE2Mi41MCBDIDUwNS43NTMsMTkxLjQ2NSA1MTIuMDAsMjIzLjAwMiA1MTIuMDAsMjU2LjAwIEMgNTEyLjAwLDM5Ni40MTMgMzk4Ljk1LDUxMC40MDIgMjU4LjkwNyw1MTEuOTYzIEwgMzYzLjYwNCwzMzAuNjI0IEMgMzc4LjM0NCwzMDkuNDM1IDM4Ny4wMCwyODMuNzExIDM4Ny4wMCwyNTYuMDAgQyAzODcuMDAsMjE5LjQxNSAzNzEuOTE4LDE4Ni4yOSAzNDcuNjUzLDE2Mi41MCBaTSAxNjMuMDAsMjU2LjAwIEMgMTYzLjAwLDIwNC43MiAyMDQuNzIsMTYzLjAwIDI1Ni4wMCwxNjMuMDAgQyAzMDcuMjgsMTYzLjAwIDM0OS4wMCwyMDQuNzIgMzQ5LjAwLDI1Ni4wMCBDIDM0OS4wMCwzMDcuMjggMzA3LjI4LDM0OS4wMCAyNTYuMDAsMzQ5LjAwIEMgMjA0LjcyLDM0OS4wMCAxNjMuMDAsMzA3LjI4IDE2My4wMCwyNTYuMDAgWk0gMjkxLjA5MSwzODIuMjIxIEwgMjE3LjgwMiw1MDkuMTYgQyA5NC41MzYsNDkwLjcxOCAwLjAwLDM4NC40MDIgMC4wMCwyNTYuMDAgQyAwLjAwLDIxMC4zOTEgMTEuOTQyLDE2Ny41NzcgMzIuODQ4LDEzMC40ODggTCAxMzcuMzYzLDMxMS41MTUgQyAxNTguMjk3LDM1Ni4wNzEgMjAzLjYwMSwzODcuMDAgMjU2LjAwLDM4Ny4wMCBDIDI2OC4xNSwzODcuMDAgMjc5LjkxOCwzODUuMzMgMjkxLjA5MSwzODIuMjIxIFoiID48L3BhdGg+PC9zdmc+'}
]);
}
</script>
</head>
<body onload="init()">
<div id="sample">
<!-- The DIV for the Diagram needs an explicit size or else we won't see anything.
Also add a border to help see the edges. -->
<div id="myDiagram" style="border: solid 1px black; width:640px; height:640px"></div>
</div>
</body>
</html>
Here is the test SVG that is base64 encoded in the example above. We store images in our database in this format.
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: IcoMoon.io -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="512" height="512" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="#000000">
<g class="svgGrid" id="svgGrid">
<line stroke-width="1" stroke="#B35047" x1="32" x2="32" y1="0" y2="512"/>
<line stroke-width="1" stroke="#B35047" x1="64" x2="64" y1="0" y2="512"/>
<line stroke-width="1" stroke="#B35047" x1="96" x2="96" y1="0" y2="512"/>
<line stroke-width="1" stroke="#B35047" x1="128" x2="128" y1="0" y2="512"/>
<line stroke-width="1" stroke="#B35047" x1="160" x2="160" y1="0" y2="512"/>
<line stroke-width="1" stroke="#B35047" x1="192" x2="192" y1="0" y2="512"/>
<line stroke-width="1" stroke="#B35047" x1="224" x2="224" y1="0" y2="512"/>
<line stroke-width="1" stroke="#B35047" x1="256" x2="256" y1="0" y2="512"/>
<line stroke-width="1" stroke="#B35047" x1="288" x2="288" y1="0" y2="512"/>
<line stroke-width="1" stroke="#B35047" x1="320" x2="320" y1="0" y2="512"/>
<line stroke-width="1" stroke="#B35047" x1="352" x2="352" y1="0" y2="512"/>
<line stroke-width="1" stroke="#B35047" x1="384" x2="384" y1="0" y2="512"/>
<line stroke-width="1" stroke="#B35047" x1="416" x2="416" y1="0" y2="512"/>
<line stroke-width="1" stroke="#B35047" x1="448" x2="448" y1="0" y2="512"/>
<line stroke-width="1" stroke="#B35047" x1="480" x2="480" y1="0" y2="512"/>
<line stroke-width="1" stroke="#B35047" x1="0" x2="512" y1="32" y2="32"/>
<line stroke-width="1" stroke="#B35047" x1="0" x2="512" y1="64" y2="64"/>
<line stroke-width="1" stroke="#B35047" x1="0" x2="512" y1="96" y2="96"/>
<line stroke-width="1" stroke="#B35047" x1="0" x2="512" y1="128" y2="128"/>
<line stroke-width="1" stroke="#B35047" x1="0" x2="512" y1="160" y2="160"/>
<line stroke-width="1" stroke="#B35047" x1="0" x2="512" y1="192" y2="192"/>
<line stroke-width="1" stroke="#B35047" x1="0" x2="512" y1="224" y2="224"/>
<line stroke-width="1" stroke="#B35047" x1="0" x2="512" y1="256" y2="256"/>
<line stroke-width="1" stroke="#B35047" x1="0" x2="512" y1="288" y2="288"/>
<line stroke-width="1" stroke="#B35047" x1="0" x2="512" y1="320" y2="320"/>
<line stroke-width="1" stroke="#B35047" x1="0" x2="512" y1="352" y2="352"/>
<line stroke-width="1" stroke="#B35047" x1="0" x2="512" y1="384" y2="384"/>
<line stroke-width="1" stroke="#B35047" x1="0" x2="512" y1="416" y2="416"/>
<line stroke-width="1" stroke="#B35047" x1="0" x2="512" y1="448" y2="448"/>
<line stroke-width="1" stroke="#B35047" x1="0" x2="512" y1="480" y2="480"/>
<rect x="0" y="0" width="512" height="512" fill="none" stroke-width="1" stroke="#B35047"/>
</g>
<path d="M 129.139,223.271 L 55.873,96.37 C 102.782,37.638 174.99,0.00 256.00,0.00 C 349.716,0.00 431.655,50.368 476.266,125.50 L 267.381,125.50 C 263.629,125.175 259.835,125.00 256.00,125.00 C 195.063,125.00 143.711,166.822 129.139,223.271 ZM 347.653,162.50 L 494.383,162.50 C 505.753,191.465 512.00,223.002 512.00,256.00 C 512.00,396.413 398.95,510.402 258.907,511.963 L 363.604,330.624 C 378.344,309.435 387.00,283.711 387.00,256.00 C 387.00,219.415 371.918,186.29 347.653,162.50 ZM 163.00,256.00 C 163.00,204.72 204.72,163.00 256.00,163.00 C 307.28,163.00 349.00,204.72 349.00,256.00 C 349.00,307.28 307.28,349.00 256.00,349.00 C 204.72,349.00 163.00,307.28 163.00,256.00 ZM 291.091,382.221 L 217.802,509.16 C 94.536,490.718 0.00,384.402 0.00,256.00 C 0.00,210.391 11.942,167.577 32.848,130.488 L 137.363,311.515 C 158.297,356.071 203.601,387.00 256.00,387.00 C 268.15,387.00 279.918,385.33 291.091,382.221 Z" />
</svg>
Any ideas on how to get this to work in IE?