Google Pagespeed Messegerの「Parsing Javascript later」を避けるために、このスクリプトをコピーしました。 JavaScriptを使用してDOMにファイルを取得する
<script type="text/javascript">
function downloadJSAtOnload() {
var element = document.createElement("script");
element.src = "http://example.com/templates/name/javascript/jquery.js";
document.body.appendChild(element);
var element1 = document.createElement("script");
element1.src = "http://example.com/templates/name/javascript/jquery.colorbox-min.js";
document.body.appendChild(element1);
}
if (window.addEventListener)
window.addEventListener("load", downloadJSAtOnload, false);
else if (window.attachEvent)
window.attachEvent("onload", downloadJSAtOnload);
else
window.onload = downloadJSAtOnload;
</script>
DOMにもう1つのjavascriptファイルを挿入する必要があるため、どのようにループで解決できますか。お使いのスクリプトファイルは、(私はカラーボックスの後にロードする必要があります推測、必要なロード順序を持っている場合は
function loadScriptFiles(/* pass any number of .js filenames here as arguments */) {
var element;
var head = document.getElementsByTagName("head")[0];
for (var i = 0; i < arguments.length; i++) {
element = document.createElement("script");
element.type = "text/javascript";
element.src = arguments[i];
head.appendChild(element);
}
}
function downloadJSAtOnload() {
loadScriptFiles(
"http://example.com/templates/name/javascript/jquery.js",
"http://example.com/templates/name/javascript/jquery.colorbox-min.js",
"http://example.com/templates/name/javascript/myJS.js"
);
}
if (window.addEventListener)
window.addEventListener("load", downloadJSAtOnload, false);
else if (window.attachEvent)
window.attachEvent("onload", downloadJSAtOnload);
else
window.onload = downloadJSAtOnload;
:
は、スクリプトのファイル名の任意の数をとり、このような関数を作ることができ ロン
http://requirejs.org/ – samccone
基本的には、スクリプト名の配列をループにdownloadJSAtOnloadを()を変更したいですか? – Mike