Je me suis heurté à quelque chose auquel je ne m'attendais pas. Test d'un site dans IE Edge, je reçois une erreur dans la console:Microsoft Edge ne peut pas définir l'attribut de données sur SVG
Impossible de définir la propriété « forme » de référence non définie ou null
Après le débogage pendant un certain temps, il semble que Microsoft Edge ne peut pas définir un attribut de données sur un élément SVG utilisant un ensemble de données. J'ai fait un test réduit:
https://codepen.io/freemagee/pen/YQRowd
Il y a un SVG unique sur ce Codepen, que je puis essayer d'ajouter quelques attributs de données à l'aide de données. Lorsque je vois ce codepen dans Microsoft Edge, je reçois l'erreur de la console.
Codepen snippets
HTML
<svg version="1.1" id="svg" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="50px" height="50px" viewBox="0 0 50 50">
<rect id="square" width="50" height="50" stroke="red" stroke-width="2px" fill="transparent" />
</svg>
JS
function setSvgData() {
var svg = document.getElementById('svg');
svg.dataset.shape = 'square';
svg.dataset.emotion = 'gloomy';
}
setSvgData();
Après avoir lu sur SVGElement.dataset Je ne suis pas sûr ce qu'il faut faire maintenant pour résoudre ce problème. Je voudrais éviter d'avoir à réécrire tout mon code de dataset avec setAttribute si possible.
Quelqu'un l'a-t-il ressenti ou sait comment le résoudre?
https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggestions/15885483-support-dataset-and-data-attributes-on-svg-element –
Merci Robert. Dommage qu'il semble être un peu mortel. J'ai essayé l'un des polyfills sur https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-browser-Polyfills#dataset-property-for-use-with-custom-data--attributes sans effet atm. – freeMagee