aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/core.js14
-rw-r--r--src/core/DOMEval.js14
-rw-r--r--src/manipulation.js5
3 files changed, 23 insertions, 10 deletions
diff --git a/src/core.js b/src/core.js
index 9095213eb..3a54ffc0e 100644
--- a/src/core.js
+++ b/src/core.js
@@ -8,8 +8,10 @@ define( [
"./var/class2type",
"./var/toString",
"./var/hasOwn",
- "./var/support"
-], function( arr, document, slice, concat, push, indexOf, class2type, toString, hasOwn, support ) {
+ "./var/support",
+ "./core/DOMEval"
+], function( arr, document, slice, concat,
+ push, indexOf, class2type, toString, hasOwn, support, DOMEval ) {
var
version = "@VERSION",
@@ -258,12 +260,8 @@ jQuery.extend( {
},
// Evaluates a script in a global context
- globalEval: function( code, context ) {
- context = context || document;
- var script = context.createElement( "script" );
-
- script.text = code;
- context.head.appendChild( script ).parentNode.removeChild( script );
+ globalEval: function( code ) {
+ DOMEval( code );
},
// Convert dashed to camelCase; used by the css and data modules
diff --git a/src/core/DOMEval.js b/src/core/DOMEval.js
new file mode 100644
index 000000000..222b0ca2a
--- /dev/null
+++ b/src/core/DOMEval.js
@@ -0,0 +1,14 @@
+define( [
+ "../var/document"
+], function( document ) {
+ function DOMEval( code, doc ) {
+ doc = doc || document;
+
+ var script = doc.createElement( "script" );
+
+ script.text = code;
+ doc.head.appendChild( script ).parentNode.removeChild( script );
+ }
+
+ return DOMEval;
+} );
diff --git a/src/manipulation.js b/src/manipulation.js
index eaf2e0998..cc4fd16cd 100644
--- a/src/manipulation.js
+++ b/src/manipulation.js
@@ -15,6 +15,7 @@ define( [
"./data/var/dataPriv",
"./data/var/dataUser",
"./data/var/acceptData",
+ "./core/DOMEval",
"./core/init",
"./traversing",
@@ -23,7 +24,7 @@ define( [
], function( jQuery, concat, push, access,
rcheckableType, rtagName, rscriptType,
wrapMap, getAll, setGlobalEval, buildFragment, support,
- dataPriv, dataUser, acceptData ) {
+ dataPriv, dataUser, acceptData, DOMEval ) {
var
rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,
@@ -192,7 +193,7 @@ function domManip( collection, args, callback, ignored ) {
jQuery._evalUrl( node.src );
}
} else {
- jQuery.globalEval( node.textContent.replace( rcleanScript, "" ), doc );
+ DOMEval( node.textContent.replace( rcleanScript, "" ), doc );
}
}
}