【JS】一個共用的js可以排除對某個檔案進行異動嗎?
是的,可以建立一個共用的 JavaScript 文件,並在其中加入條件來排除特定頁面(例如某個 HTML 或 JSP 文件)的操作。這樣做可以避免在某些頁面中執行共用 JavaScript 代碼,而無需手動更改每個頁面的內容。
方法:使用 window.location 判斷 URL
假設有一個共用的 JavaScript 文件 common.js,您可以在這個文件中使用 window.location.pathname 或 window.location.href 來判斷當前頁面的路徑,並根據條件決定是否執行某些操作。例如,假設要排除名為 excludedPage.jsp 的檔案,可以這樣寫:
共用 common.js 文件
// 定義要排除的頁面名稱
const excludedPages = [‘/excludedPage.jsp’];
// 檢查當前頁面是否在排除列表中
if (!excludedPages.includes(window.location.pathname)) {
// 僅在非排除頁面上執行的代碼
document.addEventListener(‘DOMContentLoaded’, () => {
// 這裡放共用的 JavaScript 操作
console.log(“This code runs on all pages except excludedPage.jsp”);
// 比如遮罩身份證輸入框的功能
const idInput = document.getElementById(“idNumber”);
if (idInput) {
idInput.addEventListener(“input”, function () {
// 遮罩邏輯
const value = idInput.value.toUpperCase().replace(/[^A-Z0-9]/g, ”);
idInput.value = value.length > 10 ? value.slice(0, 10) : value;
});
}
});
}
使用方法
1. 將這個 common.js 文件包含到所有頁面中。
<script src=”common.js”></script>
2. 在 common.js 文件中,指定需要排除的頁面(如 /excludedPage.jsp),當頁面路徑匹配排除列表時,JavaScript 中的代碼不會執行。
說明
• window.location.pathname 可以獲取當前頁面的路徑名稱(例如 /excludedPage.jsp)。
• 使用 excludedPages 陣列列出要排除的頁面,並利用 includes 方法檢查當前頁面是否需要排除。
• 當頁面名稱不在排除列表中時,JavaScript 操作將正常執行。
這種方式可以靈活地控制 JavaScript 在指定頁面中的執行範圍。
本文由 ChatGPT 生成