JavaScript 事件:Web 表單如何實現禁用右鍵、復制粘貼/剪切和輸入框自動填充?

文章目錄

  • 前言
  • 一、禁用鼠標右鍵
    • 1.1、分析說明
    • 1.2、操作原理
    • 1.3、實現效果
    • 1.4、實現代碼
    • 1.5、補充:JS 中的 button 事件屬性
  • 二、禁用復制粘貼
    • 2.1、分析說明
    • 2.2、實現代碼
  • 三、禁用輸入框自動填充功能
    • 3.1、分析說明
    • 3.2、實現效果
    • 3.3、實現代碼
  • 總結


前言

我們在項目中,通常為了保證數據安全性和保護用戶個人信息,個別頁面需要禁用右鍵、復制、粘貼以及輸入框自動填充的功能,所以在此補充和總結幾條我們開發中常用的 JavaScript 事件操作方式。

在這里插入圖片描述


一、禁用鼠標右鍵

1.1、分析說明

通過禁用右鍵選項卡的方式來禁用復制粘貼以及其他非法操作。

1.2、操作原理

我們通過 JS 中的 button 事件屬性來實現鼠標右鍵的禁用。通過彈出提示框來代替右鍵選項卡。

1.3、實現效果

在這里插入圖片描述

1.4、實現代碼

將下列 JS 代碼導入需要禁用右鍵的頁面的<script>標簽對中即可:

function click() { if (event.button==2) { alert('對不起,本頁禁用右鍵!') } 
} 
document.onmousedown=click;

1.5、補充:JS 中的 button 事件屬性

button 事件屬性返回一個整數,用于指示當事件被觸發時哪個鼠標按鍵被點擊。

語法如下

event.button==0|1|2;
參數描述
0規定鼠標左鍵
1規定鼠標中鍵
2規定鼠標右鍵

二、禁用復制粘貼

2.1、分析說明

通過禁用快捷鍵 Ctrl+C/V/X 來禁止用戶在當前頁面復制、粘貼(剪切)。

2.2、實現代碼

頁面整體禁用復制粘貼,在頁面 body 標簽中加入如下代碼即可:

<!-- 禁止全選、復制、粘貼 -->
<body onselectstart="return false" onpaste="return false" oncopy="return false" oncut="return false">

參數說明:

參數描述
onselectstart=“return false”禁用選擇,防止復制
οnpaste=“return false”禁用粘貼
οncοpy=“return false”禁用復制
oncut=“return false”禁用剪切,防止復制

三、禁用輸入框自動填充功能

3.1、分析說明

如果我們不對輸入框進行設置的話,之前用戶輸入的記錄會在下一次輸入的時候自動填充。你當然不希望你在某個小網站看的記錄被另一個同學登錄時用戶名自動填充,讓人家發現你的小秘密?

在這里插入圖片描述
那我們就通過禁用輸入框自動填充,使得之前用戶輸入的記錄不會在另一個用戶輸入時自動填充,起到保護用戶個人信息隱私的作用。

3.2、實現效果

在這里插入圖片描述

3.3、實現代碼

在輸入框的屬性中添加autocomplete="off"屬性即可:

<input name="username" type="text" placeholder="請輸入您的賬號" autocomplete="off" minlength="8" maxlength="20">
<input name="password" type="password" placeholder="請輸入您的密碼" autocomplete="off" minlength="8" maxlength="20">

總結

原生 JavaScript 是充滿魅力的,永遠不要為了追求現成的框架而舍本逐末。在開發中為了保護用戶隱私和信息安全,我們需要在各個方面都要在做到嚴謹,以給用戶最佳的體驗,無論是前端還是后端,都要充分把細節做到位,任何事的前提都是先做一個合格的程序員。技術驅動服務,服務帶來盈利和收益。

在這里插入圖片描述


我是白鹿,一個不懈奮斗的程序猿。望本文能對你有所裨益,歡迎大家的一鍵三連!若有其他問題、建議或者補充可以留言在文章下方,感謝大家的支持!

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

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

相關文章

MySQL 模糊查詢:MySQL 數據庫 like 語句通配符模糊查詢小結

MySQL 報錯&#xff1a;Parameter index out of range (1 &#xff1e; number of parameters, which is 0)——MySQL 數據庫 like 語句通配符模糊查詢小結 文章目錄MySQL 報錯&#xff1a;Parameter index out of range (1 &#xff1e; number of parameters, which is 0)——…

內網擊穿之 HTTP 穿透:網站沒上線?如何讓全世界的人都可以訪問你本地的網站?

