有条件地导入脚本文件



在标记中,我想根据url中是否设置了参数来有条件地导入一些标记。

目前我有:

function getURLValues(name) {
var results = new RegExp('[?&]' + name + '=([^&#]*)').exec(window.location.href);
if (results == null) {
return null;
} else {
return results[1] || 0;
}
}
if ((getURLValues('dev') == "true")) { <
script src = "localhost:4200/gamefiles/TitleCard.js" > < /script>
} else { <
script src = "TitleCard.js" > < /script>
}

但我不确定如何甚至不可能打印出脚本标签。

您需要使用document.createElement()document.body.append()来包含脚本。请注意,脚本将在正文中的所有内容加载后开始运行。

var newScript = document.createElement("script")
if ((getURLValues('dev') == "true")) {
newScript.src = "localhost:4200/gamefiles/TitleCard.js"
} else {
newScript.src = "TitleCard.js"
}
document.body.append(newScript);

要同时添加多个脚本,如果需要,可以使用element.insertAdjacentHTML();和ternaries:

document.body.insertAdjacentHTML("afterbegin", "<script src='" + (getURLValues('dev') == "true" ? "localhost:4200/gamefiles/TitleCard.js" : "TitleCard.js") + "'></script><script src='" + condition ? "script1.js" : "script2.js" + "'></script>");

我用"afterbegin"做这个职位。查看更多选项

最新更新