/* global _wpmejsSettings, mejsL10n */ (function( window, $ ) { window.wp = window.wp || {}; function wpMediaElement() { var settings = {}; /** * Initialize media elements. * * Ensures media elements that have already been initialized won't be * processed again. * * @memberOf wp.mediaelement * * @since 4.4.0 * * @return {void} */ function initialize() { var selectors = []; if ( typeof _wpmejsSettings !== 'undefined' ) { settings = $.extend( true, {}, _wpmejsSettings ); } settings.classPrefix = 'mejs-'; settings.success = settings.success || function ( mejs ) { var autoplay, loop; if ( mejs.rendererName && -1 !== mejs.rendererName.indexOf( 'flash' ) ) { autoplay = mejs.attributes.autoplay && 'false' !== mejs.attributes.autoplay; loop = mejs.attributes.loop && 'false' !== mejs.attributes.loop; if ( autoplay ) { mejs.addEventListener( 'canplay', function() { mejs.play(); }, false ); } if ( loop ) { mejs.addEventListener( 'ended', function() { mejs.play(); }, false ); } } }; /** * Custom error handler. * * Sets up a custom error handler in case a video render fails, and provides a download * link as the fallback. * * @since 4.9.3 * * @param {object} media The wrapper that mimics all the native events/properties/methods for all renderers. * @param {object} node The original HTML video, audio, or iframe tag where the media was loaded. * @return {string} */ settings.customError = function ( media, node ) { // Make sure we only fall back to a download link for flash files. if ( -1 !== media.rendererName.indexOf( 'flash' ) || -1 !== media.rendererName.indexOf( 'flv' ) ) { return '<a href="' + node.src + '">' + mejsL10n.strings['mejs.download-file'] + '</a>'; } }; if ( 'undefined' === typeof settings.videoShortcodeLibrary || 'mediaelement' === settings.videoShortcodeLibrary ) { selectors.push( '.wp-video-shortcode' ); } if ( 'undefined' === typeof settings.audioShortcodeLibrary || 'mediaelement' === settings.audioShortcodeLibrary ) { selectors.push( '.wp-audio-shortcode' ); } if ( ! selectors.length ) { return; } // Only initialize new media elements. $( selectors.join( ', ' ) ) .not( '.mejs-container' ) .filter(function () { return ! $( this ).parent().hasClass( 'mejs-mediaelement' ); }) .mediaelementplayer( settings ); } return { initialize: initialize }; } /** * @namespace wp.mediaelement * @memberOf wp */ window.wp.mediaelement = new wpMediaElement(); $( window.wp.mediaelement.initialize ); })( window, jQuery );
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
renderers | Folder | 0755 |
|
|
mediaelement-and-player.js | File | 259.6 KB | 0644 |
|
mediaelement-and-player.min.js | File | 154.3 KB | 0644 |
|
mediaelement-migrate.js | File | 2.77 KB | 0644 |
|
mediaelement-migrate.min.js | File | 1.16 KB | 0644 |
|
mediaelement.js | File | 119.71 KB | 0644 |
|
mediaelement.min.js | File | 66.71 KB | 0644 |
|
mediaelementplayer-legacy.css | File | 15.39 KB | 0644 |
|
mediaelementplayer-legacy.min.css | File | 10.99 KB | 0644 |
|
mediaelementplayer.css | File | 15.53 KB | 0644 |
|
mediaelementplayer.min.css | File | 11.14 KB | 0644 |
|
mejs-controls.png | File | 2.82 KB | 0644 |
|
mejs-controls.svg | File | 4.49 KB | 0644 |
|
wp-mediaelement.css | File | 4.84 KB | 0644 |
|
wp-mediaelement.js | File | 2.69 KB | 0644 |
|
wp-mediaelement.min.css | File | 4.09 KB | 0644 |
|
wp-mediaelement.min.js | File | 1.08 KB | 0644 |
|
wp-playlist.js | File | 5.28 KB | 0644 |
|
wp-playlist.min.js | File | 3.36 KB | 0644 |
|