Fixes #8098. Use the fast document.head when available. Don't set unneeded "script.type = text/javascript".

This commit is contained in:
Mathias Bynens 2011-01-24 11:18:57 +01:00 committed by Anton M
parent fdd4101fe9
commit 462bb1f66a
4 changed files with 6 additions and 10 deletions

View file

@ -524,11 +524,9 @@ jQuery.extend({
if ( data && rnotwhite.test(data) ) {
// Inspired by code by Andrea Giammarchi
// http://webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom.html
var head = document.getElementsByTagName("head")[0] || document.documentElement,
var head = document.head || document.getElementsByTagName("head")[0] || document.documentElement,
script = document.createElement("script");
script.type = "text/javascript";
if ( jQuery.support.scriptEval ) {
script.appendChild( document.createTextNode( data ) );
} else {
@ -5060,7 +5058,7 @@ jQuery.extend({
// If we're requesting a remote document
// and trying to load JSON or Script with a GET
if ( s.dataType === "script" && type === "GET" && remote ) {
var head = document.getElementsByTagName("head")[0] || document.documentElement;
var head = document.head || document.getElementsByTagName( "head" )[0] || document.documentElement;
var script = document.createElement("script");
script.src = s.url;
if ( s.scriptCharset ) {

View file

@ -34,7 +34,7 @@ jQuery.ajaxTransport( "script", function(s) {
if ( s.crossDomain ) {
var script,
head = document.getElementsByTagName( "head" )[ 0 ] || document.documentElement;
head = document.head || document.getElementsByTagName( "head" )[0] || document.documentElement;
return {

View file

@ -574,10 +574,8 @@ jQuery.extend({
if ( data && rnotwhite.test(data) ) {
// Inspired by code by Andrea Giammarchi
// http://webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom.html
var head = document.getElementsByTagName("head")[0] || document.documentElement,
script = document.createElement("script");
script.type = "text/javascript";
var head = document.head || document.getElementsByTagName( "head" )[0] || document.documentElement,
script = document.createElement( "script" );
if ( jQuery.support.scriptEval() ) {
script.appendChild( document.createTextNode( data ) );

View file

@ -7,7 +7,7 @@ var rinlinejQuery = / jQuery\d+="(?:\d+|null)"/g,
rtbody = /<tbody/i,
rhtml = /<|&#?\w+;/,
rnocache = /<(?:script|object|embed|option|style)/i,
// checked="checked" or checked (html5)
// checked="checked" or checked
rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i,
wrapMap = {
option: [ 1, "<select multiple='multiple'>", "</select>" ],