mirror of
https://github.com/jquery/jquery.git
synced 2024-11-23 02:54:22 +00:00
Core: Switch $.parseHTML
from document.implementation
to DOMParser
Using a document created via: ```js document.implementation.createHTMLDocument( "" ) ``` was needed in IE 9 which doesn't support `DOMParser#parseFromString` for `text/html`. We can switch to: ```js ( new window.DOMParser() ) .parseFromString( "", "text/html" ) ``` now, saving some bytes.
This commit is contained in:
parent
d92810614b
commit
a881b2c5fd
@ -1,5 +1,4 @@
|
||||
import { jQuery } from "../core.js";
|
||||
import { document } from "../var/document.js";
|
||||
import { rsingleTag } from "./var/rsingleTag.js";
|
||||
import { buildFragment } from "../manipulation/buildFragment.js";
|
||||
import { isObviousHtml } from "./isObviousHtml.js";
|
||||
@ -17,20 +16,14 @@ jQuery.parseHTML = function( data, context, keepScripts ) {
|
||||
context = false;
|
||||
}
|
||||
|
||||
var base, parsed, scripts;
|
||||
var parsed, scripts;
|
||||
|
||||
if ( !context ) {
|
||||
|
||||
// Stop scripts or inline event handlers from being executed immediately
|
||||
// by using document.implementation
|
||||
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 );
|
||||
// by using DOMParser
|
||||
context = ( new window.DOMParser() )
|
||||
.parseFromString( "", "text/html" );
|
||||
}
|
||||
|
||||
parsed = rsingleTag.exec( data );
|
||||
|
Loading…
Reference in New Issue
Block a user