文章目錄前言一、內網穿透原理與工具介紹1.1、內網穿透工作原理1.2、內網穿透工具介紹二、啟動內網穿透工具2.1、命令及配置介紹2.2、查看映射信息三、進行訪問測試3.1、遠程訪問本地站點資源3.2、關閉內網穿透總結前言 對于大多數程序員來說&#xff0c;網站一經開發測試后&am…

SSM 整合 3:一個 Spring 入門程序帶你來了解什么是控制反轉(IoC)/依賴注入(DI)?

文章目錄 前言一、使用 Eclipse 創建動態 Web 項目并導入所需 jar 包二、創建接口 TestDao 和實現類2.1、創建接口 TestDao2.2、創建接口的實現類 TestDaoImpl三、創建 Spring 配置文件 applicationContext.xml3.1、如何從官方文檔找配置文件約束信息四、創建測試類并輸出運行結…

軟件設計原則:內聚、耦合有哪幾種類型?內聚度、耦合度如何比較?

文章目錄前言一、何為內聚&#xff1f;1.1、7 種內聚類型及其描述二、何為耦合&#xff1f;2.1、7 種耦合類型及其描述總結前言 高內聚、低耦合是我們在軟件設計過程中必須遵循的一個重要原則&#xff0c;在整個軟件工程中占有很大的比重。而對于內聚和耦合你還是僅僅局限于“高…

數據庫管理工具:如何使用 Navicat Premium 轉儲(導出)和運行(導入)*.sql 文件?

文章目錄前言一、轉儲&#xff08;導出&#xff09;數據庫 SQL 文件1.1、選擇“轉儲 SQL 文件”1.2、選擇導出文件存放位置1.3、查看轉儲 SQL 文件界面1.4、查看 SQL 輸出文件1.5、查看輸出文件詳情信息二、運行&#xff08;導入&#xff09;數據庫 SQL 文件2.1、新建數據庫2.2…

JSP 編譯原理:JSP 是 Servlet?如何用 Eclipse 查看 JSP 編譯生成的 Servlet 源文件?

文章目錄前言一、JSP 文件編譯流程原理二、創建并運行待測試 JSP 頁面三、查找 JSP 編譯文件輸出位置3.1、打開動態項目運行配置3.2、查看 JSP 編譯文件輸出位置3.3、查看 JSP 編譯輸出文件四、JSP 編譯輸出 Servlet 的論證五、訪問 JSP 文件的流程總結前言 相信大家都了解&…

MVC 模式/Servlet/JSP 編譯原理剖析:Servlet 組件到底屬于 MVC 模式的哪一層?

文章目錄前言一、回憶什么是 MVC 模式&#xff1f;1.1、Model、View、Controller 組件介紹1.2、明確 View 與 Controller 組件區別二、什么是 Servlet&#xff1f;2.1、Servlet 的組件定義2.2、Servlet 組件處于 Controller 層&#xff1f;三、老師說 Servlet 是 View 層的&…

操作系統原理:進程 PV 操作如何計算?全網最全三種前驅圖計算類型總結

文章目錄前言一、PV 操作定義1.1、P 操作定義1.2、V 操作定義二、串聯進程&#xff08;單線前驅圖&#xff09;2.1、什么是單線前驅圖&#xff1f;2.2、如何計算單線前驅圖的 PV&#xff1f;2.2.1、計算前驅節點 PV2.2.2、計算中間節點 PV2.2.3、計算尾節點 PV三、并聯進程&…

Spring 容器:三種方式解決 Resource leak: ‘applicationContext‘ is never closed 問題

文章目錄前言一、Spring 容器警告產生的場景二、Spring 容器未關閉后果分析2.1、肉眼可見的警告2.2、導致的內存泄漏2.2.1、什么是內存泄漏&#xff1f;2.2.2、如何判斷內存泄漏&#xff1f;2.2.3、Java 中的 GC&#xff08;垃圾回收&#xff09;2.2.4、Java 中會導致內存泄漏的…

SSM 整合 4:Spring IoC 容器基于的兩個重要接口 BeanFactory 和 ApplicationContext

文章目錄 前言一、BeanFactory 接口1.1、加載 Spring 配置文件創建 BeanFactory 接口實例1.2、開發中的運用以及使用說明二、ApplicationContext 接口2.1、ClassPathXmlApplicationContext 創建接口實例2.2、FileSystemXmlApplicationContext 創建接口實例2.3、通過 Web 服務器…

SRA 案例:關于華為開發者聯盟基礎服務文檔內容的改進建議(華為開發者聯盟文檔深度體驗官)

