Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
內容首發于工粽號:程序員大澈,每日分享一段優質代碼片段,歡迎關注和投稿!
大家好,我是大澈!
本文約 700+ 字,整篇閱讀約需 1 分鐘。
今天分享一段優質 JS 代碼片段,實現在關閉或刷新瀏覽器窗口時做提示。
老規矩,先閱讀代碼片段并思考,再看代碼解析再思考,最后評論區留下你的見解!
window.addEventListener('beforeunload', function (event) {
const confirmationMessage = "確定要離開此頁面嗎?您所做的更改可能不會被保存。";
event.preventDefault();
event.returnValue = confirmationMessage;
return confirmationMessage;
});
分享原因
這段代碼展示了如何使用 JavaScript 的 beforeunload 事件來提示用戶在關閉或刷新瀏覽器窗口時確認操作,從而避免意外的數據丟失或操作中斷。
這種方法適用于 未保存的數據(如填寫表單或編輯文檔)、長時間操作(如文件上傳或大規模數據處理)、敏感操作(如在線交易或重要系統設置)等場景。
項目中用到時直接CV,但對于用戶體驗而言,不宜過度使用。
代碼解析
1. window.addEventListener('beforeunload', function (event) { ... })
為 window 對象添加一個 beforeunload 事件監聽器。
當用戶試圖關閉或刷新瀏覽器窗口時,此事件將被觸發。
2. event.preventDefault();
調用 event.preventDefault() 方法來阻止默認的瀏覽器行為。
在大多數情況下,這一步是冗余的,因為 beforeunload 事件默認不會執行任何動作,但這可以確保兼容性。
3. event.returnValue = confirmationMessage;
設置 event.returnValue 為 confirmationMessage 提示信息。
這是確保在大多數現代瀏覽器中顯示確認對話框的關鍵步驟。
4. return confirmationMessage;
返回 confirmationMessage 提示信息。
在一些舊版瀏覽器中,這一步是必要的,以確保顯示提示信息。
閩南網]
很多人在平時瀏覽網頁的時候,或許都會發現一些事情,當你發現一篇好文章或者是一些有趣的東西時,想復制卻不能復制,相信很多人遇到不少這樣的問題,那么這種情況該怎么解決呢,下面就和小編一起來看看吧!
方法1
1打開目標網頁,選中網頁的地址欄。(這里以360瀏覽器為例)
2在地址欄輸入下行代碼,全部輸入。
javascript:void($={});
按下回車鍵(Enter),破解完成。(回車后不會跳轉網頁)
3注意,如果網頁被刷新,限制會恢復,需要重新輸入代碼。
方法2
1打開右上角工具,選擇最后的選項
2選擇 高級設置-網頁設置,點擊 網頁內容高級設置
3找到 JavaScript選項-不允許任何網站運行 JavaScript
4完成,關閉選項標簽頁。(做完之后可以調回去)
方法3
用瀏覽器隨便打開一個網頁,添加到收藏夾,最好放到瀏覽器的標簽欄,方便使用。這里以百度為例
添加之后右鍵選擇編輯,修改名字為【破解限制】,在地址欄粘貼以下代碼
javascript:(function{eval(function(p,a,c,k,e,r){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function{return'\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\b'+e(c)+'\b','g'),k[c]);return p}('5 2=8;5 3=2.K;3.7=3.k=3.e=3.9=3.6=3.y=3.7=3.z=2.7=2.k=2.e=2.9=2.6=4;2.7=2.6=2.c=2.9=p{r t};g(8.n||8){d=4;c=4;6=4}5 a=8.15(\'*\');o(5 i=a.q-1;i>=0;i--){5 b=a[i];g(b.n||b){d=4;c=4}}s(h(\'%u%v%w%x%j%17%A%B%C%j%D\')+\'\E\'+h(\'%F%G%H%I%J%l%L%l%M%N%O%P%Q%R%S%T%U%V%W%X%Y\')+\'\Z.10.11\');3.m.13=\'14!f\';3.m.16=\'12!f\';',62,70,'||doc|bd|null|var|oncontextmenu|onselectstart|document|onkeydown|arAllElements|elmOne|onmousedown|onmouseup|onpaste|important|with|unescape||u5236|oncopy|u7528|style|wrappedJSObject|for|function|length|return|alert|true|u5DF2|u89E3|u9664|u590D|onmousemove|ondragstart|u53F3|u952E|u9650|uFF01|u000d|u66F4|u591A|u7CBE|u5F69|u5B9E|body|u5e94|uFF0C|u8BF7|u5173|u6CE8|u300E|u0065|u5f27|u5ea6|u7535|u5b50|u5546|u52a1|u300F|u000dwww|ehudu|com|text|webkitUserSelect|auto|getElementsByTagName|MozUserSelect|u4E0E'.split('|'),0,{}))})
保存,完成。打開需要破解的網頁,點一下剛才創建的標簽,破解完成,但每次打開網頁都需要點一下破解的標簽。要求:瀏覽器必須能執行javascript代碼,其它瀏覽器添加書簽類似。
方法4
使用Ctrl+A選擇網頁全部文字,Ctrl+C復制,新建文本檔案,Ctrl+V粘貼,刪除不需要的文字。(這個方法只適用于網頁內容無法選中的網頁,有時候會無法復制,這時候就需要用到上面的方法了)
頁編程之自動刷新。
各位同學好,今天我們來分享一下如何設置網頁自動刷新和延時跳轉。我們都知道,在瀏覽器中點擊刷新按鈕或者按下F5鍵可以刷新頁面,但在編程中有時需要自動刷新頁面,加載最新的數據,無需用戶參與。這就是我們今天要講的內容。
接下來讓我們來看看效果如何。
·首先,在頁面上添加了一個滾動字幕和一張GIF動畫,用于展示頁面的刷新狀態。
·現在可以看到,每隔3秒自動刷新一次,每當刷新時,字幕會回到初始位置,動畫也會重新播放。
·如果不明顯,可以看到鼠標指到的位置會不停地觸發刷新按鈕,效果已經很明顯了。
現在讓我們來看看實現代碼。自動刷新使用了meta標簽的http-equiv屬性,值為referesh,表示自動刷新。設置了content屬性,在內容中填寫秒數,即每隔多少秒自動刷新頁面。如果設置為3,則每隔3秒自動刷新頁面,非常簡單。
·延時跳轉的實現也很簡單。剛才已經將Content屬性設置為3,現在只需要指定要跳轉到的URL。它的寫法是在3后面加上一個英文分號,然后加上url等于要跳轉到的地址。在這里,我們跳轉到新浪首頁,例如視頻。這樣寫好后,回到瀏覽器保存,可以看到倒計時321,成功跳轉。在指定時間后,瀏覽器會自動跳轉,功能已經實現。
今天的分享就到這里,希望各位同學可以照著寫3遍,做到不看視頻也能寫出來。所有案例和相關文檔都可以向我索取。
我們下期再見,想學編程可以關注網頁編程、服務端編程、數據庫和算法方面的內容。
點贊支持一下。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。