Mobrovac has submitted this change and it was merged.
Change subject: Use img element to display SVGs in new IEs
......................................................................
Use img element to display SVGs in new IEs
InternetExplorer versions that do support SVG images
have problems rendering these in meta tags.
Replacing meta tags with img elements resolves the problem.
Bug: T132491
Change-Id: I353e911a8e2066c10d8df583cae88861a8623816
---
M modules/ext.math.js
1 file changed, 22 insertions(+), 12 deletions(-)
Approvals:
Mobrovac: Looks good to me, approved
jenkins-bot: Verified
diff --git a/modules/ext.math.js b/modules/ext.math.js
index b50b889..b3fe744 100644
--- a/modules/ext.math.js
+++ b/modules/ext.math.js
@@ -2,6 +2,24 @@
'use strict';
var img, url;
+ function insertImg( png ) {
+ $( '.mwe-math-fallback-image-inline,
.mwe-math-fallback-image-display' ).each( function ( ) {
+ // Create a new image to use as the fallback.
+ img = document.createElement( 'img' );
+ url = this.style.backgroundImage.match(
/url\(\s*(['"]?)([^\1\)]*)\1\s*\)/ )[ 2 ];
+ if ( png ) {
+ url = url.replace( 'media/math/render/svg/',
'media/math/render/png/' );
+ }
+ img.setAttribute( 'src', url );
+ img.setAttribute( 'class', 'tex
mwe-math-fallback-image-' + ( $( this ).hasClass(
'mwe-math-fallback-image-inline' ) ? 'inline' : 'display' ) );
+ img.setAttribute( 'aria-hidden', 'true' );
+ this.parentNode.insertBefore( img, this );
+
+ // Hide the old SVG fallback.
+ $( this ).css( 'display', 'none' );
+ } );
+ }
+
// If MathPlayer is installed we show the MathML rendering.
if ( navigator.userAgent.indexOf( 'MathPlayer' ) > -1 ) {
$( '.mwe-math-mathml-a11y' ).removeClass(
'mwe-math-mathml-a11y' );
@@ -12,17 +30,9 @@
// We verify whether SVG as <img> is supported and otherwise use the
// PNG fallback. See
https://github.com/Modernizr/Modernizr/blob/master/feature-detects/svg/asimg.js
if ( !document.implementation.hasFeature(
'http://www.w3.org/TR/SVG11/feature#Image', '1.1' ) ) {
- $( '.mwe-math-fallback-image-inline,
.mwe-math-fallback-image-display' ).each( function () {
- // Create a new PNG image to use as the fallback.
- img = document.createElement( 'img' );
- url = this.style.backgroundImage.match(
/url\('?([^']*)'?\)/ )[ 1 ];
- img.setAttribute( 'src', url.replace(
'media/math/render/svg/', 'media/math/render/png/' ) );
- img.setAttribute( 'class', 'tex
mwe-math-fallback-image-' + ( $( this ).hasClass(
'mwe-math-fallback-image-inline' ) ? 'inline' : 'display' ) );
- img.setAttribute( 'aria-hidden', 'true' );
- this.parentNode.insertBefore( img, this );
-
- // Hide the SVG fallback.
- $( this ).css( 'display', 'none' );
- } );
+ insertImg( true );
+ } else if ( $.client.profile().name.match( /msie|edge/ ) ) {
+ // For all IE versions the meta tags are rendered blurry, while
img tags are rendered fine.
+ insertImg( false );
}
}( jQuery ) );
--
To view, visit https://gerrit.wikimedia.org/r/283010
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I353e911a8e2066c10d8df583cae88861a8623816
Gerrit-PatchSet: 11
Gerrit-Project: mediawiki/extensions/Math
Gerrit-Branch: master
Gerrit-Owner: Physikerwelt <[email protected]>
Gerrit-Reviewer: Esanders <[email protected]>
Gerrit-Reviewer: Mobrovac <[email protected]>
Gerrit-Reviewer: Physikerwelt <[email protected]>
Gerrit-Reviewer: Tchanders <[email protected]>
Gerrit-Reviewer: TheDJ <[email protected]>
Gerrit-Reviewer: Zfilipin <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits