Вход Регистрация
Файл: wordpress/wp-includes/js/wp-emoji.js
Строк: 157
<?php
( function( windowsettings ) {
    function 
wpEmoji() {
        var 
MutationObserver window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver,

        
/**
         * Flag to determine if the browser and the OS support emoji.
         *
         * @since 4.2.0
         *
         * @var Boolean
         */
        
supportsEmoji false,

        
/**
         * Flag to determine if the browser and the OS support flag (two character) emoji.
         *
         * @since 4.2.0
         *
         * @var Boolean
         */
        
supportsFlagEmoji false,

        
/**
         * Flag to determine if we should replace emoji characters with images.
         *
         * @since 4.2.0
         *
         * @var Boolean
         */
        
replaceEmoji false,

        
isIE8 window.navigator.userAgent.indexOf'IE 8' ) !== -1,

        
// Private
        
twemojitimer,
        
count 0;

        
/**
         * Runs when the document load event is fired, so we can do our first parse of the page.
         *
         * @since 4.2.0
         */
        
function load() {
            if ( 
typeof window.twemoji === 'undefined' ) {
                
// Break if waiting for longer than 30 sec.
                
if ( count 600 ) {
                    return;
                }

                
// Still waiting.
                
window.clearTimeouttimer );
                
timer window.setTimeoutload50 );
                
count++;

                return;
            }

            
twemoji window.twemoji;

            if ( 
MutationObserver ) {
                new 
MutationObserver( function( mutationRecords ) {
                    var 
mutationRecords.length,
                        
iinode;

                    while ( 
i-- ) {
                        
ii mutationRecords].addedNodes.length;

                        while ( 
ii-- ) {
                            
node mutationRecords].addedNodesii ];

                            if ( 
node.nodeType === ) {
                                
node node.parentNode;
                            }

                            if ( 
node && node.nodeType === ) {
                                
parsenode );
                            }
                        }
                    }
                } ).
observedocument.body, {
                    
childListtrue,
                    
subtreetrue
                
} );
            }

            
parsedocument.body );
        }

        
/**
         * Given an element or string, parse any emoji characters into Twemoji images.
         *
         * @since 4.2.0
         *
         * @param {HTMLElement|String} object The element or string to parse.
         * @param {Object} args Additional options for Twemoji.
         */
        
function parseobjectargs ) {
            if ( ! 
replaceEmoji ) {
                return 
object;
            }

            
args args || {};

            return 
twemoji.parseobject, {
                
basesettings.baseUrl,
                
extsettings.ext,
                
classNameargs.className || 'emoji',
                
imgAttrargs.imgAttr,
                
callback: function( iconoptions ) {
                    
// Ignore some standard characters that TinyMCE recommends in its character map.
                    
switch ( icon ) {
                        case 
'a9':
                        case 
'ae':
                        case 
'2122':
                        case 
'2194':
                        case 
'2660':
                        case 
'2663':
                        case 
'2665':
                        case 
'2666':
                            return 
false;
                    }

                    if ( ! 
supportsFlagEmoji && supportsEmoji &&
                        ! /^
1f1(?:e[6-9a-f]|f[0-9a-f])-1f1(?:e[6-9a-f]|f[0-9a-f])$/.testicon ) ) {

                        return 
false;
                    }

                    return 
''.concatoptions.baseiconoptions.ext );
                }
            } );
        }

        
// Load when the readyState changes to 'interactive', not 'complete'.
        
function onLoad() {
            if ( ( ! 
isIE8 && 'interactive' === document.readyState ) || ( isIE8 && 'complete' === document.readyState ) ) {
                
load();
            }
        }

        
/**
         * Initialize our emoji support, and set up listeners.
         */
        
if ( settings ) {
            
supportsEmoji window._wpemojiSettings.supports.simple;
            
supportsFlagEmoji window._wpemojiSettings.supports.flag;
            
replaceEmoji = ! supportsEmoji || ! supportsFlagEmoji;

            if ( ( ! 
isIE8 && 'loading' === document.readyState ) || ( isIE8 && 'complete' !== document.readyState ) ) {
                if ( 
document.addEventListener ) {
                    
document.addEventListener'readystatechange'onLoadfalse );
                } else if ( 
document.attachEvent ) {
                    
document.attachEvent'onreadystatechange'onLoad );
                }
            } else {
                
load();
            }
        }

        return {
            
replaceEmojireplaceEmoji,
            
parseparse
        
};
    }

    
window.wp window.wp || {};
    
window.wp.emoji = new wpEmoji();

} )( 
windowwindow._wpemojiSettings );
?>
Онлайн: 0
Реклама