Improvements to the PNG fallback style.

- create a new <img> tag to avoid copying unwanted style from the SVG fallback.
- keep the legacy tex class for consistency with the PNG mode.

Bug: 71912
Change-Id: Ibe4683d2898b49fda190e2f1535cab1b952250b0
This commit is contained in:
Frédéric Wang 2014-10-11 17:26:00 +02:00 committed by Physikerwelt
parent 61a3d9c719
commit 8e66e40780
1 changed files with 11 additions and 5 deletions

View File

@ -1,7 +1,7 @@
( function ( $ ) {
'use strict';
// These constants are taken from Math.php
var MW_MATH_PNG = 0, MW_MATH_MATHML = 5;
// The MW_MATH_PNG and MW_MATH_MATHML constants are taken from Math.php
var MW_MATH_PNG = 0, MW_MATH_MATHML = 5, img;
// If MathPlayer is installed we show the MathML rendering.
if (navigator.userAgent.indexOf('MathPlayer') > -1) {
@ -14,9 +14,15 @@
// 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')) {
$( 'img.mwe-math-fallback-svg-inline, img.mwe-math-fallback-svg-display' ).each(function() {
this.setAttribute('src', this.src.replace('mode=' + MW_MATH_MATHML, 'mode=' + MW_MATH_PNG));
// Create a new PNG image to use as the fallback.
img = document.createElement('img');
img.setAttribute( 'src', this.src.replace('mode=' + MW_MATH_MATHML, 'mode=' + MW_MATH_PNG) );
img.setAttribute( 'class', 'tex mwe-math-fallback-png-' + ($( this ).hasClass('mwe-math-fallback-svg-inline') ? 'inline' : 'display') );
img.setAttribute( 'aria-hidden', 'true' );
this.parentNode.insertBefore( img, this );
// Hide the SVG fallback.
$( this ).css( 'display', 'none' );
});
$( 'img.mwe-math-fallback-svg-inline' ).removeClass( 'mwe-math-fallback-svg-inline' ).addClass( 'mwe-math-fallback-png-inline' );
$( 'img.mwe-math-fallback-svg-display' ).removeClass( 'mwe-math-fallback-svg-display' ).addClass( 'mwe-math-fallback-png-display' );
}
}( jQuery ) );