|  | 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; | 
|  |  | 
|  | } ); |