Bonjour,
J'ai un problème avec un fichier SVG contenu dans une balise Embed lorsque sa hauteur dépasse 16383pixels (16384px est une puissance de deux et doit être la valeur maximale acceptée en tant que hauteur par la balise Embed sous IE)
Présentation technique de la page concernée par le bug :
La page est sous forme de frame (c'est une vieille application ...) avec dans la frame de gauche un SVG généré à la volée par une servlet.
Une fois le SVG généré, du Javascript vérifie la taille du SVG généré et adapte la hauteur de l'Embed à celle du SVG afin que les barres scroll correspondent bien à la hauteur du SVG (car les plugin IE ne gèrent pas directement le scrolling.
Présentation simple du problème :
La balise Embed sous IE n'accepte pas de hauteur (attribut Height) suppérieur à 16383. Or j'adapte la hauteur à la hauteur du fichier SVG qu'il contient. Donc si j'ai dans cette balise embed un SVG de 20000px de haut, le SVG en question n'apparait pas. Ce qui est étrange est que le scroll fonctionne, lorsque je déplace ma souris les liens hypertexte présents dans le SVG sont actifs, mais le SVG n'apparait pas, le contenu du l'embed est blanc.
Obligation :
Rester sous IE 6 (sous Mozilla ça fonctionne très bien évidement ...)
Solutions envisagées :
Divisier le SVG en plusieurs SVG de hauteur inférieur à 16383px et géré la navigation entre SVG par du Javascript -> lourd à mettre en place
Utilisation des plugin Adobe SVG viewer 3 et 6, ainsi que de Corel SVG viewer -> tous affichent le même résultat
Sauriez-vous contourner cette limitation de la hauteur pour la balise Embed sous IE ? (Par l'utilisation d'une autre balise par exemple si jamais elle existe ?)
Partager