不常用卻很有妙用的事件及方法

2021-09-14 05:06:36 字數 1130 閱讀 4220

觸發條件:瀏覽器標籤頁被隱藏或顯示的時候會觸發visibilitychange事件.

使用場景:當標籤頁顯示或者隱藏時,觸發一些業務邏輯

document.addeventlistener("visibilitychange", function() );
觸發條件:使用localstorage or sessionstorage儲存或者修改某個本地儲存時

使用場景:標籤頁間通訊

// ab頁面同源

// 在a 頁面

window.addeventlistener('storage', (e) => )

// 在b 頁面,向120打個**

localstorage.setitem('makecall','120')

// 然後可以在a頁面間有輸出, 可以看出a頁面 收到了b頁面的通知

...key: "makecall", oldvalue: "119", newvalue: "120", ...

觸發條件:當頁面的資源將要解除安裝(及重新整理或者關閉標籤頁前). 當頁面依然可見,並且該事件可以被取消隻時

使用場景:關閉或者重新整理頁面時彈窗確認關閉頁面時向後端傳送報告等

window.addeventlistener("beforeunload", function (e) );
這個方法主要用於滿足 統計和診斷** 的需要,這些**通常嘗試在解除安裝(unload)文件之前向web伺服器傳送資料。過早的傳送資料可能導致錯過收集資料的機會。然而, 對於開發者來說保證在文件解除安裝期間傳送資料一直是乙個困難。因為使用者**通常會忽略在解除安裝事件處理器中產生的非同步 xmlhttprequest 。

注意:該方法在ie和safari沒有實現

使用場景:傳送崩潰報告

window.addeventlistener('unload', logdata, false);

function logdata()

mysql不常用但很有用的語句整理

mysqld multi多例項停止 啟動 mysqld multi defaults file etc my.cnf start 1,2 mysqld multi defaults file etc my.cnf start 1 mysqld multi defaults file etc my.c...

SQL學習和積累(一些不常用確很有用的方法)

1 1判斷指定儲存過程是否存在 if exists select from sysobjects where name 儲存過程名 and type p drop proc 儲存過程名 2判斷指定表的列是否存在 if not exists select from syscolumns where i...

CSS3中不常用但很有用的屬性 1

內容 於w3cschool和 css3核心技術與案例實戰 url 帶有後面跟有錨名稱 指向文件內某個具體的元素。這個被鏈結的元素就是目標元素 target element target 選擇器可用於選取當前活動的目標元素。selection 選擇器匹配被使用者選取的選取是部分。注意 只能向 sele...