/
eb
/
yatube2
Обзор
Документация
Войти
/
eb
/
yatube2
Код
Запросы
0
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
posts/static/jquery/src/core/parseHTML.js
65 строк
2 KB
EvgeniyBudaev
Initial commit
12 июн 2021, 12:34
12 июн 2021, 12:34
ba93023
Код
Авторство
О чём код?
define( [ "../core", "../var/document", "./var/rsingleTag", "../manipulation/buildFragment", // This is the only module that needs core/support "./support" ], function( jQuery, document, rsingleTag, buildFragment, support ) { "use strict"; // Argument "data" should be string of html // context (optional): If specified, the fragment will be created in this context, // defaults to document // keepScripts (optional): If true, will include scripts passed in the html string jQuery.parseHTML = function( data, context, keepScripts ) { if ( typeof data !== "string" ) { return []; } if ( typeof context === "boolean" ) { keepScripts = context; context = false; } var base, parsed, scripts; if ( !context ) { // Stop scripts or inline event handlers from being executed immediately // by using document.implementation if ( support.createHTMLDocument ) { context = document.implementation.createHTMLDocument( "" ); // Set the base href for the created document // so any parsed elements with URLs // are based on the document's URL (gh-2965) base = context.createElement( "base" ); base.href = document.location.href; context.head.appendChild( base ); } else { context = document; } } parsed = rsingleTag.exec( data ); scripts = !keepScripts && []; // Single tag if ( parsed ) { return [ context.createElement( parsed[ 1 ] ) ]; } parsed = buildFragment( [ data ], context, scripts ); if ( scripts && scripts.length ) { jQuery( scripts ).remove(); } return jQuery.merge( [], parsed.childNodes ); }; return jQuery.parseHTML; } );