【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 生成