corrade-nucleus-nucleons – Blame information for rev
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
1 | office | 1 | define( [ |
2 | "../core", |
||
3 | "../var/document", |
||
4 | "./var/rsingleTag", |
||
5 | "../manipulation/buildFragment", |
||
6 | |||
7 | // This is the only module that needs core/support |
||
8 | "./support" |
||
9 | ], function( jQuery, document, rsingleTag, buildFragment, support ) { |
||
10 | |||
11 | "use strict"; |
||
12 | |||
13 | // Argument "data" should be string of html |
||
14 | // context (optional): If specified, the fragment will be created in this context, |
||
15 | // defaults to document |
||
16 | // keepScripts (optional): If true, will include scripts passed in the html string |
||
17 | jQuery.parseHTML = function( data, context, keepScripts ) { |
||
18 | if ( typeof data !== "string" ) { |
||
19 | return []; |
||
20 | } |
||
21 | if ( typeof context === "boolean" ) { |
||
22 | keepScripts = context; |
||
23 | context = false; |
||
24 | } |
||
25 | |||
26 | var base, parsed, scripts; |
||
27 | |||
28 | if ( !context ) { |
||
29 | |||
30 | // Stop scripts or inline event handlers from being executed immediately |
||
31 | // by using document.implementation |
||
32 | if ( support.createHTMLDocument ) { |
||
33 | context = document.implementation.createHTMLDocument( "" ); |
||
34 | |||
35 | // Set the base href for the created document |
||
36 | // so any parsed elements with URLs |
||
37 | // are based on the document's URL (gh-2965) |
||
38 | base = context.createElement( "base" ); |
||
39 | base.href = document.location.href; |
||
40 | context.head.appendChild( base ); |
||
41 | } else { |
||
42 | context = document; |
||
43 | } |
||
44 | } |
||
45 | |||
46 | parsed = rsingleTag.exec( data ); |
||
47 | scripts = !keepScripts && []; |
||
48 | |||
49 | // Single tag |
||
50 | if ( parsed ) { |
||
51 | return [ context.createElement( parsed[ 1 ] ) ]; |
||
52 | } |
||
53 | |||
54 | parsed = buildFragment( [ data ], context, scripts ); |
||
55 | |||
56 | if ( scripts && scripts.length ) { |
||
57 | jQuery( scripts ).remove(); |
||
58 | } |
||
59 | |||
60 | return jQuery.merge( [], parsed.childNodes ); |
||
61 | }; |
||
62 | |||
63 | return jQuery.parseHTML; |
||
64 | |||
65 | } ); |