Steps to reproduce
Hit the “Bug!” button and watch the black rectangle disappear - hitting the “Fix!” button the element reappears. The element should however always remain visible.
This is the code required to reproduce (also in the fiddle):
A simple SVG snippet that has a “use” element:
<svg xmlns="http://www.w3.org/2000/svg" style="width:100px; height:100px">
<use id="use" href="#def" />
<rect id="def" fill="black" width="60px" height="60px"/></defs>
calling this method, the use element will disappear and the getBBox() method of el3 yields 0 width and height.
calling this no-op operation:
use.href.baseVal = use.href.baseVal;
fixes the rendering problem - it seems like IE is missing an update for the dirty calculation and does not render the use element because internally it has a cached size of 0,0.
Setting the href value in code to the same value should not make them reappear, either. Though please don’t just fix the latter issue, only, because this is the only workaround I am aware of.
This bug means that there is no Microsoft browser for Windows 10 available that has adequate SVG support (considering issues 2023492, 1567173, and 2057021 which disqualify MS Edge as a viable alternative). Customers need to switch to other, working browser implementations instead or stay on Windows 8.1.
Please fix this issue or the blockers in Edge.
Dev Channel specific:
Comments and activity
- Microsoft Edge Team
Changed Assigned To to “Mara P.”
Changed Assigned To to “Bogdan B.”
Changed Assigned To from “Bogdan B.” to “IE S.”
Changed Status to “Not reproducible”
Thank you for the feedback on Edge.
I tested this out on the current public stable build of Edge 14393 and cannot repro the behavior you described in the original report using MS Edge. Unfortunately we are no longer working on IE feature bugs unless they are security related.
All the best,
The MS Edge Team
The company I work for uses a lot of SVGs and Microsoft Edge is not an option for our clients yet. The hack described works, but seems utterly ridiculous for us to implement. I implore you to correct this bug.