国产成人欧美一区二区三区vr_久久国产精品人人爽人人爽_国产精品永久免费播放_肉欲啪啪a∨无码精品一区二区_国产超短裙jk丝袜在线_亚洲AV片高清资源在线观看_国模无码一区二区三区久久_国产成年人未进视频_中文字幕无码精品夜_一区二区三区在线视频免费看_亚洲成AV人片在线观看网址_日本激情视频高清综合久久_亚洲午夜视频福利_国内大量揄拍人妻精品視_久久国产精品福利二区三区

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

恢復(fù)圖片搜索“查看圖片”按鈕:瀏覽器擴(kuò)展實(shí)戰(zhàn)

恢復(fù)圖片搜索“查看圖片”按鈕:瀏覽器擴(kuò)展實(shí)戰(zhàn) 用搜索引擎找圖這件事我?guī)缀趺刻於家蓭谆貙懜逭遗鋱D、驗(yàn)證一張截圖的出處、給素材找高清版本。以前在圖片搜索結(jié)果頁上鼠標(biāo)懸停一張圖右下角會(huì)掛著幾個(gè)按鈕其中那個(gè)“查看圖片”最順手——點(diǎn)一下直接跳到原圖不用進(jìn)中間頁也不用反復(fù)試右鍵。后來這個(gè)按鈕沒了頁面只剩一個(gè)鋪滿屏的瀑布流點(diǎn)哪張都把我甩到一個(gè)夾著廣告和推薦位的中間頁面里再點(diǎn)一次才看到原圖。這篇東西講的就是怎么把那個(gè)按鈕找回來一個(gè)幾十行代碼的瀏覽器擴(kuò)展三分鐘裝好裝上之后按鈕重新長在縮略圖上點(diǎn)一下直出原圖。它解決的不是什么高深問題純粹是“一次點(diǎn)擊 vs 三次點(diǎn)擊”的效率損耗但只要你是重度找圖用戶——設(shè)計(jì)師、運(yùn)營、做內(nèi)容搬運(yùn)的、查證圖片真?zhèn)蔚摹@個(gè)損耗一天攢下來就是幾百次多余的跳轉(zhuǎn)。下文我把思路、代碼、踩過的坑全攤開懂一點(diǎn) HTML 的可以直接抄完全不懂前端的照著步驟裝也能跑起來。1. 按鈕消失了消失的到底是什么1.1 先還原用戶視角的四個(gè)真實(shí)痛點(diǎn)很多人以為按鈕消失是“功能被砍了”其實(shí)更準(zhǔn)確的說法是“入口被挪走或藏起來了”。這兩件事在體驗(yàn)上的差別很大功能被砍意味著能力徹底不存在入口被挪走意味著能力還在只是你現(xiàn)在得多繞幾步才能碰到它。我把自己和身邊幾個(gè)同事的抱怨歸了一下類痛點(diǎn)其實(shí)就四個(gè)多一跳。以前懸停即點(diǎn)直達(dá)原圖現(xiàn)在必須先點(diǎn)縮略圖進(jìn)中間頁再看一遍廣告和“相關(guān)搜索”才找到真正的圖片鏈接。右鍵失效。早期的搜索結(jié)果頁右鍵“在新標(biāo)簽頁中打開圖片”能拿到大圖改版之后部分圖片是懶加載的占位圖或者低分辨率縮略圖右鍵存下來只有幾十 KB放大就糊。位置漂移。有些圖在中間頁里藏的原始鏈接還帶著一串跳轉(zhuǎn)參數(shù)手動(dòng)復(fù)制出來還得刪參數(shù)刪錯(cuò)了直接 404。移動(dòng)端更慘。窄屏下根本沒有懸停長按彈出的菜單里也沒有“查看圖片”這一項(xiàng)只能一步步點(diǎn)。這四條合在一起就是一個(gè)很典型的“產(chǎn)品為了引導(dǎo)流量做的改版”與“重度用戶的操作習(xí)慣”之間的沖突。改版方有它的道理——中間頁能塞更多相關(guān)內(nèi)容、能帶更多曝光但對于只想拿圖的人來說這條路純屬負(fù)擔(dān)。1.2 頁面變了但數(shù)據(jù)還在我一開始也擔(dān)心“是不是接口沒了”?;艘粋€(gè)晚上在開發(fā)者工具里翻結(jié)論讓人松口氣圖片的真實(shí)地址依然完整地躺在前端 DOM 里只是承接“查看圖片”這個(gè)動(dòng)作的那個(gè)按鈕節(jié)點(diǎn)從縮略圖容器里被移除了或者被塞進(jìn)了一個(gè)需要額外交互才展開的菜單。這件事的關(guān)鍵在于圖片搜索頁是一個(gè)典型的前端異步渲染頁面。你看到的瀑布流不是一次性從服務(wù)器吐出來的 HTML而是頁面加載完之后由 JavaScript 分批請求數(shù)據(jù)、拼接 DOM、再插進(jìn)容器的。滾動(dòng)一屏就插一批新節(jié)點(diǎn)。這個(gè)過程有個(gè)很要命的副作用——如果你在頁面load事件里跑一次查詢你只能掃到第一批圖片往下滾動(dòng)新出來的全是“漏網(wǎng)之魚”。所以任何“找回按鈕”的方案技術(shù)核心都不是“調(diào)接口”而是兩件事找到圖片節(jié)點(diǎn)用一組盡量穩(wěn)的選擇器把頁面上所有縮略圖img撈出來。跟上頁面的節(jié)奏頁面每插入一批新節(jié)點(diǎn)就重新掃一遍把按鈕補(bǔ)上去。第一件事靠 CSS 選擇器第二件事靠MutationObserver——瀏覽器原生的 DOM 變更監(jiān)聽器。搞明白這兩點(diǎn)剩下的全是體力活。提示判斷一個(gè)“頁面功能消失”的問題是前端問題還是后端問題最快的辦法是打開開發(fā)者工具在 Elements 面板里搜一下你關(guān)心的數(shù)據(jù)還在不在。在就是前端的事不在才需要往后端想。2. 方案選型四條路擺在面前為什么選擴(kuò)展2.1 四條候選路線的橫向?qū)Ρ仍趧?dòng)手之前我把能想到的路子都過了一遍列成表更清楚方案實(shí)現(xiàn)成本生效范圍更新維護(hù)主要短板瀏覽器擴(kuò)展Content Script中需要寫 manifest 和注入腳本只在匹配的域名和路徑下生效頁面改版后改選擇器即可需要開啟開發(fā)者模式手動(dòng)加載用戶腳本管理器 腳本低一個(gè).user.js文件同樣按 URL 匹配同上依賴第三方腳本管理器多一層信任成本書簽小工具Bookmarklet極低一段javascript:代碼手動(dòng)點(diǎn)擊才執(zhí)行改書簽即可每次都要點(diǎn)一次且容易被頁面的 CSP 攔瀏覽器自帶功能 / 系統(tǒng)級(jí)工具無全局不可控拿不到頁面內(nèi)的原始圖片地址我最后選擴(kuò)展理由有三個(gè)說穿了都很樸素第一它是“一次裝好長期自動(dòng)生效”的。書簽小工具每次都要手動(dòng)點(diǎn)我這人記性差點(diǎn)兩次就懶得點(diǎn)了。擴(kuò)展可以在頁面加載完成后自動(dòng)跑用戶完全無感。第二它能把按鈕“長”在頁面上而不是彈一個(gè)浮層。書簽小工具最常見的做法是彈一個(gè)面板列出所有圖片鏈接邏輯上能用但體驗(yàn)割裂——你還得在面板里再找一遍“我要的是哪張”。擴(kuò)展可以直接在每張縮略圖上掛一個(gè)按鈕位置對應(yīng)點(diǎn)誰是誰。第三調(diào)試體驗(yàn)最好。擴(kuò)展的 Content Script 在開發(fā)者工具里有獨(dú)立的執(zhí)行上下文console.log打在頁面的 Console 里斷點(diǎn)能打選擇器能實(shí)時(shí)改。用戶腳本管理器雖然也能調(diào)但多一層注入出問題的時(shí)候排查鏈路更長。代價(jià)也很明確擴(kuò)展的權(quán)限模型比用戶腳本嚴(yán)格。Manifest V3 之后content_scripts的matches必須寫成明確的 URL 模式不能用*://*/*這種大撒網(wǎng)雖然技術(shù)上能寫但裝的時(shí)候會(huì)彈一個(gè)非常嚇人的“讀取所有網(wǎng)站數(shù)據(jù)”提示。我的做法是把matches收窄到搜索頁的路徑特征上這樣安裝時(shí)只提示“讀取此站點(diǎn)數(shù)據(jù)”心理負(fù)擔(dān)小很多也更符合最小權(quán)限原則。2.2 兩個(gè)必須先想清楚的約束選完路線之后還有兩個(gè)約束條件必須在寫代碼前定下來不然后面全是返工。約束一不能破壞頁面原有的點(diǎn)擊行為??s略圖本身是可點(diǎn)的點(diǎn)了會(huì)跳中間頁。我加的按鈕如果只是浮在上面點(diǎn)按鈕的時(shí)候事件會(huì)冒泡到父級(jí)a上結(jié)果就是“既開了新標(biāo)簽頁原頁面又跳走了”。所以按鈕的點(diǎn)擊處理里必須preventDefault()加stopPropagation()兩個(gè)都要少一個(gè)都不行。約束二不能重復(fù)注入。頁面是異步渲染的我用MutationObserver監(jiān)聽變更而“給容器加按鈕”這個(gè)動(dòng)作本身也會(huì)觸發(fā) DOM 變更——如果不做去重就會(huì)陷入“加按鈕 → 觸發(fā)變更 → 再加按鈕 → 再觸發(fā)變更”的死循環(huán)幾秒鐘之后頁面上每張圖疊了十幾個(gè)按鈕瀏覽器直接卡死。解決辦法是給已經(jīng)處理過的容器打一個(gè)標(biāo)記屬性掃描時(shí)先查標(biāo)記。這兩個(gè)約束聽著像是常識(shí)但我在第一版里兩個(gè)都踩了后面第 6 節(jié)會(huì)詳細(xì)說現(xiàn)場。3. 核心實(shí)現(xiàn)拆解三個(gè)繞不開的技術(shù)點(diǎn)3.1 Manifest V3 下的最小骨架現(xiàn)代瀏覽器擴(kuò)展的清單文件已經(jīng)不是當(dāng)年那個(gè)寬松的 JSON 了Manifest V3 對權(quán)限做了大幅收緊。對我們這個(gè)場景真正需要的字段其實(shí)很少manifest_version必須是3這是硬性的。content_scripts是核心它聲明“在哪些頁面、注入哪些文件、什么時(shí)候注入”。matches決定生效范圍寫成搜索頁的 URL 特征。run_at決定注入時(shí)機(jī)這里我選document_idle。關(guān)于run_at有句話值得展開。它有三個(gè)常見取值document_startDOM 還沒建好就注入、document_endDOM 建好但資源可能沒加載完、document_idle瀏覽器覺得空閑了再注入通常在document_end到load之間。選document_idle的原因是我們的腳本本身要依賴MutationObserver去追后續(xù)渲染所以完全不需要搶跑搶跑反而會(huì)因?yàn)閐ocument.body還不存在而報(bào)一堆null引用錯(cuò)誤。還有all_frames默認(rèn)是false意思是只在頂層文檔注入不進(jìn) iframe。搜索結(jié)果頁的圖片基本都在主文檔里保持false就行。如果哪天你把范圍擴(kuò)到了別的站點(diǎn)發(fā)現(xiàn)某些圖在 iframe 里再把它改成true——但要注意改成true之后同一個(gè)頁面里的每個(gè) iframe 都會(huì)跑一份你的腳本去重邏輯得更小心。3.2 用 MutationObserver 追上異步渲染的頁面這是整個(gè)方案里唯一需要?jiǎng)狱c(diǎn)腦子地方。先說反面教材我第一版用的是window.addEventListener(load, ...)加上一個(gè)setInterval每 500ms 掃描一次。能用但很難看——頁面靜置的時(shí)候它也在空轉(zhuǎn)筆記本風(fēng)扇轉(zhuǎn)得明顯而且 500ms 的間隔在快速滾動(dòng)時(shí)會(huì)漏掉一些節(jié)點(diǎn)。MutationObserver的用法本身不復(fù)雜觀察document.documentElement配置childList: true和subtree: true這樣整棵樹的任何層級(jí)新增節(jié)點(diǎn)都會(huì)通知到我。但直接回調(diào)里干活會(huì)出事因?yàn)槠俨剂鳚L動(dòng)的時(shí)候DOM 變更是一秒幾十次的高頻事件每次變更都全量掃一遍頁面主線程會(huì)被拖死。所以中間必須加一層節(jié)流收到通知不立刻掃而是起一個(gè) 200ms 的定時(shí)器定時(shí)器觸發(fā)時(shí)才執(zhí)行真正的掃描。200ms 這個(gè)數(shù)值是我試出來的——低于 100ms快速滾動(dòng)時(shí)掃描次數(shù)暴漲幀率掉得能看出來高于 400ms新圖片出來之后按鈕要愣一下才出現(xiàn)手感很怪。200ms 基本是“視覺上即時(shí)、性能上無感”的平衡點(diǎn)。還有一個(gè)小細(xì)節(jié)滾動(dòng)到底部再往上滾已經(jīng)處理過的容器會(huì)重新進(jìn)入視口MutationObserver可能因?yàn)閼屑虞d替換src再次觸發(fā)。這時(shí)候前面提到的標(biāo)記屬性就派上用場了容器有標(biāo)記就直接跳過不做任何查詢。3.3 按鈕注入與去重別讓頁面長出三胞胎注入這步看著簡單——createElement(button)、設(shè)文本、掛事件、appendChild——但真正決定成敗的是掛在哪個(gè)節(jié)點(diǎn)上。我試過三種掛法掛在img上不行。img是替換元素直接給它加子節(jié)點(diǎn)會(huì)被瀏覽器忽略而且img的position屬性設(shè)置之后定位基準(zhǔn)也很怪。掛在外層a上基本可行但前提是搜索頁的結(jié)果確實(shí)是a包裹的。如果哪天改版換成div加 JS 跳轉(zhuǎn)選擇器就全廢了。掛在最近的定位祖先上最穩(wěn)。用img.closest(a, div)找到最近的可定位父容器給它加position: relative按鈕用絕對定位貼右下角。我最終用的是第二種加第三種的混合優(yōu)先找a找不到就退到最近的div。同時(shí)給容器加一個(gè)統(tǒng)一的類名方便 CSS 里統(tǒng)一處理定位。去重標(biāo)記我用的是自定義屬性>{ manifest_version: 3, name: Image View Restorer, version: 1.0.0, description: 在圖片搜索結(jié)果頁恢復(fù)“查看圖片”快捷入口, content_scripts: [ { matches: [ https://*.example-search.tld/search*, https://*.example-search.tld/imghp* ], js: [content.js], css: [inject.css], run_at: document_idle, all_frames: false } ] }matches里的example-search.tld是占位符你需要替換成自己實(shí)際訪問的搜索頁域名。寫這個(gè)模式有幾個(gè)規(guī)則要記牢*在主機(jī)部分只能匹配一級(jí)子域https://*.example.com/*能匹配a.example.com但匹配不了a.b.example.com。路徑部分的*可以匹配任意字符包括/所以/search*能覆蓋/search?q...和/search/images?...。協(xié)議必須寫全https://和http://是兩個(gè)不同的模式要分別寫通常只寫https://就夠了。路徑不寫*就代表精確匹配很容易漏。改完matches之后必須回到擴(kuò)展管理頁重新加載一次擴(kuò)展否則新規(guī)則不生效。這是新手最容易卡住的地方——改了半天代碼怎么刷新頁面都沒反應(yīng)以為代碼寫錯(cuò)了其實(shí)是擴(kuò)展還跑在舊配置上。注意這里的域名不要圖省事寫成https://*/*。雖然技術(shù)上能跑但安裝時(shí)瀏覽器會(huì)提示“讀取和更改您在所有網(wǎng)站上的所有數(shù)據(jù)”一是心理上有負(fù)擔(dān)二是權(quán)限過大意味著哪天代碼出了 bug 可能影響到別的站點(diǎn)。4.3 content.js 完整代碼與逐段講解下面這份是能直接跑的版本我按功能分了段每段后面說清楚它在干嘛。// ---------- 1. 常量與狀態(tài) ---------- const MARK_ATTR data-ivr-injected; const BTN_CLASS ivr-view-btn; const HOST_CLASS ivr-host; const SCAN_DELAY 200; const MIN_SIZE 80; let scanTimer null; // ---------- 2. 地址推導(dǎo) ---------- const SIZE_RULES [ // 把 ?w200h200 之類的尺寸參數(shù)抬到大圖 { re: /([?](?:w|width|h|height|size|sz))\d{1,4}/gi, rep: $11600 }, // 把 xxx-320x480.jpg 這類后綴去掉 { re: /-\d{2,4}x\d{2,4}(\.(?:jpe?g|png|webp|gif))/i, rep: $1 } ]; function upgradeUrl(url) { if (!url) return ; let out url; for (const r of SIZE_RULES) { out out.replace(r.re, r.rep); } return out; } function resolveTargetUrl(img) { const raw img.currentSrc || img.src || ; const upgraded upgradeUrl(raw); if (upgraded upgraded ! raw) return upgraded; const anchor img.closest(a[href]); if (anchor anchor.href) return anchor.href; return raw; }resolveTargetUrl是這個(gè)擴(kuò)展里唯一帶點(diǎn)“猜測”成分的函數(shù)邏輯分三層先看縮略圖地址能不能通過替換尺寸參數(shù)變大圖能就直接用不能就退到外層鏈接再不行就用原始src。這三層是遞進(jìn)關(guān)系不是并列——因?yàn)榇蠖鄶?shù)情況下縮略圖地址確實(shí)帶尺寸參數(shù)改造一下就能拿到大圖這是最優(yōu)解因?yàn)樗〉袅艘淮雾撁嫣D(zhuǎn)。// ---------- 3. 按鈕構(gòu)建 ---------- function buildButton(img) { const btn document.createElement(button); btn.type button; btn.className BTN_CLASS; btn.textContent 查看圖片; btn.setAttribute(MARK_ATTR, 1); btn.addEventListener(click, (e) { e.preventDefault(); e.stopPropagation(); const url resolveTargetUrl(img); if (url) { window.open(url, _blank, noopener,noreferrer); } }, false); // 阻止 mousedown 冒泡避免某些頁面用它做跳轉(zhuǎn) btn.addEventListener(mousedown, (e) e.stopPropagation(), false); return btn; }這里加了mousedown的阻止冒泡是踩坑之后補(bǔ)的。有些頁面不用click做跳轉(zhuǎn)而是監(jiān)聽父容器的mousedown或者pointerdown只攔click根本攔不住。把這三個(gè)事件都攔掉才算是徹底干凈。window.open的第三個(gè)參數(shù)noopener,noreferrer也別省。它是讓新開的頁面拿不到window.opener一是安全二是某些站點(diǎn)檢測到opener存在時(shí)會(huì)改行為比如強(qiáng)制在當(dāng)前頁跳轉(zhuǎn)。// ---------- 4. 掃描與注入 ---------- const IMG_SELECTORS [ div[data-attrid] img, a[rolelink] img, div[jsname] img, div a img ].join(,); function markHost(container) { if (!container) return null; if (container.hasAttribute(MARK_ATTR) || container.querySelector([${MARK_ATTR}])) { return null; } container.classList.add(HOST_CLASS); return container; } function scan(root) { let imgs; try { imgs root.querySelectorAll(IMG_SELECTORS); } catch (err) { return; } for (const img of imgs) { if (img.naturalWidth img.naturalWidth MIN_SIZE) continue; if (img.naturalHeight img.naturalHeight MIN_SIZE) continue; let host img.closest(a) || img.closest(div); host markHost(host); if (!host) continue; host.setAttribute(MARK_ATTR, 1); host.appendChild(buildButton(img)); } }IMG_SELECTORS里我并列了四條選擇器用逗號(hào)拼起來交給querySelectorAll語義上是“滿足任意一條即可”。為什么要冗余這么多條因?yàn)樗阉黜摰慕Y(jié)果容器經(jīng)常改class尤其是帶哈希的那種像classabc123每次構(gòu)建都變但結(jié)構(gòu)性屬性相對穩(wěn)定>// ---------- 5. 監(jiān)聽與節(jié)流 ---------- function scheduleScan() { if (scanTimer) return; scanTimer setTimeout(() { scanTimer null; scan(document); }, SCAN_DELAY); } function boot() { scan(document); const mo new MutationObserver(scheduleScan); mo.observe(document.documentElement, { childList: true, subtree: true }); // 兜底單頁應(yīng)用的路由切換不一定觸發(fā) DOM 變更 window.addEventListener(popstate, scheduleScan, false); document.addEventListener(visibilitychange, () { if (!document.hidden) scheduleScan(); }, false); } if (document.readyState loading) { document.addEventListener(DOMContentLoaded, boot, { once: true }); } else { boot(); }最后那個(gè)readyState判斷是保險(xiǎn)。雖然run_at: document_idle保證了注入時(shí) DOM 基本就緒但如果哪天你把run_at改成document_start做實(shí)驗(yàn)沒這個(gè)判斷就會(huì)拿到null。加上它腳本在兩種注入時(shí)機(jī)下都能正常工作。4.4 inject.css讓按鈕不礙事.ivr-host { position: relative !important; } .ivr-view-btn { position: absolute; right: 8px; bottom: 8px; z-index: 20; padding: 4px 10px; border: none; border-radius: 14px; background: rgba(16, 16, 16, 0.78); color: #fff; font-size: 12px; line-height: 1.5; font-family: inherit; cursor: pointer; opacity: 0; transform: translateY(4px); transition: opacity 0.15s ease, transform 0.15s ease; pointer-events: none; } .ivr-host:hover .ivr-view-btn, .ivr-view-btn:focus-visible { opacity: 1; transform: translateY(0); pointer-events: auto; }設(shè)計(jì)上的幾個(gè)取舍說明一下。opacity: 0加pointer-events: none的組合是為了讓按鈕默認(rèn)隱形——圖片墻本來就很花每張圖都掛一個(gè)深色藥丸會(huì)非常吵。只在懸停時(shí)顯形視覺上干凈得多。pointer-events: none是配合opacity: 0用的不然按鈕雖然看不見但仍然可以點(diǎn)會(huì)莫名其妙觸發(fā)。focus-visible那條是為了鍵盤用戶Tab 到按鈕上時(shí)它要顯形否則鍵盤操作完全沒法用。這個(gè)細(xì)節(jié)很少有人寫但加上之后整個(gè)東西才算完整。4.5 加載與驗(yàn)證裝的過程分三步熟練的話確實(shí)三分鐘打開擴(kuò)展管理頁右上角打開“開發(fā)者模式”開關(guān)。點(diǎn)“加載已解壓的擴(kuò)展程序”選中那個(gè)包含manifest.json的文件夾?;氐剿阉黜撍⑿乱淮?。驗(yàn)證方法很簡單鼠標(biāo)懸停一張縮略圖右下角應(yīng)該浮出一個(gè)深色的小按鈕。點(diǎn)它新標(biāo)簽頁打開的就是大圖。如果沒出現(xiàn)按這個(gè)順序排查先看擴(kuò)展有沒有加載成功。管理頁里如果顯示紅色錯(cuò)誤說明manifest.json有語法問題最常見的是多了一個(gè)逗號(hào)或者少了一個(gè)引號(hào)。再看matches寫對沒有。在搜索頁按 F12Console 里敲location.href把實(shí)際地址和你的模式對一遍。最后看 Console 有沒有報(bào)錯(cuò)。Content Script 的錯(cuò)誤會(huì)打在頁面的 Console 里紅字很顯眼。5. 從“能用”到“順手”的三個(gè)增強(qiáng)5.1 地址推導(dǎo)的邊界在哪里upgradeUrl那兩條正則只能覆蓋最常見的情況。真實(shí)世界里圖片地址的尺寸參數(shù)五花八門有的用?w200有的用?width200有的用路徑里的-320x480還有的把尺寸編在哈希里這種基本沒救只能老老實(shí)實(shí)跳中間頁拿原圖。我的建議是不要試圖寫完所有規(guī)則而是先抓高頻的跑一段時(shí)間看哪些圖還是拿不到大圖再把對應(yīng)規(guī)則補(bǔ)進(jìn)去。這是典型的“二八開”場景前兩條規(guī)則大概能覆蓋八成圖片剩下兩成補(bǔ)規(guī)則的成本急劇上升收益卻很小。有個(gè)例外情況值得單獨(dú)說如果原圖本身就比縮略圖小你的放大操作會(huì)拿到 404。因?yàn)榉?wù)器上根本沒有那個(gè)尺寸的文件。所以upgradeUrl返回的地址最好在打開前做一次可用性檢查——但window.open之前做異步檢查會(huì)丟失“用戶手勢”上下文導(dǎo)致彈窗被攔。折中方案是不檢查直接開如果 404 了用戶退回原頁面再點(diǎn)一次按鈕手動(dòng)點(diǎn)“復(fù)制圖片地址”。我在按鈕上加了一個(gè)contextmenu監(jiān)聽右鍵按鈕直接復(fù)制地址到剪貼板算是給這種情況留了個(gè)后門。5.2 別讓樣式污染頁面.ivr-host那條規(guī)則用了!important這在我的代碼里是唯一一處。原因是搜索結(jié)果頁的樣式表非?!鞍缘馈贝罅渴褂酶邇?yōu)先級(jí)的定位規(guī)則不加!important經(jīng)常被覆蓋導(dǎo)致按鈕跑到頁面左上角去。但!important是把雙刃劍——它會(huì)讓這條規(guī)則在層疊里幾乎無法被覆蓋。所以我把它限制在最小的范圍只影響position這一個(gè)屬性而且只在帶ivr-host類的節(jié)點(diǎn)上生效。ivr-前綴的作用是避免和頁面原有類名撞車這個(gè)前綴策略是所有注入式擴(kuò)展都應(yīng)該遵守的基本規(guī)矩。還有一個(gè)更隱蔽的污染我最初給按鈕設(shè)的是all: unset想清掉瀏覽器默認(rèn)樣式。結(jié)果按鈕的字體、行高全丟了和頁面風(fēng)格完全不搭。后來改成顯式聲明font-family: inherit和line-height: 1.5讓它繼承頁面的排版風(fēng)格觀感自然得多。5.3 一個(gè)順手的鍵盤增強(qiáng)按鈕加好之后我給自己又補(bǔ)了一個(gè)功能按Shift 點(diǎn)擊直接復(fù)制大圖地址不打開新標(biāo)簽頁。btn.addEventListener(click, async (e) { e.preventDefault(); e.stopPropagation(); const url resolveTargetUrl(img); if (!url) return; if (e.shiftKey) { try { await navigator.clipboard.writeText(url); btn.textContent 已復(fù)制; setTimeout(() { btn.textContent 查看圖片; }, 1200); } catch (err) { btn.textContent 復(fù)制失敗; } return; } window.open(url, _blank, noopener,noreferrer); });navigator.clipboard.writeText在擴(kuò)展的 Content Script 里是能用的但有兩個(gè)前提頁面必須是安全上下文HTTPS且調(diào)用時(shí)要有用戶手勢。Shift 點(diǎn)擊恰好滿足這兩個(gè)條件所以很穩(wěn)。復(fù)制成功后把按鈕文字改成“已復(fù)制”1.2 秒后改回來這個(gè)反饋很輕但很有用——不然你點(diǎn)了之后不知道到底成沒成。6. 排坑實(shí)錄那些讓我熬夜的問題6.1 問題速查表這張表是我自己還有幾個(gè)同事遇到的問題匯總按“癥狀 → 可能原因 → 處理方式”組織遇到問題可以直接對著查癥狀最可能的原因處理方式按鈕完全不出現(xiàn)matches沒匹配上當(dāng)前地址在 Console 敲location.href比對模式按鈕出現(xiàn)但頁面滾動(dòng)后新圖沒有沒監(jiān)聽 DOM 變更或監(jiān)聽了但沒節(jié)流檢查MutationObserver是否掛上同一張圖疊了多個(gè)按鈕去重判斷寫成了querySelector找自身改用hasAttribute點(diǎn)按鈕后原頁面也跳走了只攔了click沒攔mousedown兩個(gè)都要stopPropagation打開的圖很小幾十 KB拿到的是縮略圖地址補(bǔ)SIZE_RULES規(guī)則頁面滾動(dòng)明顯掉幀掃描太頻繁或全量掃document調(diào)大節(jié)流間隔縮小掃描范圍刷新后擴(kuò)展沒生效改了manifest.json沒重載擴(kuò)展回管理頁點(diǎn)重新加載按鈕位置跑到頁面角落宿主容器沒有position: relative檢查.ivr-host是否生效6.2 三條讓我印象最深的心得第一條先確認(rèn)數(shù)據(jù)在不在再?zèng)Q定要不要寫代碼。我最開始花了大半天時(shí)間研究“怎么找替代入口”甚至想過寫個(gè)工具去模擬點(diǎn)擊中間頁再解析結(jié)果。后來在開發(fā)者工具里隨手document.querySelectorAll(img).length發(fā)現(xiàn)頁面上躺著好幾十個(gè)imgsrc全是真實(shí)的大圖地址。那一刻我意識(shí)到自己差點(diǎn)走了一條完全錯(cuò)誤的路線。遇到“功能消失”類問題第一件事永遠(yuǎn)是打開開發(fā)者工具看一眼原始數(shù)據(jù)還在不在這個(gè)動(dòng)作只要十秒鐘卻能省下大半天。第二條不要用class做選擇器的主力。第一版我寫的是.isv-r img和.Wf5APd img這類選擇器當(dāng)天能用。三天后我打開搜索頁按鈕全沒了——因?yàn)樗褞Ч5念惷匦律闪?。后來改成?
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
在线国产福利网址导航| 操淫穴亚洲五月丁香| 农村妇女一级二级三级视频| 久久人妻无码毛片A片麻豆| 香蕉99秘 一区精品蜜桃臀| 黄色性爱网网| 老司机福利社视频在线观看| 天天做日日爱夜夜爽| 999在线电影香蕉| 欧美+日产+中文| 免费A V在线| 日1区2区3区2020| 欧美精品二区视频在线| 久都青青视频| 亚洲 无码 偷拍| 欧美三级一级| 黑人白女精品一区| 久久亚洲色图中文字幕| 99日精品欧美国产| 2020中文字幕在线观看| 色婷婷A V一二三四区麻豆综合| 亚洲 欧美 精品专区 极品| 精品国产自在在线99| 乱伦日本中文自拍| 99国内熟女露脸视频| 8050午夜少妇无码| 亚洲自拍偷拍视频在线| 亚洲综合夜色| 大香蕉亚洲中文| 亚洲无码免费看| 午夜天堂精品久久久久91| 伊人网高清| 大香蕉国产中文自拍| 亚洲精品天堂久久A∨51成人漫| 很很很很操| 五月丁香综合| 亚洲 欧美 偷拍 唯美| 日本精品九九九| 99色热| 午夜亚洲国产理论秋霞| 99久在线精品99re8蜜桃| 性做久久久久久免费观看软件| 久久成人东京热人妻| 91精品久久综合熟女| 国产剧情在线| 91美女视频。| 久九9精品| 男人天堂站| se01国产在线视频| 91精品人| 91精品人妻| 97在线观| 97视频在线免费看| 色爱综合网| 久久人人爽爽人人爽人人片αV| 欧美色图小说综合| 制服中出中文人人精品| 闷骚老熟女15P| 五月丁香六月激情综合| 玖玖婷婷五月天| 成人片在线播放| 亚州 综合 色图| 91啪9色| www.久久| 五月天综合网| 夜夜嗨AV一区天天| 五月天婷婷综合网| 日韩免费人妻色情网站| 99天堂网| 国产成人亚洲精品自产在线 | www.国产高潮精品| 无码国产精品久久久久| 欧美十八禁网站| 欧美性爱无码一区二区三区| 久久精品视| AV中文字幕剧情1区2区3| 四虎视频在线观看| 伦理弟一页| 亚洲国产丝袜在线观看| 欧美性五月| 欧美日日人人天天| 97亚洲在线| 国产成人精品网站| 男人久久天堂| jizz啪啪| 黄页视频网站野外| 夜夜一区二区| 精品久久久久久久久久久久| 久久偷偷色综合蜜桃| 欧亚韩国999| 青青青青操国内视频在线| 97超碰久久| 亚洲成人性爱网站在线播放| 亚州黄站| 日B操| 99久久e免费热视| 亚洲日本韩国在线| 一起草视频在线| 在线视频97| 91九色蝌蚪在线观看| 日韩999| 欧洲中文字幕| 大香蕉草草| 欧美人与动性人交a| 欧美日韩 强奸乱伦| 欧美日综合| 精品久久久久瑟瑟| 久一区久久蜜桃| 亚洲一级特黄大片在线播放91| 国产小u女在线观看| 男人天堂站| 国产无遮挡| 久久九九热| 国产家庭乱伦表演| 一区二区激情国产熟女| 久久久神马影院| 久久伊人亚洲AV无码网站| 超碰在线99| 手机av亚洲丝袜美腿日韩第一页二页| 天天做天天爱| 欧美不卡在线美女| 日韩无码一区二区三区| 丁香五月性爱| 97欧美资源| 国产亚洲精品第一最新| 九九九九免费| 午夜男女爽爽爽影院视频| 久久性爱城| 日韩97精| 91|九色|国产熟女| 久久αⅴ| 看黑人AV不卡| 欧美熟妇成人一区二区| 中文字幕永久在线| 美女91AV| 国产超碰在线一区| 人人摸.人人色| 亚洲中文电影| 无遮挡男女激烈动态图| 天美传媒av 在线| 亚洲交性| 女人一区| 日韩精品亚洲专区在线影视| 久久噜噜噜精品国产亚洲综合| 五十路六十路素人熟女| 伊人国产视频| 中文字幕av乱伦| 四虎影视国产精品| 欧美色图天堂在线| 亚洲熟女乱色一区二区三区| 亚洲日韩欧美一区二区| 日本日皮视频逼| 欧美日韩一二三| 超碰人人在线| 成 人 A V免费视频在线观看| 伊人成人情色综合| 亚洲女毛多水多21P| 久艹99| 日本 欧美 亚中文字幕| 操逼天美3区| 婷婷亚洲综合| 91精品微拍福利| 久久亚洲日韩国产欧| 丁香五月色情| AV网站高清无码在线观看| 啊啊啊不要啊啊受不了了视频在线| 成人乱人伦一区二区| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 日韩人人精品| 欧美日韩理论一区| 99ri精品| 久久精品毛片免费不卡| 97国产超碰| 久操av在线| 啊啊啊啊视频免费| 天天躁日日躁AAAXX| 精品国产91内射久久| 超碰97.com| 麻豆国产成人精品| 亚洲综合影片| 国产亚洲人妻综合日韩 久久| 国产v片在线免费观看| 亚洲美腿丝袜香蕉影视欧美成人| 1二区9| 国产欧美日韩女同性恋ww喷水精品| 五十路三级片| 26uuu性| 12一15性XXXX粉嫩国产| 夜夜操美女| 性爱AV天堂| 天天看片天天爽| 99热自拍| 另类小说五月天| 亚洲无线码一区国产欧美国| 日韩国产欧美伦理在线| 蜜臀AV秘一区翔田千里| 国产丝袜欧美在线视频| 岛国黄片网站| 少妇啪啪自拍| 日本国产高清色www视频在线| 999精品国产高清一区二区| 亚洲乱码精品一区二区| 波多野结衣AV无码一区| 国产亚洲性生活视频播放| 人人看黄色视频| 三级激情网站| 国产第25页在线观看| 天堂中文资源在线bt| 亚洲制服aⅴ中文字幕| 少妇3P性爱自拍| 中国乱伦一区二区| 国产精品免费视频不卡| 日日夜夜干| 色av中文字| 91美女在线视频| 一区二区视频你懂的| 激情黄色五月天| 视频二区美腿制服人妻欧美| 欧美天天综合网| 久艾草在线精品视频在线观看| 午夜乱轮操逼视频免费看| 亚欧无码在线| 影音综合网| 神马久久久久久久久| 欧美日韩人人精品| 日本中文字幕一区| 亚洲无码日韩电影| 萌白酱自拍视频| 久久综合五月天| 成人婷婷丁香| 中字一区| 日日噜噜夜夜狠狠视频无| 强奸乱伦动态污图免费| 欧美亚性天堂| 人妻在线大香蕉| 国产成人精品一区| 色综合1991| 欧美一级A一级a爱片久久| 久久久精品网站| 探花熟女,姿勢到位,體驗感也到位| 日韩成人免费电影| 亚洲午夜福利在线影院| 国产亚洲综合欧美一区| 国产精品2020| 国产精品欧美在线观看| 国产区91柔拿会所技师| 啊啊啊好湿国产一二| 天天日天天干天天摸天天操| 久久精品欧美一区二区三区不卡| 丁香五月婷婷基地| 国产精品禁久久久精品| 日韩精品一区二区日韩| 国产天天骚| 亚洲男人天堂2017| 亚洲va综合va国产va中文| 操死我了啊啊啊| 26uuu国产日韩综合在线观看| 热天堂一区二区| 欧美资源| 综合网少妇| 欧美韩日精品99综合| 狼狼色丁香久久婷婷综合五月| 日韩乱码Av| 人妻久久一区二区三区 | 国产精品久久泡妞网站| 亚洲天堂久久| 色欧美综合| 狠狠狠狠狠狠| 天天看天天日天天操| 亚洲精品一区中文字幕乱码| 久久9久| 91婷婷伊人狠人| 欧美精品久久96人妻无码| 999狠狠综合| 国产在线能看的你懂的| 东京热精品97综合网| 操逼免费视频无码国产| 热热色AV| 久草精品热视| 国产白嫩漂亮KTV在线| 中文字幕一区二区三区蜜桃视频| 一级性爱aaaa| 一起草三级AV电影在线观看 | 免费αV在线视频| 欧美天天综合站| 午夜精品视频777| 久久久四区| 东京热亚洲一区二区| 国产高清自拍视频| 亚洲精品97中文字幕| 久久ww| 熟女激情综合网| 九九九九九九免费视频| 亚洲国产剧情少妇激情| 色情婷婷久久五月天| 日本淫穴在线| 黄色一级视| 夫妻天天操岛国视频| 91粉芽高清在线一区二区| 肏逼视频日本| 九七毛片九九毛片| 91麻豆va国产精品| 无码外流操逼视频| 91天堂丝袜美腿| 精品国产自在在线99| 天天看,天天做| 日韩在线地址一| 玖日综合网| 亚州久久9| 久久久98网站免费视频| 狠狠操官网| 国产久久久久久| 日本国产二线女色| 97一本大道亚洲一区| 又黄又爽在线观看视频| 欧美亚洲中文字幕| 亚洲AV无码AV吞精久久久久| 老外又粗又长一晚做五次| 啊啊啊啊好疼| 中文字幕乱亚洲美女精品一区| 国产女人9999| 久久久久元码视频| 久久久久斤小| 日本最新1区2区3区| 秋霞怕怕片| 久久久无码精品人妻二区| 是还免费视频1727我| 另类图片亚洲加勒比另类图片亚洲加勒比另类图片亚洲加勒比 | 久久成年片色大黄全免费网站| 亚洲综合射| 午夜寂寞欧美| 免费观看啪视频| 久久久久久久9| 久久久日本电影| 极品色综合| 日日夜夜精品视频| 99久久亚洲精品无码毛片潘甜甜| 亚洲欧美综合| 天天懆天天日| 久久AV无码网址| 超碰精品在线| 偷拍欧美激情| 久久久久久久久久久久九| 九九九九九九视频| 超碰99在线| 国产一区二区在线播放| 免费国产电影一区二区| 日韩在线观看字幕精品| 婷婷久久大香蕉| 九九热免费国产视频婷婷伊人| 婷婷五月在线视频| 黑丝少妇| 亚洲一二三精品久久网| 日本999精品视频| 亚洲综合成人网| 青青草操逼逼视频| 欧美夜色| 国产精品香蕉| 夜夜狼人妻| 欧美日韩婷婷中文| 国产精品视频在线观看| 眼镜人妻101.com| 久草五月| 激情五月天校园春色网| 97香蕉网| 九九性视频| 久久国色天香香蕉| 丝袜加勒比| 色欲Av人妻精品一区二| 国产精品九9| www久久99| 美欧老女人97| 上特色A在线| 亚洲图片欧洲图片aⅴ| 东京日日夜夜| 色97干| AV免费在线播放一区| 欧美精品丝袜久久久中文字幕| 久久精品操| 思思热久久成人| 二区熟妇韩日| 欧美乱伦专区| 操九九九九九九| 综合性视频99| 亚洲阿v天堂无码z2018| 精品福利视频| 91色宗合| 国产在线精品偷| 日本ZZ高免费A级视频| 婷婷五月天激情四射| 婷婷五月天影院| 91色s| 99精品久久久久久久婷婷| 极品后入免费视频| 亚洲,日韩,欧美,成人播放| 婷婷国产精品九区| 1000部熟女视频在线观看| 97色五月天完| 久久久久久久九九九九九九| 日han少妇无码| 日韩国产欧美伦理在线| AV色五月天| www…国产操逼| 一本大道青青| 人妻在线中出视频| 免费人成在线观看网站品爱网| 精品人妻一区二区乱码一区二区| 亚洲激情综合另类男同| 97爱碰| 激情五月婷婷| 性色中出| 78p欧美| 九九九久久久| 亚洲AV乱码专区国产噜噜亚洲| 奶水 人妻 哺乳 在线| 久久天天摸| 久久免费99精品久久久久久| 欧美在线中M| 黄网在线播放| 先锋影音av先锋一区| 91女优在线观看 | 欧美性,色九九| 操逼逼无码| 张柏芝国产一区在线观看| 秋霞一区二区三区四区五区六区七区| 在线人人人人人人精品超 | 色阁阁AV综合网| 五月天激情小说网| 超碰在线观看av不卡| 日韩97超碰| 亚欧美综合网。| 亚州色图第三区| 韩日无码在线观看| 精品免费囯产一区二区三区| 日本天天人人狠狠在线日美女 | 91九色丰满高潮| 国产av白丝| 国产精品蜜乳AV| 91精品人妻偷情| 97视频一区| 亚洲天堂另类小说男人| 亚洲欧美日韩精品久久久一区二区| 91人妻在线视频| 伊人网在线视频| 天天色香欲综合网| 看一级黄色视频| 风流老熟女一区二区三区l| 澳门黄片一香蕉视频| 五月天亚洲色图| 91中出在线| 久久久精| 欧美性爱一级操| 久久久久久亚洲Av无码| 亚洲欧美色图小说| 青草精品视频-日本久久久久网站| 和协影院中文字幕三区| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 91色色综合| 任你艹| 日本色色色视频| 国产 亚洲 丝袜 制服| av最新免费中文字幕| 日韩欧美操逼xxx| 日日插夜夜| 淫荡少妇免费| 欧美日韩操逼嗦吊| 丁香五月婷婷基地| 久久性爱大全| 国产成人精品日本亚洲语言| 亚洲天堂久久| 精品无码一区二区| 91久久18禁| 欧美91色| 91无遮挡| 日韩A优精品在线观看| 久久精品国产亚洲AV高级北京| 国产综合操逼高清| 伊人综合色网| 男人的亚洲天堂| 无码人妻丰满熟妇区毛片| 欧美色图人妻| 日韩射图| 一区二区三区美女超清| 精品性爱一区二区| 亚洲免费精品一区| 99久久久久久亚洲精品不卡| 久久免费99精品久久久久久| 偷窥自拍A片| 日韩中字av一区| 精品一区二区2| 天堂无码| 黄色片大香蕉| 日韩 成人 有码| 日韩电影在线观看网址| 视频二区美腿制服人妻欧美| 东京热一区二区中文字幕| 777AV电影| 人妻少妇精品一区二区三区| 91国产在线精品| 午夜舔阴达高潮视频免费看| 一区二区三区激情在线观看| 97精品视频免费| 丰满少妇一区二区三区免费看| 岛国毛片手机在线观看| 99操| 超清福利精品视频在线| 97人妻色| 天天肏视频| 999岛国大片| 久久影视二区三区行押| 免费超碰97在线观看| 超碰性爱97| 一二三区操逼国产91| 激情五月天综合网| 九九九九热只有精品| 国产精品成人福利在线| 九九九精品一区二区无码| 久夜视频| 伊欧美综合视频| AV色图| 亚洲第2页| 人妻激情在线视频| 大伊香蕉在线视频免费| 大屁股熟女一区二区三区| 日韩成人精品| 神马久久69| 18禁美女裸体无遮挡啪啪| 91天天爱| 免费av在线播放二区| 艾草av| 天天爽夜夜爽夜夜爽精| 精品999日本| 乱欲一区二区| 亚洲熟妇A V黑人| 欧美特黄视频网站| 自拍偷拍 高清无码| 人妻少妇无码| 三级AV入口| 九一国产精品| 久热伊人99re| 色一情一乱一乱一区91Av| 中日韩免费看男女操逼大全| 欧美熟爽综合| 日韩中文字幕视频| 欧美精品欧美精品系列| 99在线免费观看| 天天综合网亚洲综合网| 久久久久久午夜男人的天堂| 精品国模无码| 久久同城AV| 天天干天天爽| 欧美性爱免费短视频| 色香综合天天影视综合 | 色情乱伦AV| 日本久久超碰| 色香阁在线| 久久精品店| 91模特在线观看| 第四色色综合91| 国产精品久久伊人| 0755午夜福利视频| 97精品久久久久中文字幕| 99热官网| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 女同在线视频一区| 亚洲毛片一级带毛片基地| 超碰久超碰久| 欧洲精品久久| 国产精品久久发布| 婷婷五月丁香五月| av国产无码| 日韩乱伦影音先锋| 12一15性XXXX粉嫩国产| 日韩色图 一区二区| 大香蕉欧美伊| 日韩二三区| 夜夜嗨一区二区| 久久婷婷六月综合| 久久受www免费人成| 麻豆国产97在线| 欧美色院| 屁股久久久久久久久久| 热热色中文无码| 97ai亚洲| 精品夜夜澡人妻无码AV| 中文字幕精品一区二区精| 九一性生活免费视频| 国产熟妇一区二区| 蜜臀AV成人精品蜜臀| 97 国产一区| 天天色怡春院| 在线播放一级无码视频| 欧洲精品一级二级精品综合视频综合 | 亚洲成人精品久久久| 久久久久一本一区二区青青蜜月| 亚洲中文字幕乱码无码一区二区| 久久综合中文国产| 欧美伦乱爱| 亚洲欧美日韩国产丝袜自拍中文| 91美女国产在线| asc国产精品| 天天欧美| 亚洲精品性爱片| 成人五月天丁香激情综合| 日韩精品色呦呦| 操逼逼福利视频| 综合婷婷| 97爱b| 91日韩网站| 国产呦精品系列在线观看| 久久精品国产AV一区二区三区| 亚洲日本激情| 婷婷操逼| 人妻 欧美 中文| 国产精品另类| 草莓精品视频在线免费观看| 99久久网站| 97色色色综合网站| 高清无码学生妹高潮| 男女性无套 免费九一| 黑人嘿嘿嘿超爽免费视频| 日本特黄f c2| 人妻美腿丝袜日韩| 樱花蜜乳av| 日本欧美国内在线| 亚洲男人天堂2013| 爱妃国产亚洲视频中文字幕| 欧美视频中文字幕区| 丝袜喷水在线| 91综合熟女| 婷婷丁香五月激情啪啪| 伊人伊人LD| 福利视频香蕉免费一区二区在线| 欧美v亚洲v日韩v最新在线二区| 英伦大奶子熟妇吊带| 麻豆尤物视频网| 一起草视频在线| 久久婷婷综合国际产色怕| 蜜臀久久在线视频| 精品性爱| 手机av天堂久久久久| 另类小说欧美激情校园春色| 亚洲综合小视频小说在线观看| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 五月丁香社区婷婷日韩欧美精品影院 | 亚洲97综| 精品视频日日夜夜| 97欧美精品| 猛交交| 一区二区三区国产在线播放 | 国语精品av| 99ri在线视频| 青草伊人网| 一区二区三区视频| 四方色播| 高清不卡视频| 国产视频一区二区三区在线免费观看| 内射日韩大臀美女| 91国产操逼视频| 国产盗摄美女如厕大神作品在线观看| 澳门黄片一香蕉视频| 夜夜骑天天燥| 激情干在线| 欧美日韩中文字幕人妻| 97资源制服丝袜| 97资源视频| 国产av色网| 91爽啪| 青草草免费网站av| 精品人妻一区二区三区蜜桃视频| 大香蕉伊人色偷偷在线| 欧美精品三级黄片| 天天情欲宗合网| 无码9区| 精品人妻一区二区视频| 久久久久久99999国产精品| 色欧美天天| 久久五月天婷婷丁香中文字幕| 人人操超碰在线| 欧亚乱色熟一区二区三四区| 日韩亚洲中文字幕在线| 四虎国产精品永久在线囯在线| 极品色www影院| 日韩强奸av| 超碰导航97| 97频视在线| 欧洲中文字幕| 免费黄色片子| 亚洲精品啪视频| 人妻夜夜爽天天爽三区麻豆AV网站| 香蕉免费一区二区三区不读| 亚州情色j区| 丰满人妻大屁一区二区| 欧美日韩电影成人在线| 97色综合中文网| www久久精品| 嗯嗯嗯不要不要免费视频| 国产欧美亚洲精品a第2页| 翔田千里AⅤHD无码| 在线观看av区| 日本韩国国产精品一区| 超碰地址久久| 一二三区视频在线观看| 91精品少妇搡搡搡| 四虎视频在线观看| 欧美另类自拍 | 成人综合色网| 国产免费永久精品无码| 特级毛片特黄久久免费看| 乱伦一区二区三区‘| 9色国产精品一区粉嫩| 囯产精品久久久久久久久久二区三区| 熟女高潮精品一区二区| 人妻丰满熟妇av无码区蜜桃| 久久AV色| 男女香蕉一区二区| 男人的天堂VA在线| 欧美男人亚洲天堂| 校园春色宗合网| 欧美色图小说综合| 91国产丝袜白虎| 亚洲不雅视频1区二区| 91高潮| 密乳视频在线| 性爱Av免费| 强奸乱伦Av网| 无码 有码 国产18p| 嫖老熟女A片一二三区| 伊人久久大香大香线蕉中文| 久青草影院| 91精品成人| 玖玖草久草99蜜月一区二区三区| 国产熟码AV| 久久久久久精| 凹凸久久人人| 超碰97欧美在线 | 日韩天堂av电影在线观看| 人妻社区男人天堂| 岛国成人av在线播放网址| 国产成人拍国产亚洲精品| 2023天天操夜夜操| 国产精品视频一区二区三区八戒| 亚欧高清在线| 夜夜高潮夜夜爽| 亚洲色图 91| 国产辣妈在线视频福利| 91狼人| 亚洲。日韩。欧美| 学生妹天天看| 日韩三级伊人| 亚洲成人久久美女| 久久九七| av激情亚洲五月天| 手机在线观看不卡无码av| 欧美色图片91| 久久女人| 色色色99| 欧美亚州色的图| 伊人国产AV| 91人妻尻屄视频| 99综合自拍| 9久久久久| 中文字幕在线高清男人的天堂| 青青操在线亚洲视频观看欧美在线| 亚洲熟女偷拍在线观看| 97国产|免费| 日操粉逼逼| 亚爽爽爽爽爽爽爽爽| 一级性爱网| 狠狠狠狠狠| 四虎在线视频| 六月丁香久久| 大香蕉伊人75| 岛国成人av在线播放网址| 久久高清欧美国产| 老熟女网站| 日韩不卡毛片Av免费高清| 97干在线看| 国产自制av蜜乳| 久悠悠av| 98人妻精品一区二区色欲| 日本中文字幕高跟| 极品综合| 丝袜高跟澳门91视频| 国产麻豆福利av在线播放| 亚洲日本天堂| 国产粉嫩出水在线播放| 91高清欧美| 国产超碰| 久热最新在线杭州| 亚洲天堂性爱| 日本黄色大片一级视频免费麻豆| 小少妇| 少妇一区二区三区精选| 中文字幕人乱码中文字的预防方法| 99在线无码精品秘 入口黑人| 五月天亚洲网| 操逼逼中文字幕| 中文字幕乱偷人妻久久艾草网| 久久久久国产精品片区无码直播| AV色女综合| 久草久日| 久久亚洲中文字幕视频| 欧美激情一区二区| 欧美视频一| 91蜜臀人妻中文字幕在线| 67194无码不卡| 凹凸视频特色日本特黄| 久久精品国产亚洲妲己影视| 亚洲日韩乱码中文无码蜜桃臀网站| 精品亚洲国产成人AV制服丝袜| 精品传媒在线一区| 最新精品久久蜜桃 | 日韩电影免费网站麻豆视频| 日韩精品 资源| 操逼视频亚洲| 边做饭边操逼逼| 激情综合 婷婷五月 红杏| 少妇极品熟妇人妻无码| 国产毛片精品一区二区色欲黄A片| 国产精品久久妻无码网站| 蜜屁av| 97公开久久| 色婷婷视频| 亚洲?V无码专区在线电影| 欧美性爱超碰97| 91日日夜夜| 男人天堂综合| 99re69综合| 混色激情av| 久久久久久亚洲精品不卡人乳| AV污污污污| 色伊人91| 国产激情片在线观看| 日韩精品1区2区中文字幕| 国产极品精品美女视频| 国产无码精品无码| 日本性交操一区二区不卡系列| 一区二区三区在线日韩影院观看| 亚洲综合草草| 台湾佬大香蕉| 毛片99-全集电影手机免费观看完整-B029AV| 青木玲在线不卡| 91 亚洲情侣偷拍 久久| 一二视频神马久久传媒| 精品一二三区女同| 夜色97| 蜜臀久久久99久久久久| 九九热国产| 在线日韩精品一区二区三区| 日韩人妻丝袜中文字幕| 超碰色大香蕉| 日韩欧美亚欧在线视频| 国产美女口爆吞精视频| 囯产操逼片| 国产久久久久久久久一区二区| 亚洲午夜免费狠狠干| 加勒比海人人操超碰在线| 91操熟女视频| AV天堂国产| 色爱三区| 国产久久一区二区三区野外在线| 极品久久久久久久久久久久久久| 国产精品久久久午夜夜伦鲁鲁| 欧美色道啊| 国产成人在线观看网址| 色婷婷视频| 久久久人体| 91激情综合| 欧州91高潮| 东北女人高潮视频| 亚州高清色综合| 91路www| 中文乱码字字幕在线第5页| 日韩精品在线观看观看| 成人五月香网在线| 丝袜亚洲91| 男人的天堂网页| 人人扣人人操| 欧美性爱网97| 大香蕉一区二区在线观看.| 大香蕉五月天婷婷| 日本最新免费韩国1区2区视频播放| 啊啊啊免费视频| 在线观看综合精品亚洲| 亚洲凸凹超碰成人| 26uuu欧美日韩| 综合国产97| 神马久久久久久久| 欧美第一页性| 清纯唯美综合| 99色视频| 大香蕉伊人在线成人AV在线观看| 亚洲色图欧美色图在线播放| 日韩成人精品视频自拍| 九九九久久久久| 吖在线不卡一区二区国产剧情| 麻豆久久久久久久久丝袜| 无人区高清电影免费观看一区二区三 www.qmcai2.com | 天天添天天干电影| 精品久| 亚洲综合春色| 熟女乱3伦999| 国产精品高潮久久AV| 国产无码精品成人| 男人的天堂VA在线| 少妇一区二区三区高速| 久久宗合亚洲| 91人妻Pr| 97日韩| 久久只有精品一区二区三区| 为用户提供免费看黄网址在线观看| 欧美精品双插| 久久高清欧美国产| 国产久9| 操人妻丝袜高跟| 搞中出久久| 精品人妻一二三四区视频| 亚洲国产日韩欧美熟妇在线| 男人的天堂三级| 麻豆乱码久久精| 欧美日韩操逼动图| 国产精品一区在线播放| 国产无遮挡| 日本一区二区不卡精品| 人人操人人操人妻人| 99热精品在线| 日韩一卡二卡三卡| 免费网站观看www在线观| 一区二区娱乐网站| 啊啊啊啊好多水| 国产女人9999| 日本三级人妻a人妻一在线| 国产熟女完整版中字| 欧美97色| 色九月综合| 婷婷午夜| 国产极品一区二区三区三州| 人人妻人人澡人人爽人人精品浪潮| 久久精9| 91麻豆天美国产欧美日| 午夜操逼不卡| 啪啪综合网| 九九操久久国产免费视频| 亚洲精品天天影视综合网| 男人天堂网手机版婷婷| 都市激情人妻一区二区青青操视频| 日日摸天天爽夜夜欢| 校园春色家庭伦理欧美激情| 日韩亚洲美女一区久久| 黄片不用下载在线观看| 日本一道在线播放高清| 亚洲 欧美 日本 国内 首页| 熟妇高潮精品一区二区三区下载| 69AV女优男人的天堂| 91精品黄在线观看| 免費黃色視頻觀看一| 亚洲精品国产专区在线观看| 日韩簧片免费看| 亚洲人成网站7777| 亚洲婷婷综合网| 无码精品久久久久久亚洲| 曰韩中文人妻视频| 蜜臀久久99精品久久久久久-DVD| 欧洲色综合| 久热伊人| 国产精品不卡少妇白| 久久 精品| 91美女视频| 69av一区二区三区| 国产成人自拍视频视频| 亚洲色天| Sekablack无码一区| 熟女乱伦A| 日本操大逼| 九月婷婷综合| 91久青| 精品人妻视频一区二区三区蜜桃视频| 97这里都是精品| 乱操9999| 999国产精品999久久久久久| 97欧美在线| 精品国产一区二区三区在线播出| 国产女人和拘做爰视频| 亚洲免费人妻在| 欧美日韩国产中文精品字幕自在自线,| 久久亚洲不卡| 日日干男人的天堂| 婷婷午夜清品久久久久久久性色视频观| 97视频播放| 国产AV精久久| 日韩一级二级| 亚洲视频二区 | 97国产超湿| 日本三级R| 超碰这里只有精品| 一级久久久久久久久久久| 欧日韩在线观看| 亚洲国产一区二区三区在线| 青娱乐久久艹| 91 亚洲情侣偷拍 久久| 婷婷天堂站| 欧美性暴力| 97国产精品在线观看| 97超碰免费人人性爱| 国内三级自拍小视频在线观看 | 国产精品日韩在线一区| 中文字幕三四五区| 欧美日韩精品青青| 东京成人一区| 精品91摸| 首页亚洲国产高跟丝袜诱惑视频| 91精品人妻电影| 亚川综合视频| 欧美人黑A片无码免视费| 亚洲少妇视频| 99精品无码| 欧美最大综合网| 伊人久久亚洲中文字幕不卡| 东北女人av| 亚洲 日韩 欧美 国产综合体| 国产一区二区视频在线播放| 搡老女人老妇女AAA一VU麻豆| 亚洲高清无毛一区二区| 亚洲精品人体| 一区二区三区看视频| 18精品一二区| 欧美久久人体| 5252色欧美在线男人的天堂| 99热精品青草在线| 国产免费大片| 日韩美女久久一区二区三区| 国产少妇与亚洲av| 裸体美女国产免费久久久网站| 97人人模人人爽人人| 少妇干B| 国产精品一二三在线看| 久久一区二区高清免费| 日本 色 导航| 国产91乱伦| 探花一区二区三| 中文字幕一区二区日韩网| 操逼视频色| 噜噜噜在线视频| 欧美一级久久久久久久大片动画| 老熟女搡BBBB搡BBBB视频| 国产9 9在线 | 亚洲| 99久国产精品午夜性色福利| 国产亚洲性生活视频播放| A级毛片在线看免费| 欧美日韩色综合网| 51久久夜色精品国产麻豆| 国产精品ⅴ无码大片在线看.| 国产中文字幕在线点播| 日本免费中文字幕在线| 秋霞久久亚洲精品成人| 欧美精品成人在线播放| 中日韩欧美精品无码AⅤ一区二区| 色色色欧美| 九九综合久久| 五月激情影院| 91GD.COM| 97资源制服丝袜| 熟妇人妻一区二区三区| 久久欧洲| 东京热熟女亚洲视频网站| 中出在线视频| 97ai亚洲| 亚洲色图欧美色图另类图片| 日本在线观看网址| 老熟妇一区二区三区…| 久久久免费一级黄片| 波多野结衣先锋影音| www黄片免费看com| 日本99久久| 精品人妻二区三区| 天天操人人操骚逼网站| 高潮9999外国| 啊啊啊草死我| 在线看的av| 日韩精品一区二区三区色欲| 2010男人的天堂| 人妻精品一区二区全免费| 国产人妻精品一区二区三区秋霞 | 亚洲91射| 国产精品美女| 精品高清一区二区三区三州| 国产欧美日韩在线不卡第一页| 九九久久99| 欧美影院一区二区三区| 翔田千里无码中出中文字幕| 无码 有码 国产18p| 怡红院视频在线| 中文高清一区二区的| 蜜臀AV成人精品蜜臀AV久久| 五月天欧美色图| 97日韩欧美| 91成人久久| 国产伊人自拍| 九九九影院| 亚洲高清欧美总合| 人妻一二三区| 大香樵伊人网| 色www精品视频在线观看| 色天使AV天堂| 91男人天堂网| 97视频免费在线观看| 福利伊人玖玖国产| 嗯嗯嗯啊啊啊在线免费观看| 91欧美性| 日韩兔费看黄片| 精品偷拍13p欧美dodk视频| 亚洲男人bt天堂| 制服诱惑亚洲一区二区三区在线观看| 91亚洲综合在线| 丰满岳乱妇一区二区三区| 婷婷五月在线视频| 国产成人主播| 好属操| 岛国黄色大片网站| 内射黑人| 草草草视频| 无码聚合| 青青草原人妻| 色婷婷一区二区三区久久午夜成人不| 国产无码精品久久久久久| 9999免费精彩视频| 1204av韩国| 无码人妻精品酒店| 青娱乐日韩无码| 一牛一区二区三区久久| 欧美AB在线| 国模精品一区二区三区苹果色戒 | 97在线公开视频| 秋霞久久亚洲精品成人| 九月丁香婷婷| 国产精品农村妇女| 国产高清精品福利| 亚洲日韩青青草色月| 91 国产丝袜在线播放-百度| 欧美操人视频| www.91色综合| 九九九九九九综合| 秋霞曰韩R级| 96久久久精品| 九九视频黄色片| 又大又黄国产| 蜜桃天美传媒AV一区二区三区| 人人操人人插 - 百度 - 百度| 久久九九综合| 日韩不卡一二三四| 国内毛片热久久思思热| 日本一本一区二区三区四区五区欧美日韩中文字幕 | 好爽免费视频| 九九热最新| 久9爱精品| 91成人在线免费视频| 日韩资源网| 日韩无码黄色片| 超碰久久草|