博客 / 列表

aqiongbei - 來學一個值錢的知識,Chrome插件如何優雅的捕獲頁面的請求結果

背景 今天在寫一個某網站限流檢測的chrome插件,需要捕獲頁面的某個請求結果。那麼問題就來了,我們該如何捕獲頁面的請求結果呢?我們來捋捋都有哪些方案。 我開發的時候的配置為manifest_version: 3,下文內容也是在這個基礎上展開的。 本文只列舉方案,一些需同步在manifest_version進行配置地方並未提及,請自行配置。 可行的方案 一、chrome.webReques

chrome , chrome-extension , chrome-devtools , 前端 , Javascript

aqiongbei - javascript中的動態集合NodeList&HTMLCollection

不知道你有沒有在控制枱見到過類似這樣的輸出 我們會發現,同樣都是獲取元素的代碼,為啥一個是NodeList,一個是HTMLCollection。 那麼這倆是啥?又有啥區別,本篇文章我們就聊聊這個。 NodeList NodeList對象是節點的集合(類數組)。通常是由屬性,如Node.childNodes 和 方法(如document.querySelectorAll) 返回的

dom , 前端 , Javascript

aqiongbei - 手動點擊與代碼中調用click方法兩者的區別

問題描述 在看事件循環相關視頻的時候發現其中有一個例子不理解,查了資料才明白其中的緣由,遂以志之。問題是這樣的: button id="button"button/button button.addEventListener("click", () = { Promise.resolve().then(() = console.log("Microtask 1")); consol

eventloop , 事件循環 , 同步 , 前端 , Javascript

aqiongbei - 如何理解fn1.call.call(fn2)的結果

問題復現 有這麼一道題: function fn1(){ console.log(`fn1 ${this}`) } function fn2(){ console.log(`fn2 ${this}`) } fn1.call(fn2);// fn1 function fn2(){console.log(`fn2 ${this}`)} fn1.call.call(fn2);//

call , ecmascript-6 , 前端 , Javascript

aqiongbei - 淺談sessionStorage的"繼承"問題

問題復現 最近在寫bug的過程中發現一個有意思的事,我把它稱之為" sessionStorage'繼承' "。我們可以按以下做法復現這一過程: 測試一 打開一個頁面(我們稱之為a頁面),在控制枱執行 sessionStorage.a = 'a'; window.open(window.location.href); // 得到b頁面 我們把新打開的頁面叫做b頁面,然後我們在b頁面控制枱執行 ses

sessionstorage , HTML , html5 , Javascript