summaryrefslogtreecommitdiff
path: root/_includes/include.js
diff options
context:
space:
mode:
Diffstat (limited to '_includes/include.js')
-rw-r--r--_includes/include.js38
1 files changed, 38 insertions, 0 deletions
diff --git a/_includes/include.js b/_includes/include.js
new file mode 100644
index 0000000..4f1cf2f
--- /dev/null
+++ b/_includes/include.js
@@ -0,0 +1,38 @@
+include = function() {
+
+ // save references to save a few bytes
+ var args = arguments;
+ var doc = document;
+
+ var toLoad = args.length; // load this many scripts
+ var lastArgument = args[toLoad - 1];
+ var hasCallback = lastArgument.call; // is the last arg a callback?
+ if (hasCallback) {
+ toLoad --;
+ }
+
+ function onScriptLoaded() {
+ var readyState = this.readyState; // we test for "complete" or "loaded" if on IE
+ if (!readyState || /ded|te/.test(readyState)) {
+ toLoad --;
+ if (!toLoad && hasCallback) {
+ lastArgument();
+ }
+ }
+ }
+
+ var script;
+ for (var i = 0; i < toLoad; i ++) {
+
+ script = doc.createElement('script');
+ script.src = arguments[i];
+ script.async = true;
+ script.onload = script.onerror = script.onreadystatechange = onScriptLoaded;
+ (
+ doc.head ||
+ doc.getElementsByTagName('head')[0]
+ ).appendChild(script);
+
+ }
+
+};