紀錄工作經驗、相關知識,解決技術相關問題。

Javascript

Javascript location.protocol 語法教學:如何判斷網頁 http 或 https

Javascript location.protocol 語法教學:如何判斷網頁 http 或 https 特色圖片

在前端開發中,判斷當前網頁的傳輸協定(Protocol)是常見的需求,特別是在需要強制執行 HTTPS 安全連線或進行環境檢測時。透過 JavaScript 的 location 物件,我們可以輕鬆獲取當前的協議資訊。

⚡ 快速跳轉(依實務情境選擇):

核心語法與範例

若要取得當前網頁的協議,直接存取 location.protocol 即可。該屬性會返回一個包含結尾冒號的字串(例如 http: 或 https:)。

// 取得當前協議
const currentProtocol = location.protocol;

console.log(currentProtocol); 
// 若為 HTTPS 網頁,輸出: "https:"
// 若為 HTTP 網頁,輸出: "http:"

範例情境:
假設當前網址為 https://www.seanacnet.com:80/js/location-protocol.html,執行 location.protocol 將會回傳 "https:"。

實務情境:根據 protocol 自動轉導 HTTPS

在生產環境中,為了確保資料傳輸安全性,我們經常需要偵測當前是否為 http:,若是則自動轉導至 https:。以下為實務上的檢查與轉導寫法:

// 檢查是否為 http 協議
if (location.protocol === 'http:') {
    // 將當前網址中的 http 替換為 https 並重新導向
    location.href = location.href.replace('http:', 'https:');
}

這段程式碼會自動判斷當前環境,若偵測到非加密連線,會觸發瀏覽器跳轉至對應的 HTTPS 網址,確保使用者始終處於加密連線狀態。

瀏覽器相容性與延伸閱讀

location.protocol 為 Web API 的標準屬性,在所有現代瀏覽器中均有良好的支援度。詳細的瀏覽器相容性清單可參考 MDN 官方文件。

若您需要更全面地操作網址資訊,例如解析 Query String、取得 Hostname 或 Port 等,建議參考這篇整理完整的技術教學:

點此深入了解:JavaScript 取得網址 URL 與相關參數 (location 物件詳細教學)

參考資料與延伸閱讀

發表迴響