色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合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
返回資訊列表
亚洲系列第一页| 婷婷深爱五月| 91欧美成人色站| 理论久久婷婷网 8| 翘臀vidoes| 东京热激情视频一二三区| 啊啊啊好爽快点啊啊啊嗯嗯| 粉嫩国产精品久久粉嫩| 国产一级久久久| 91撸色网 玖玖网 欧美| 亚洲性猛交| 大干人妻| 高清无码久操视频| 国产操伦| 久热伊人| 激情终合网| 欧美第五页| 九九久久久| 欧亚成人| 一区二区偷拍拍视频| 狼人综合婷婷激情四射 | 狠狠色噜噜狠狠狠狠2018| 可以免费看黄片的视频| 国产女性无套 免费观看| 日本久操视频| 青青草原狼av| 亚洲欧洲精品视频发布| 国产亚洲99久久精品| 亚洲国产日韩欧美熟妇在线| 中文字幕片| 成人免费不卡在线视频| 国产1024在线播放| 亚洲人久久久久日| 日本高清视频在线观看黄已三辽| 中国一级特黄大片护士 | 亚洲情色在线| 60秒免费小视频| 亚洲超碰97| 亚洲做性| 啊啊啊啊网站| 91N欧美| 午夜国产成人精品视频| 欧美男人一区| 天天看高清麻豆| 超碰偷拍| 91情色在线| 国产日韩欧美三级片 | 中文字幕二区| AVE乱伦| 嗯啊不要啊在线 | 综合国产影视三级| 人妻第一页| 国产精品农村妇女| 成人a级高清视频在线观看| 99re公开精品免费视频| 免费观看啪视频| 99热精品免费| 久久日本熟女精品一区| 涩亚洲欧洲| 深爱伊人影院| A级片日韩欧美国产欧美视频精选观看| 91肉片| 免费国产电影一区二区| 亚洲va综合va国产va中文| 欧美伊人久久综合网| 2020中文在线一区二区三区| 亚洲Av无码成人精品国产| 亚洲 综合 欧美| 和协影院中文字幕三区| 搡老女人老91妇女老熟女| 国产精品久久久久久久AV大片| 婷婷九月色| 日韩美女高潮喷水视频| 亚洲第一视频 欧美风情 日韩| 久久久性| 婷婷三区| 9Ⅰ老熟女| 婷婷亚洲五月***久久| 99久热精品99re6热| 9久在线视频只有精品| 日韩AV电影网站| 亚洲天天天| 91足交| 91精品人妻一区二区三区蜜桃臀 | 亚洲伊人青青草| 久久九九视频九九视频| 亚洲色图片区| 人妻在线中出视频| 国产在线综合网| 密臀在线免费观看| 91狠狠综合久久久| 蜜臀久久99精品久久久久久| 国产四虎在线| 一线黄色免费性爱片| 欧美激情久| 欧美人妻精品一区二区| 九九九九九九综合| 亚洲天堂人妻一区二区| 顶级丝袜熟女一区二区三区| 麻豆色99999| 五月丁香综合| 懂色中文一区二区三区| 精品美女少妇一区二区| 影视综合无码少妇| 日韩一二三区| 久久大香蕉97| 欧美在线第五页| 青青青操| 男人的天堂 在线一区| 亚洲第一精品在线视频| 人伦四五区| 麻豆亚洲Av成人无码一区精品| 秋霞成人一级在线观看| 日韩色香| 老司机福利社视频在线观看| 97AV在线免费观看| 青青草久久一区网| 婷婷五月天在线观看| a片偷拍视频| 日韩欧美女求操每天更新| 性爱欧美五月| 嗯嗯啊啊日韩精品| 亚洲综合贴图91| 99久久久无码| 大香蕉免| 欧美在线啊啊啊| 欧中日成人免费影视| 天综合中文| 柠檬AV导航| 免费看欧美美女黄色大片| av在线不卡一区二区三区| 2024黄色视频| 一级做a爰片久久毛片图片| 人妻一区二区三区视频| 女人被男人桶爽视频网站| 欧美精品成人一区二区在线观看| 张柏芝国产一区在线观看| 老熟妇一区二区三区啪啪| 男人天堂久久日韩| 东京男人天堂| 国产无码精品成人| 亚洲九九九| 国内毛片欧美香蕉精品| 爽爽爽免费视频| 婷婷伊人一区| 亚洲高潮影院| 91丨国产丨白浆秘 洗澡动漫| 1769国内精品视频| 26uuu国产日韩综合在线观看| 亚洲国产ⅴ高清在线观看| 日韩乱伦影音先锋| 人妻熟女字幕一区二区| 亚洲精品蜜桃久久久久久久| 男人的天堂三级| 四虎国产精品永久入口| 强免费黄色网址| 夜夜嗨一区二区| 91亚州欧美| 一本色道久久综合亚洲二区三区| 超碰78| 日本性爱不卡视频| 国产盗摄美女如厕大神作品在线观看| 青青草这里只有精品| 免费?级毛片无码?∨蜜芽试看| www久久99| 97超碰久| 精品中文字幕一区二区| 清清一区二区三区四区不卡视频| 亚洲区小说| 99av| 久久久999网站| 亚洲天天天| 人妻一二三区| 亚码人妻| 成人性爱高清视频免费看| 欧美性爱网97| 中日韩一区二区三区欧美| 99激情视频| 手机在线大香蕉| 日本狠狠干| 在线二区不卡| 中文字幕成人| 欧美草草高清日韩视频| 韩日性爱av| 人妻一区二区三区| 久久久久久久免费A片国产成a人亚洲精∨品无码 | 日本天天干天天操一区| 久久精品国产免费观看99| 青青草原av| 日本高清电影欧美色图| www.黄色在线| 少妇贴图| 99蜜桃臀久久久欧美精品网站| 日韩不卡毛片Av免费高清| 无码精品久久久久久亚洲| 91强在线播放| 日韩亚洲美女一区久久| xxx0国产在线播放| 天美传媒婬乱在| 激情AV| 另类一区| 天天天干977| 男人的天堂在线| 99热亚洲| 色婷五月| 又大又长又粗又爽又黄| 91激情| 欧美色图99| 国产精品久久久九九九| 丝袜翘臀后入欧美校园亚洲自拍另类小说一区中文字幕少妇诱惑 | 日韩性爱视频在线免费观看 | 日本三级中国三级99人妇网站| 9精品在线| 欧美激情另类一区二区| 国产精品欧美日韩久久| se,,,亚洲欧美| 操逼视频国产无套| 日韩精彩免费| 亚洲精品久久久久毛片A片拉屎 | 欧美性爱一级操| 亚洲久草AV色图| 亚洲人妻中文高清| 天堂蜜桃无码视频一区二区| 亚洲啪啪综合?v一区综合精品区| 亚洲欧洲色情高清| 久久性爱大全| 亚洲av性爱电影| 熟女天天干| 日韩操逼性鲍| 性交一区二区在线播放| 欧美制服另类丝袜| 亚欧免费观看视频| 91久久久老司机| 色 婷97| 五月天激情小说网| 日韩乱伦视频| 性色av蜜臀av色欲aV| 97 色综合| 日韩三级在线观看mp4| 一区二区三区精品久久| 欧美一区二区男人天堂| 日本久久久精品电影| 人妻少妇久久久| 天天综合-91入口| 97国产天堂岛| 四虎永久在线精品免费网址| 久热伊人| 色婷婷成人综合| 久久中文色图| www.yeyecao| 校园春色 亚洲| 伊人97超碰| 亚洲激情av| 26uuu性物| 欧美综合国产精品久久丁香| 日本大香蕉综合网| 日韩欧视频| 国产91 丝袜在线播放00-百度| 肥臀熟女一区二区三区视频| 亚洲综合九九| 中文人妻av高清一区| 精品成人亚洲午夜电影| 国产不卡免费在线视频| 一级岛国大片| 欧日韩不卡视.频| 在线观看一卡二卡| 亚洲色图加勒比| 人妻在线大香蕉| 97频视在线| 日欧美色| 91天天爱| 中文字幕精品亚洲熟女| 久久婷婷一区二| 狠狠 91| 久久久久久无码人妻中文字幕| 欧美偷拍区| 超碰中文字幕人妻草一区| 国内亚洲高清无码| 乱码熟妇人妻久久久| JIZZJIZZ亚洲女人被躁| 歐美性天天| 偷拍自拍在线视频观看| 热G综合热G中文| 成功精品影院| 无码精品久久| 国产免费一区| 97人人草| 国产农村妇女精品| 人人透人人操| 亚洲熟妇一,二,三期| 伊人网在线观看| 日韩乱插| 亚洲欧美综合| 中亚黄色三级大片| 高清在线偷拍自拍视频| 囯产精品久久久久久久久久梁医生 | 大香蕉一线视频| 亚洲精品97| 99精品人人爽| 欧美永久激情一区二区| 亚洲最新a在线观看| 久九九九| 亚洲AV无码翔田千里网站| 午夜天堂精品久久| 超碰人妻97| 青青草日逼视频| 无码日韩网站| 尤物黄色在线观看网站| 亚洲一区制服诱惑| 97天天做| 99re这里只有精品中心播放| 亚洲无码AV九九九| 日韩成人精品| 亚洲一区二区三区春色| 97在线免费视频观看| 天美传媒AV国产在线| 久久国产精品,久久国产| www久| 天天日天天干天天整| 精品三级在线专区| 国产在线能看的你懂的| 午夜在线播放| 久久9久| 亚洲熟女av中文字幕| 日韩精品资源| 欧美少妇高潮视频| 后入人妻无码| 人妻天天爽夜夜爽2| 午夜精品久久久99热蜜桃的功能特点| 操操操操操操| 男人的天堂2000| 久久动漫精品视频这里只有精品| 一区二区三区蜜桃成人撸久久东京热| 亚洲精品99| 欧美午夜精品久久久久久3D| 久久久精品日本一道| 色婷婷aV一区二区三区麻豆综合| 久久久久久人妻一区精品色欧美| 国产一级舔足在线观看| 国内精品a| 亚洲风情在线观看| 亚洲欧美在线观看免费| 五十路熟女工口 | 日本孕妇一区二区视频操逼免费看 | 九九av| 欧美se综合| 国产女人高潮视频| 日韩青久久| 亚洲中文字幕久久无码精品| 日本精品第一视频在'| 成人贴图日韩欧美| 久久在线观看免费视频| 亚洲影院无码在线| 99日韩| 人妻9117c| 蜜臀99999| 91香蕉国产尤物视频| 日韩欧美偷拍美女视频| 欧美一区二区三区互相| 久久久中文| 亚洲色色探花| 性色综合网| 成人日本精品九区| 99re视频在线观看这里只有精品| 你操综合| 91网站视频在线观看| 啊啊啊啊啊啊啊好爽不要| 歐美性天天| 熟妇亚洲一区二区三区| 很黄很污的免费网站| 亚洲精品一卡二卡三卡福利视频网站| 色偷偷综合91久久噜噜| 欧美不在线| 亚洲国产一区二区入口| 精品人人插人人操| 宗合情欲网| 国内成人圈中文字幕无码视频| 久久久啊啊啊| 人人爱人人操人人性| AV 少妇 人妻 偷拍| 啊啊啊啊视频免费| 亚洲色人阁| av无码av无码专区| 极品内射| 天天草天天日| 91狠狠综合久久久久久| 土豪酒店各种姿势玩弄极品幼稚| 日韩免费三级黄片电影| 日韩美女久久一区二区三区| 亚洲激情综合另类| 狠狠综合网| 日日爽熟女| 久久久国产亚洲精品系列| 国产欧美一区二区| 香蕉视频精品亚洲一区二区三区在线播| 亚洲欧美情色| 亚洲超碰AV| 啊啊啊啊好疼| 日欧亚洲二三区大片不卡| 最新亚洲风情电影| 亚洲精品一区二区精品| av东京热男人的天堂| 久久免费99精品久久久久久| 五月丁香六月激情综合| 在线播放一级无码视频| 成 人片 黄色大片| 日韩,欧美,中文在线| 国产后入| 99少妇| 嗯阿好爽好紧| 亚洲人体视频在线观看| 亚洲日韩国产精品| 偷拍 亚洲 欧美| 久久久久久久91| 刺激精品视频| 天天爽天天| 性欧美第一页| 久久国产视频性吧| 97超碰中文字幕| 91chinese在线| av在线不卡一区二区三区| 欧美激情亚洲| 狠狠躁日日躁夜夜躁A| 国产欧美岛国精品一区| 性爱综合一区二区| 91亚洲影视| 激情情色五月天| 亚洲视频二区 | 色偷偷综合91久久噜噜| 激情综合五月天| 国产亚洲精品美女久久久久久2021| 久久女人| 97久久网| 亚洲欧美天| 激情久久日韩精品中文字幕麻豆| 欧美综合站| 发朗少妇买婬全视频中文| 亚洲中文字母在线播放| 97国产成人精品免费视频| 逼逼逼逼操操操操操操操操操午夜剧场 | 9.1小视频| 99re在线视频国产| 欧美91色| 超碰欧美97| 国产一区二区二区按摩精品啪视频| 国色综合天| .精品人妻一区二区三| 黄色香蕉视频网站一区| 日本欧美亚洲高清在线看| 性爱乱伦一区| 偷拍伦理视频| 神马久久中文字幕| 91处女在线视频| 亚洲中文日韩精品| 校园春色宗合网| 91久久婷婷| 2020中文字幕在线| 亚洲欧洲色情高清| 欧美大香蕉97| 探花激情视频| 人妻少妇精品无码专区二区密桃| 亚洲情色中文字幕一区| 992大香蕉| 国产成人亚洲精品自产在线| www久久国产精品| 天无日色综合| 久久亚洲欧美一区二区三区-亚洲国产精品第一区二区 | 欧美性爱无码一区二区三区| 日韩91网| 91九九| 中字一区| 97资源超碰| 色色福利| 夜草网站| 东京热不卡视频| 国产JDAV无码视频在线观看| 天天干18禁| 一区二区三区在线资源| 夜夜爽夜夜| 中文字幕啊啊啊在线观看视频| 丝袜视频一区二区在线播放国产中文| www.色吧5.com| 久久AV无码网址| 学生妹天天看| 国产成人欧美一区二区三区的国产| 艳美熟妇先锋一二三区| 中文久久久| 鲁鲁色综合网| 搡老女人老91二区| 日韩内射视频| 8x福利精品第一福利视频导航| 久插综合| 中文字幕交换人妻| 春色综合免费| 亚洲午夜AV| 91丝袜在线观看| AV天堂男人的天堂| 夜间福利片1000无码| 久久一本大香蕉 | 亚洲色丰满少妇高潮| 超碰免费人妻在线| 综合网欧| 中文字幕精品一区二| 色婷婷久久综合超碰| www黄片免费看com| 视频二区美腿制服人妻欧美| 青青草密桃在线播放| 操逼视频色| 精品人妻一区二区蜜桃视频| 免费作爱一级视频| 国产AV线| 日韩久久.一级黄色片| 美中韩AV综合网| 中文字幕99999| 天天网综合| 色色色天美视频| 亚洲天堂人妻熟妇视频| 久久丁香五月婷婷| 手机在线大香蕉| 久操视频免费在线观看| 熟女熟妇一区二区三区视频| 久久五月综合| 久久精品一区二区一8| 亚洲熟女一区二区| 五月激情综合网| 日韩电影在线观看网址| 日本中文字幕熟妇| 秋霞一集毛片观看| 国产亚洲色婷婷99精品91| 日本欧美一区二区三区免费| 欧美色97| 国产白领连续中出在线播放| 岛国片在线观看视频亚洲| 国产熟女一区二区| 午夜欧美神马久久久久| 亚洲中文字幕精品久久久久久直播| 97超碰伊人| 精品人妻夜夜草| 亚洲aV无码成人在线观看| 久久夜夜| 少妇熟女视频一区二区三区| 欧美日韩淫加| 9久久精品| AV麻豆免费一区| 4tube欧美女厕所| 国产精品视频播放| 国产 日韩 欧美 人妻 熟女 中文| 超碰精品97| 国产精品丝袜久久亚洲不卡| 97超碰69| 久操热线| 国产一级操B视频| 爱爱啊啊啊| 亚洲十八禁止| 五月婷婷hd| 1024人妻| 国产av强奸美女| 狠狠爱综合网| 久久久久久人| 青青草久久| 欧美日韩人人早| 日韩人妻精品久久久久| 午夜福利成人免费视频| 无码 黑人一区二区三区| 96精品久久久久久久久| 校园春色 亚洲| 91女优在线观看 | 欧美变态激情网| 草b在线| 美女黄色一级A视频| www.yeyecao| 亚洲在线网站| 免费观看成人www精品视频| 男人的天堂VA| 超碰美国| 日本一区不卡| 91亚洲电影| 欧美碰碰综合色| 91N综合网| 日本ZZ高免费A级视频| 国偷自 一区二区| AV色图| 午夜精品久久久99热蜜桃的功能特点| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 人妻美腿丝袜日韩| 夜夜 中文视频rt| 免费久久9999| 国产精彩女在线观看视频| 日本精品九九九| 超碰偷拍| 97亚洲在线| 很很操在线| 国产v片在线免费观看| 国内毛片国产欧美拍| 国产精品视屏| 亚洲中文字幕一区二区| 精品69网| 91性高朝久久久久久久久| 无码天堂| 欧美一级久久久久久久大片动画| 一区操逼| 久久露脸国产老熟女| 国产精品无码成人精品| 秋霞网无码| 中国少妇XXXX做受| 欧美丰满熟妇XXXX性ppX人交| 99ri在线视频| 丰满翘臀美女影院视频| 大香蕉欧美日韩| 超碰9 7女人| 免费国产视频| 国产视频一区二区三区在线免费观看 | 人人妻人人爽人人精品| 17c嫩草51久久91嫩草| 欧美1区二区三区公司| 亚洲欧美日韩精品久久久一区二区| 天天精品| 91在线视频免费中出| 夜夜 中文视频rt| 九九九九九九九| 2021国产成人精品久久| 日本www操操操| 欧美极品少妇交| 日本好吊色视频| 超碰在线一区| 极品色www影院| 91狠| 伊人9| 国产精品久久天天干| 黄片在线免费在线观看| 不卡人妻少妇精品毛片一区23区视频| 久久人妻一区二区三区高清| 成人午夜高潮av猛片| 爱射综合| 密臀在线视频| 天天操人人操骚逼网站| 久久久久久性爱免费视频| 精品九九九九九| 日本操BAV| ss久久| 性感美女91影视| 午夜一区二区三区国产| 色色五月天婷婷| 色 亚洲 91| 色综合一区二区三区| 欧美久久伊人| 999 久久久| 91欧美大片| 97色在线| 久久亚洲一区女同性恋中文字幕| 亚洲熟女性高潮久久久| 亚洲综合影片| 手机看片91人妻| 又黄又爽在线观看视频| 999热日韩精品| 欧美日韩 强奸乱伦| AV老汉| 高潮精品| 香蕉一区二区三区在线视频| www.acm成人黄色毛片| 中文字幕亚洲永久精品| 久久精品老司| 欧美伊人久久综合网| 日韩精品三区四区| 夜夜影视四色| 国产60区。| 精品欧美乱码久| 在线国产福利网址导航| 欧美一区二区成人一卡| 欧美日韩啪啪电影| 91撸色网 玖玖网 欧美| 亚洲成人黄色在线观看| www.狠狠| 97久久国产精品| 人妻精品视频一区二区| 综合欧美色图| 91黑丝在线播放| 美女久久久| 97资源超碰| 中日韩免费看男女操逼大全| 国产视频一区二区在线观看| 妇女性内射冈站HDWWWCOM| 欧美激情片一区二区| 亚洲欧美不卡线| 欧美成人精品一区二区三区| 欧美A片中文字幕| 亚洲自拍一区夜夜操| 强奸乱伦中文字幕AV| 日韩八十路老熟女| 免费一级视频特黄色大片| 大粗鳼巴久久久久| 欧美日韩国产中文精品字幕自在自线,| 久久久新亚洲AV| 高跟伊人julia ann| 自拍大香蕉乱插| 黄色工厂这里只有精品| 91精品丝袜在线观看| 97在线亚洲| 激情文学网伊人| 日本一区二区三区午夜观看| 人人妻天天做天天爽| 婷婷九月色| 激情小说日韩无码| 97伦乱| 亚洲无码色| 日韩免费在线视频观看| 日韩射图| 日韩超碰精品综合| 男男H黄动漫啪啪无遮挡网站| 欧美日韩狠狠爱| 99re只有精品| 99久久婷婷| 人妻丰满熟妇一区二区三| 亚洲中文字幕一区| 一牛影视久久久一区二区三区| 91精品无码久久久久久久| 91少妇通奸网站| 久草五月| 影音先锋视频在线| 久久人| 亚洲综合 欧美| 久久这里精品国产99丫e6| 肉嘟嘟www视频在线观看高清| 九九九久| 欧美少妇内射| 黄色视频特级毛片| 日韩一级欧美一级国产一级台湾| 啊啊啊啊啊舒服| 另类小说五月天| 久久亚洲中文字幕视频| 天堂在线一区二区| 久久久久久亚洲精品不卡人乳 | 亚洲天堂男人在线| 婷婷午夜成人色中色| 天天看天天日| 偷偷人人精品女女久久| 高树玛利亚无码流出| 婬女免费一二三区A片| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 日韩欧美加勒比| 91热色| 男人把坤坤插入女人的下体 | 亚洲97网站| 亚洲淫色网中文| 密臀在线免费观看| 久久国产精品一级二级三级| 2024人人操人人摸| 日本精品无码三级网站| 国产在线视频二区| 亚洲无码 国产无码| 麻豆成人AV| 欧美日韩久久精品爱爱| 国产91 丝袜在线播放| 亚洲精品国产熟女久久久| 素颜老阿姨乱情色| 99热导航| 日韩 成人 有码| 美性中文综合网| 大香伊人在线一区| 精品国产一区二区三区久久久蜜臀| 99亚亚热| 综精品久久久aaaa| 激情色播| 2020中文字幕| 很很干很很操| 精品性爱无码在线播放| 99久久精品国产高潮| 日韩乱伦视频| 五月婷婷啪啪| 香蕉在线一区二区三区| 啊啊啊啊嗯嗯嗯用力好爽 | 丝袜AV一二三区| 中亚av| 9热9热综合网| 午夜后入| 亚洲中文字幕久久无码精品| 国色综合天| 久久老女人| 国产精品久久天天干| 亚州男人天堂| 亚洲欧美黄| 亚洲欧美日韩免费观看| 密乳AV免费观看| 日韩在线观看字幕精品| 曰韩av中文字幕专区| 激情AV| 91N五十路| 狠狠躁天天躁日日躁| AV久日| 久久精品超碰| 超碰在线人妻中文字幕| 日韩无码黄色片| 你懂得91| 伊人成人情色综合| 精吧天堂| 激情小说亚洲| 草草草视频在线免费看| 国产精品久久久久亚洲av| 国产精品人人爽人人做可爱福利| 国产AV激情无码久久无码| 综合夜夜| Blackedraw视频一区二区| 五月色综合| 香蕉久久精品| 南澳成人一级片在线播放| 绯色一区二区三区不卡少妇| 免费精品中文字幕| 能看的AV| 99re这里| 男人天堂2017| 乱论91| 五月黑AⅤ| 久久久久久久久久久久欧美日| 少妇蹲下买菜露大唇0| 97九色| 久久99国产综合精品女同| 九色 人妻 大香蕉| 青草香蕉网| 久久精品女同亚洲女同13| 老熟乱一区二区三区四区| 超碰免费97| 久久九九国产精品| 亚洲成人精品久久久| 中文字幕AV中出| 一区操逼日比视频| 宅男91视频在线播放| 国产AV天美传媒一区二区三区| 亚洲 欧美 精品专区 极品| 国产高清成人传媒影视| 超碰天天操你比| 国产精品白领在线观看| www.婷婷五月天| 99青草| 97视频900| 秋霞Av理论一级在线| 国产成人欧美一区二区三区的国产| 91久久久久久久| 欧美永久激情一区二区| 青青草在线视频播放器| 日本不卡高清视频| 婷婷另类小说| 精品九九九九九| 久久女婷| 亚州色图欧美色图| 福利色色| 9ⅰ久久久天天| 乳欲人妻办公室奶水| A久久| 欧美性色欧美| 久久久久亚洲AV无码专区少妇| 成年男人的天堂| 超碰久在线天天做| 国产东北女人在线视频| 嫩草 人人网精品| 国产精品视频内谢女人| 九九成人视频| 乱色老一区二区三区的观看方式| 色哟哟 日韩精品| 亚洲一二三精品久久网| 激情文学亚洲| 老熟女乱子伦中文字幕一区二区| 东北女人的毛片| 午夜男女爽爽大片免费观看| 亚洲精品一区二区三区新线路| 国产精品乱码久久| 无码免费精品高清| 久久久111| 国产一进一出视频网站| ai欧美亚洲小说| 欧美天天干| 中文熟女五十乱码在线| 国产精品亚洲一区二区三区四区 | 人人操人人操人人人操| 亚洲男人天堂2013| 亚洲天堂人妻熟妇视频| 区自美91| 91狠狠综合久久久久久| 好爽视频在线观看视频| 国产白领连续中出在线观看| 国产三级在线现体验区| 人妻五十路在线| 丁香五月激情综合国产| 亚洲美女精品九九视频| 成在线人在线观看视频| 97超碰人操| 丁香五月自拍| 男人的天堂 在线一区| 亚洲五区熟女| 亚洲成熟国产精品美女| 东京热,男人的天堂| 嗯嗯啊操我| 精品国产一区二区三区香蕉欧美| 亚洲 欧美 综合 91| 久久女婷| 欧美大香蕉久| 蜜臀在线网站| 一区二区三区 丝袜 高跟 美腿| 久久久精品中文字幕爱豆| 女人18精品一区二区三区| 狠狠色丁香| 欧美日韩狠狠爱| 91嫩草欧美| 亚洲欧美日韩精品久久久一区二区| 四虎免费视频| 久操99| 五月丁香六月综合缴清无码| 9997se| 人人爽天天爽| 日日噜噜夜夜狠狠视频无| 黄色高清久久无码依人| 人人干人人搞人人摸| 97超碰色色| 久久久久久裸体| 欧洲中文字幕| 制服乱伦| 看大黄色大片原件| 久久精品无码专区| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | www久久精品| juliaann精品熟女一区| 视频一区二区免费在线| 超碰97综合网| 精品96久久| 色噜噜综合在线| 欧美性爱十八禁| 老妇女91| 美女诱惑在线一区| 色狠狠综合| 欧美不卡二区| 人人操 欧美| 啊啊啊啊操死我| 久热99999| 久久曰曰| 成人影 天天操 亚洲| 国产美女口爆吞精视频| 成人性交免费视频| 久久蜜桃综合网| 亚洲人成网www| 久久久久久AⅤ无码免费肉站| 亚洲av综合伊人久久| 屁股久久久久久| 啊啊啊水好多| 亚洲少妇自拍中文字幕懂色| 欧美国产有色电影| 丝袜喷水在线| 欧美熟妇乱码在线一区| 亚洲欧美中文日韩视频中国语| 成全动漫视频观看免费下载| 久久精品一区一起草| 中文字幕人乱码中文字的预防方法 | 乱人伦 国语对白:视频直接看| 丰满人妻av一区二区三区| 久久人人爽爽人人爽人人片αV| 中文字幕第2页| 加勒比aⅴ| 变态综合色| 97爱亚洲| 99re在线| 家庭乱伦麻豆| 狠狠爱大香蕉| 偷拍2020| 99这里都是精品| 97国产精品久久久久| 青青欧美| 97国产精选| 成人久久久精品| 亚洲午夜蜜臀| 欧美色图另类图片| 美女网站黄页| 亚洲中字慕不卡| 99蜜桃臀久久久欧美精品网站| 伊人991| 裸体美女久久久| 九九人妻| 97这里有精品| 青操影院| 久久久天堂| 久久啊啊啊| 日韩免费簧片| 亚洲 欧美 制服 另类 自拍| 一区二区三区国产在线播放| 欧美片第一页| 插穴性爱视频在线观看| 日本一区二区不卡精品| 激情五月综合| 999岛国大片| 国产av美女被艹的乱叫| 高清在线偷拍自拍视频| 欧美日韩m| 东京热av男人的天堂| 亚洲免费精品一区| 色综合久久夜色精品国产天堂| 日韩国产十八禁| 欧美 青青草| 综合视频91| 亚洲制服aⅴ中文字幕| 熟妇综合一区二区三区| 天天综合中文字幕 91| 黄片免费视频2019| 日本视频在线观看污污污| 成人片在线播放| 蜜臀国产AV中文字幕| 婷婷五月丁香五月| 欧美夜色| 欧美成人精品一区| 人人妻人人爽 97人人看碰人免费公开视频| AAAA级日本片免费视频| Blackedraw视频一区二区| 天天添天天干电影| 91/欧美| 欧美97爱| 国产一级作爱毛片| 野狼激情网| 九九九九九九九| 亚洲中文丝袜美腿诱惑字幕| 天天看天天日天天操| 日韩乱伦影音先锋| 欧美日韩国产中文精品字幕自在自线,| 国外91| 九九综合九九综合| 五月丁香色色网| 啊a一区在线| 在线啊啊啊| 97在线精品观看视频| 国产精品美女在线一区| 免费啪啪啪网站18岁| 青青草精品| 日本506070| 欧美黄色片AAAAA| 亚洲中文制服诱惑| 99热精品在线观看| 国产成人手机视频激情| 久久不卡一区二区 | 亚洲国产综合久久久性感熟妇| 久久久久久中文| 中国一级操逼视频| 国产欧美日韩女同性恋ww喷水精品| 中文字幕免费看| 乱伦a片视频| 欧美黑人XXXⅩ高潮交| 亚洲丰满很很操| 看大黄色大片原件| 婷婷色婷婷| 亚洲视频二区| 亚洲欧美精品国产一区二区| 老鸭窝亚洲毛片| 日韩情色一区二区| 超碰人人草| 在线播放中文字幕| 一本色道综合久久欧美| 国产馆极品诱惑| 人妻人久久精品中文字幕| 蜜乳Av成人片网站| 天天做天天爱天天爽AV| 久久精品一区二区三区四区五区| 中文字幕jul-617人妻熟女| 亚洲精品欧洲精品| 97久久精品| 欧美人妻二区三区| 亚洲综合91| 一牛影视久久久一区二区三区| 亚洲丝袜综合| 性色av蜜臀av色欲aV| 少妇色综合| 大屁股人妻女教师撅着屁股| 99日韩| 亚洲高清男人天堂| 亚洲AV成人在线| 欧美综合天天| 伊蕉97蜜桃97狠狠综合干| 亚洲囯产精品女人久久久| 日本性一区| 在线只有精品| 中文字幕一区二区视频在线观看| 青久操| 人人性爱视频免费| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 高潮的A片激情扒开一区| 九九热男人天堂| 精品亚洲成人免费在线| 欧美熟女激情| 91综合色噜噜| 美女露胸露屁股| 欧美特大AA级黄片| 成熟熟女国产精品一区二区| 92性色国产午夜福利在线661 | 精品国产乱码久久久A| 成人三级片无码| 日韩人妻无码精品系列| 亚洲午夜未满十八勿入网站日本又色又爽又黄 | 天堂在线一区二区| 久草国产在线视频| ai欧美亚洲小说| 亚洲Av无码成人精品国产| 四虎AV在线播放| 亚洲美女精品| 亚州免费啪啪视频| 91天天综合在线观看| 蜜桃久久综合视频| 51国产午夜精品视频| 久久精品电影| 熟女人妻av在线资源,黄色的资源| 国产熟女无套内射| 97亚洲综合电影| 啪啪资源网| 91性网| 国产精品视频| 综合色99| 国内毛片热久久思思热| 欧美在线干| 中文字幕91综合| 日韩欧美中文| 久久精品一区二区三区四区五区| 丝袜视频一区二区在线播放国产中文| 97亚洲综合电影| 99精品欧美一区二区三区桃色| 传媒在线观看一区二区三区| 99精品丰满人妻| 久久欧美1卡2卡3| 芊芊操逼视频无码| 青春草莓视频在线观看网址| 欧美日韩高潮喷水91| 美女操逼福利视频| 国产精品无码成人精品| 五月天AV资源| 久久久九九九九| 97超碰色屌| 国产亚洲在线观看| 国产午夜无码片在线观看影视| 五十路六十路素人熟女| 国产乱子伦一区二区三区免看| 久久最新视频免费观看| 97在线免费看| 欧美一区二区三区蜜桃| 91春色| 亚洲欧美不卡线| 少妇淫妇久久久久久久| 精品中文日韩字幕视频| 日韩中文字幕二区| 无码人妻精品一区二区中文| 久九色| 91色伦综合| 大吊色| 国产欧美伊人| 五月丁香婷婷综合| 凹凸视频在线一区二区| 超碰色97| 东京男人天堂| 天天天堂影视日韩亚洲91| 99国产精品免费| 大香樵伊人网| 精品人妻美妇91job| 亚洲最新中文字幕免费| 翔田千里爆乳巨臀无码| 精品丰满熟妇人妻一区| 美女91av| 四虎在线免费视频| 高清无码91| 97碰碰日本乱偷人妻中文的| 日本人人操人人操|