js是實現記住密碼自動填充功能

記住密碼自動填充

  • 使用js實現記住密碼功能,在下次打開登陸頁面的時候進行獲取并自動填充到頁面【cookie和localStorage】

使用js實現記住密碼功能,在下次打開登陸頁面的時候進行獲取并自動填充到頁面【cookie和localStorage】

        //添加功能----記住上一個登陸成功的賬號密碼// Cookie操作函數function setCookie(name, value, days) {let expires = "";if (days) {const date = new Date();date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));expires = "; expires=" + date.toUTCString();}document.cookie = name + "=" + (value || "") + expires + "; path=/; Secure; SameSite=Lax";}function getCookie(name) {const cookieName = name + "=";const decodedCookie = decodeURIComponent(document.cookie);const cookieArray = decodedCookie.split(';');for (let i = 0; i < cookieArray.length; i++) {let cookie = cookieArray[i];while (cookie.charAt(0) === ' ') {cookie = cookie.substring(1);}if (cookie.indexOf(cookieName) === 0) {return cookie.substring(cookieName.length, cookie.length);}}return null;}function deleteCookie(name) {document.cookie = name + '=; expires=Thu, 01 Jan 1970 00:00:01 GMT; path=/;';}//部分瀏覽器不支持cookie的存儲/獲取,所以兩種方法結合// 替代方案:使用 localStoragefunction setStorage(key, value, days) {const data = {value: value,expires: days ? Date.now() + days * 86400000 : null}localStorage.setItem(key, JSON.stringify(data));}function getStorage(key) {const data = JSON.parse(localStorage.getItem(key));if (!data) return null;if (data.expires && Date.now() > data.expires) {localStorage.removeItem(key);return null;}return data.value;}

登錄成功后保存賬號密碼

setCookie('savedUsername', account, 1);
setCookie('savedPsd', password, 1);
setStorage('savedUsername', account, 1);
setStorage('savedPsd', password, 1);

頁面加載完成自動填充

 window.onload = function () {var ooun =getCookie('savedUsername');var oops = getCookie('savedPsd');            if (ooun != null) {console.log("getcookie執行");document.getElementById('account').value = ooun;} else {var ooun2 = getStorage('savedUsername');console.log("getStorage執行");if (ooun2 != null) {document.getElementById('account').value = ooun2;}}if (oops != null) {document.getElementById('password').value = oops;} else {var oops2 = getStorage('savedPsd');if (oops2 != null) {document.getElementById('password').value = oops2;}}};

完結。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/91533.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/91533.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/91533.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【Java】文件編輯器

代碼&#xff1a;&#xff08;SimpleEditor.java&#xff09;import java.awt.Color; import java.awt.Font; import java.awt.Insets; import java.awt.BorderLayout;import java.awt.event.ActionEvent; import java.awt.event.ActionListener;import java.io.BufferedReader…

PyTorch中torch.topk()詳解:快速獲取最大值索引

torch.topk(similarities, k=2).indices 是什么意思 torch.topk(similarities, k=2).indices 是 PyTorch 中用于獲取張量中最大值元素及其索引的函數。在你的代碼中,它的作用是從 similarities 向量里找出得分最高的2個元素的位置索引。 1. 核心功能:找出張量中最大的k個值…

快速搭建本地HTTP服務器:`python -m http.server`詳解

文章目錄 一、什么是 http.server? 二、基礎使用 1. 啟動服務器 2. 指定端口 3. 綁定特定IP 三、實際應用場景 1. 本地前端開發 2. 文件共享 3. 啟用CGI腳本(高級) 四、目錄瀏覽詳解* 五、安全注意事項 六、進階技巧 1. 后臺運行(Linux/macOS) 2. 自定義錯誤頁面 3. 結合其…

運維技術教程之Jenkins上的known_hosts文件

在Jenkins中&#xff0c;known_hosts文件用于存儲已驗證的遠程節點主機密鑰&#xff0c;避免每次連接時重復驗證。以下是基于不同場景的解決方案&#xff1a;1. 創建并配置 known_hosts 文件 若Jenkins提示 No Known Hosts file 或找不到文件&#xff0c;需手動創建并配置&…

leetcode 3201. 找出有效子序列的最大長度 I 中等

給你一個整數數組 nums。nums 的子序列 sub 的長度為 x &#xff0c;如果其滿足以下條件&#xff0c;則稱其為 有效子序列&#xff1a;(sub[0] sub[1]) % 2 (sub[1] sub[2]) % 2 ... (sub[x - 2] sub[x - 1]) % 2返回 nums 的 最長的有效子序列 的長度。一個 子序列 指的…

Java并發編程第三篇(深入解析Synchronized)

1. Synchronized簡介&#xff1a;一個常見的并發“陷阱” 在正式開始學習新知識前&#xff0c;我們不妨先來看一個現象&#xff0c;這是一個很多并發編程新手都會遇到的“陷阱”&#xff1a; public class SynchronizedDemo implements Runnable {// 共享變量private static in…

Chatbox AI|多模型多模態交互+MCP,一個工具打造你的全能私人助手

ChatBoxAI集成GPT-4、Claude等頂尖模型&#xff0c;支持Windows/macOS/Linux多平臺&#xff0c;具備隱私加密、文件智能解析&#xff08;PDF/代碼/圖片&#xff09;及開發者友好特性。其應用覆蓋自媒體創作、代碼實時預覽、AI繪圖&#xff08;封面/表情包&#xff09;及聯網搜索…

