目的:修改script標籤的src屬性,並生效。
操作:刪除原有script,新增新的。
細節:如果僅修改原有script標籤的src屬性,瀏覽器並不載入新的js檔案。
程式碼:
function f1() {
// 獲取 <head> 標籤
let head = document.head;
let myjs;
// 移除 id 為 s2 的標籤
var scriptToRemove = document.querySelector('#s2');
if (scriptToRemove) {
head.removeChild(scriptToRemove);
}
// 準備標籤的 src 屬性
str = scriptToRemove.src.split('/');
myjs = str[str.length - 1].trim();
if (myjs == "j1.js") {
myjs = "js/j2.js";
}
else {
myjs = "js/j1.js";
}
console.log(myjs);
// 建立新的 <script> 標籤
let newScript = document.createElement('script');
newScript.id = 's2';
newScript.src = myjs;
// 將新的 <script> 標籤新增到 <head> 的最後
head.appendChild(newScript);
}