Exports any SVG DOM elements (now including those within same-origin IFrames) on a web page to files for further use in drawing packages such as Inkscape.
Scans through CSS classes for styles the SVG and their child elements uses and adds them as standalone style elements to the SVG object, so the generated SVG file doesn't depend on external CSS classes. Good for passing out visualisations generated with D3.
Uses Eli Grey's fileSaver routine: https://github.com/eligrey/FileSaver.js/
1.1: Now adds dummy svg node which holds computed style of svg element's parent node. Irons out a few discrepancies.
1.11: Dummy svg node now holds computed style of actual svg element, solves couple of further bugs.
1.12: Catches errors caused by invalid style rules rather than crashes
1.13: Couple more errors to do with parent style recognition ironed out.
1.14: Can now also pull out svg elements within IFrames.
1.15: Bugfix when css styles not present - xinczhang
1.16: Bugfix when IFrame is inaccessible (caused crash)
1.17: Bugfix where styles applied to svg element itself weren't being picked up
1.18: Bugfix where class being an SVGAnimatedString caused a crash. Thanks to Robert Kerr for spotting this.
1.19: Thanks to Severin Neumann for adding the ability to include images embedded in SVG.
1.20: Catch stylesheet access exception error
1.22: Add alert popup to say what svgExport has found. Save svg's with slightly useful filenames (svg element's id and class)
1.23 Update to manifest v3, remove some unneeded permissions