Show More
Commit Description:
utf8mb4
Commit Description:
utf8mb4
References:
File last commit:
Show/Diff file:
Action:
node_modules/jquery/src/core/DOMEval.js
| 43 lines
| 1.1 KiB
| application/javascript
| JavascriptLexer
|
r789 | define( [ | |||
"../var/document" | ||||
], function( document ) { | ||||
"use strict"; | ||||
var preservedScriptAttributes = { | ||||
type: true, | ||||
src: true, | ||||
nonce: true, | ||||
noModule: true | ||||
}; | ||||
function DOMEval( code, node, doc ) { | ||||
doc = doc || document; | ||||
var i, val, | ||||
script = doc.createElement( "script" ); | ||||
script.text = code; | ||||
if ( node ) { | ||||
for ( i in preservedScriptAttributes ) { | ||||
// Support: Firefox 64+, Edge 18+ | ||||
// Some browsers don't support the "nonce" property on scripts. | ||||
// On the other hand, just using `getAttribute` is not enough as | ||||
// the `nonce` attribute is reset to an empty string whenever it | ||||
// becomes browsing-context connected. | ||||
// See https://github.com/whatwg/html/issues/2369 | ||||
// See https://html.spec.whatwg.org/#nonce-attributes | ||||
// The `node.getAttribute` check was added for the sake of | ||||
// `jQuery.globalEval` so that it can fake a nonce-containing node | ||||
// via an object. | ||||
val = node[ i ] || node.getAttribute && node.getAttribute( i ); | ||||
if ( val ) { | ||||
script.setAttribute( i, val ); | ||||
} | ||||
} | ||||
} | ||||
doc.head.appendChild( script ).parentNode.removeChild( script ); | ||||
} | ||||
return DOMEval; | ||||
} ); | ||||