Skip to content

Commit 67ca193

Browse files
committed
Extract executeScriptTags function
1 parent e6c08b2 commit 67ca193

File tree

1 file changed

+21
-13
lines changed

1 file changed

+21
-13
lines changed

jquery.pjax.js

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -260,19 +260,7 @@ function pjax(options) {
260260

261261
if (container.title) document.title = container.title
262262
context.html(container.contents)
263-
264-
container.scripts.each(function(_, script) {
265-
var $script = $(script)
266-
var src = $script.attr('src')
267-
if ($('script[src="' + src + '"]').length) return
268-
269-
var target = document.head || context.get(0)
270-
var tag = document.createElement('script')
271-
tag.type = $script.attr('type') || "text/javascript"
272-
tag.async = false
273-
tag.src = src
274-
target.appendChild(tag)
275-
})
263+
executeScriptTags(container.scripts)
276264

277265
// Scroll to top by default
278266
if (typeof options.scrollTo === 'number')
@@ -652,6 +640,26 @@ function extractContainer(data, xhr, options) {
652640
return obj
653641
}
654642

643+
// Download and execute script tags once.
644+
//
645+
// scripts - Array of script Elements
646+
//
647+
// Returns nothing.
648+
function executeScriptTags(scripts) {
649+
scripts.each(function(_, script) {
650+
var $script = $(script)
651+
var src = $script.attr('src')
652+
if ($('script[src="' + src + '"]').length) return
653+
654+
var target = document.head || context.get(0)
655+
var tag = document.createElement('script')
656+
tag.type = $script.attr('type') || "text/javascript"
657+
tag.async = false
658+
tag.src = src
659+
target.appendChild(tag)
660+
})
661+
}
662+
655663
// Internal: History DOM caching class.
656664
var cacheMapping = {}
657665
var cacheForwardStack = []

0 commit comments

Comments
 (0)