文章目錄前言一、文檔中心的外鏈跳轉問題1.1、問題描述1.2、造成的問題1.3、改進建議二、圖片失真和無法放大查看問題2.1、問題描述2.2、造成的問題2.3、改進建議三、個別 SDK 詞匯缺少必要的說明3.1、問題描述3.2、造成的問題3.3、改進建議四、郵箱信息的優化4.1、問題描述4.2…

騰訊位置服務:有何優勢?如何使用平臺創建應用和服務調用的 Key?

文章目錄前言一、騰訊位置服務的優勢1.1、提供豐富的地圖產品1.2、提供行業解決方案1.3、提供其他生態維度的支持1.4、海量的數據基礎1.5、豐富的開發文檔二、初識騰訊位置服務2.1、用戶的注冊與登錄&#xff08;附專屬邀請碼&#xff09;2.2、開發者信息的完善三、創建服務平臺…

畢業生當頭一棒?憶本科四年,高校畢業生與就業單位基本要求差多少?工作還是考研?

文章目錄前言一、大學本科前兩年的生活1.1、庸庸碌碌、中規中矩1.2、收獲了愛情二、大三的改變2.1、學會自律2.2、學會自我總結2.3、眼光要具有前瞻性三、畢業答辯3.1、個人設計答辯3.2、團隊設計答辯四、南京之行4.1、銘記歷史&#xff0c;感恩先輩4.2、加強自我認知與提升五、…

Gitee 答疑:為什么從 Gitee 平臺 Pull 代碼到 STS/Eclipse 后文件亂碼?逐步排查

文章目錄前言一、產生亂碼場景1.1、錯誤描述1.2、解決思路二、解決方式2.1、檢查 Git 平臺上的源碼2.2、Git 的運行原理2.3、修改 IDE 的文本編碼格式2.4、重新打開目的文件問題解決2.5、仍存在問題看這里&#xff08;重新拉區合并&#xff09;總結前言 我們從 Gitee 平臺 Pull…

flash 異常修復:QQ 的 flash 圖標顯示異常?QQ 秀、表情加載異常?一招解決

文章目錄前言一、產生錯誤場景1.1、flash 圖標顯示異常1.2、解決思路二、安裝合適版本的 Flash Player2.1、選擇合適版本的 Flash Player2.2、安裝 Flash Player三、重啟 QQ 客戶端四、flash 動畫加載異常4.1、動畫加載異常原因分析4.2、下載安裝 flash 修復工具4.3、使用 Flas…

電腦廣告多?Windows 自帶惡意軟件刪除工具還不會使用?有必要安裝殺毒軟件嗎?

文章目錄前言一、啟動惡意軟件刪除工具二、掃描類型的選擇三、啟動軟件掃描四、惡意軟件刪除工具的說明五、對于惡意軟件處理的建議總結前言 可能有些小伙伴發現&#xff0c;哎&#xff1f;為什么我的電腦彈窗廣告這么多&#xff1f;難不成小視頻看多了&#xff1f;電腦中毒了&…

《軟件項目管理(第二版)》第 8 章——項目團隊與干系人 重點部分總結

文章目錄 前言一、簡答題二、論述題總結前言 學習了項目的開發與發布之后,我們就可以單獨對一個項目進行開發了,但是在企業中開發中,除了編碼之外,還需要項目管理、團隊協作開發等,這就是軟件項目管理板塊要學習的內容。本文是對《軟件項目管理(第二版)》第 8 章——項目…

《軟件項目管理(第二版)》第 7 章——項目風險管理 重點部分總結

文章目錄 前言一、單選題二、填空題三、簡答題四、論述題總結前言 學習了項目的開發與發布之后,我們就可以單獨對一個項目進行開發了,但是在企業中開發中,除了編碼之外,還需要項目管理、團隊協作開發等,這就是軟件項目管理板塊要學習的內容。本文是對《軟件項目管理(第二…

《軟件項目管理(第二版)》第 6 章——項目質量管理 重點部分總結

文章目錄 前言一、單選題二、判斷題三、簡答題總結前言 學習了項目的開發與發布之后,我們就可以單獨對一個項目進行開發了,但是在企業中開發中,除了編碼之外,還需要項目管理、團隊協作開發等,這就是軟件項目管理板塊要學習的內容。本文是對《軟件項目管理(第二版)》第 6…

《軟件項目管理(第二版)》第 5 章——項目進度和成本管理 重點部分總結

文章目錄 前言一、填空題二、簡答題三、論述題總結前言 學習了項目的開發與發布之后,我們就可以單獨對一個項目進行開發了,但是在企業中開發中,除了編碼之外,還需要項目管理、團隊協作開發等,這就是軟件項目管理板塊要學習的內容。本文是對《軟件項目管理(第二版)》第 5…