在Autodl服務器中使用VNC建立圖形界面

在Autodl服務器中使用VNC建立圖形界面**AutoDL 3D 圖形桌面搭建教程****第一步&#xff1a;安裝桌面和 VNC****第二步&#xff1a;進行一次性配置****第三步&#xff1a;日常啟動與使用**AutoDL 3D 圖形桌面搭建教程 目標: 在你的 AutoDL 環境上&#xff0c;以最少的步驟搭建一…

CD54.【C++ Dev】vector和list的反向迭代器的實現

目錄 1.反向迭代器的功能 2.算法 方法1:新寫一個類用于反向迭代器 方法2:封裝正向迭代器實現反向迭代器 解析operator* 正向迭代器和反向迭代器的關系 返回 *--tmp的原因 3.為自制的vector和list編寫反向迭代器 編寫統一的反向迭代器 修改vector頭文件 修改list頭文…

如何解決pip安裝報錯ModuleNotFoundError: No module named ‘django’問題

【Python系列Bug修復PyCharm控制臺pip install報錯】如何解決pip安裝報錯ModuleNotFoundError: No module named ‘django’問題 摘要 在日常 Django 項目開發中&#xff0c;最常見的“攔路虎”之一就是 ModuleNotFoundError: No module named django。該異常通常在以下場景出…

單頁面和多頁面的區別和優缺點

單頁面應用&#xff08;SPA&#xff09;與多頁面應用&#xff08;MPA&#xff09;的區別單頁面應用&#xff08;SPA&#xff09;整個應用只有一個HTML文件&#xff0c;內容通過JavaScript動態加載和渲染。頁面切換時無需重新加載整個頁面&#xff0c;僅更新部分DOM。依賴前端框…

暑期自學嵌入式——Day05(C語言階段)

接續上文&#xff1a;暑期自學嵌入式——Day04&#xff08;C語言階段&#xff09;-CSDN博客 點關注不迷路喲。你的點贊、收藏&#xff0c;一鍵三連&#xff0c;是我持續更新的動力喲&#xff01;&#xff01;&#xff01; 主頁&#xff1a; 一位搞嵌入式的 genius-CSDN博客 …

通用人工智能AGI遙遙無期,面臨幻滅

通用人工智能AGI有可能2080年前也實現不了 首先說一下&#xff0c;目前的人工智能方向是錯的&#xff0c;通用人工智能不值得追捧。 真的特別無奈&#xff0c;現在還有很多人在吹AI&#xff0c;說什么2027年就能實現AGI&#xff0c;如果你指的是真正的強人工智能AGI&#xff0c…

智能體開發工具鏈全景圖:IDE、調試器與監控平臺

智能體開發工具鏈全景圖&#xff1a;IDE、調試器與監控平臺 &#x1f31f; 嗨&#xff0c;我是IRpickstars&#xff01; &#x1f30c; 總有一行代碼&#xff0c;能點亮萬千星辰。 &#x1f50d; 在技術的宇宙中&#xff0c;我愿做永不停歇的探索者。 ? 用代碼丈量世界&…

三十四、【擴展工具篇】JSON 格式化與解析:集成 Monaco Editor 打造在線 JSON 工具

三十四、【擴展工具篇】JSON 格式化與解析:集成 Monaco Editor 打造在線 JSON 工具 前言 功能概覽 技術選型 實現步驟 第一步:添加路由和側邊欄菜單入口 第二步:創建 JSON 工具頁面 第三部分:全面測試與驗證 總結 前言 在日常的接口開發和測試中,我們經常需要處理 JSON 數…

MySQL高可用集群架構:主從復制、MGR與讀寫分離實戰

1. MySQL高可用架構概述 MySQL高可用性(High Availability)解決方案旨在確保數據庫服務在硬件故障、網絡問題等異常情況下仍能持續提供服務。以下是主流的高可用方案對比: 方案 原理 優點 缺點 適用場景 主從復制 基于binlog的異步復制 簡單易用,對性能影響小 數據一致性弱,…

JxBrowser 7.43.5 版本發布啦!

在此版本中&#xff0c;我們進行了錯誤修復和穩定性改進。 &#x1f517; 點擊此處了解更多詳情。 &#x1f193; 獲取 30 天免費試用。

借助AI學習開源代碼git0.7之編譯和使用

如何學習優秀的開源代碼&#xff1f;目前大部分的優秀開源代碼&#xff0c;代碼量都已經非常龐大&#xff0c;比如git。以git為例&#xff0c;git最新版本代碼有279814行&#xff0c; 而git0.7版本已經大部分實現了現在git版本的基本功能&#xff0c;而代碼量卻只有4950行&…

ObservableCollection全面解析

本文僅作為參考大佬們文章的總結。 ObservableCollection是C#中一個功能強大的動態數據集合類&#xff0c;特別適用于需要數據綁定和UI自動更新的場景。本文將系統性地總結ObservableCollection的核心概念、使用方法、性能優化策略以及在實際項目中的應用實踐。 一、Observab…

佰力博檢測與您探討超高溫介電測試的應用領域

超高溫介電測試是指在極端高溫條件下&#xff08;通常高于1000℃&#xff09;對材料的介電性能進行測量和分析的過程。以評估材料在高溫環境下的電學性能穩定性&#xff0c;如介電常數、介電損耗、阻抗譜等參數。超高溫介電測試需要用到的超高溫介電阻抗測試設備&#xff1a;UT…