日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满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
返回資訊列表
av片在线观看免费播放| 偷拍精品一区二区三区| 日韩另类| 国产大陆天天艹| 午夜啊啊| 乱色老一区二区三区的观看方式| 国产美女91视频| 欧美99热| 99综合网| 91干熟女| 92福利社视频| 日韩综合无码色欲vv| 熟人人妻少妇精品久久| 偷拍片久久| 蜜臀色乳| 青青草狠狠撸| 伊人久久大香蕉线AV五月天| 97日视频| 国产性爱欧美性爱在线| 99热在线不卡| 日产国产精品中文久久婷婷| 久久综合超碰| 国产女人9999| 囯产精品强| 天堂在线一区二区| 色男人色天堂东京热| 91亚洲青青草原精品1区| 亚洲国产欧美日韩人妻日中文| 亚洲成a人片在线观看中文!!!| 97超碰香蕉| 高清孕妇孕交 交孕妇| 久久嫩草国产成人一区| 欧美少妇高潮久久91| 欧美有码亚洲中文字幕一区二区三区四区| 欧美婷婷| 性色avv| 天天日天天操心| 亚洲乱熟女一区二区三区大香蕉| 强奸乱伦麻豆| 国产精品一区二区黄片| 欧美一级欧美三级在线观看| 91精品国久久久久久无码| 亚洲涩涩| 欧美黑人91| AV色五月天| 国产美女激情| 乱码人妻一区二区三区| 日韩电影免费网站麻豆视频| 熟女91网站| 久久岛国| 狠狠操官网| 九九久久综合| 久久五月婷| 久久久久久久国产a∨| 自拍偷拍 高清无码| 精品中文字幕一区二区l - 百度| 无码99| 亚洲综合五月天| 9久综合网| 花野真衣| 欧美韩国你懂得在线 | 最新中文字幕精品在线| 激情综合五月| 中文字幕加勒比海高清无码免费视频| 国产精品suv一区| 亚洲国产亚洲天堂| 9丨久久九九九| 人人艹亚洲| 51一区二区三区| 亚州宗合另类| 天天插天天操天天摸天天射天天看| 在线电影亚洲色图| 女沟厕偷窥piss小便| 6080YYY午夜理论片在线观看| 99热99在线| 欧美另类色| 久草久日| 91被操| 最好看的中文字幕在线2018| 91ise欧美| 97超碰人操| 偷拍精品一区二区三区| 殴美大黄片| 亚洲国产一区二区三区在线| 久久香蕉国产线看观看亚洲女人 | 色姑娘综合网| 日韩人成网站在线播放| 欧美大码在线视频| 久久系列| 国产欧美一区激情交| 黄总AV色图| 少妇综合网| 黑人无码一区二区| 4虎在线视频| 国产9区| 视频分类 国内精品| 台湾大香蕉99热| 麻豆成人影音在线| 制服乱伦| 色欧美在线| 亚洲第一免费视频| 色婷婷综合久久中文字幕雪峰| 91大香蕉伊人| 五月婷婷激情综合| 玖色av| 国产曰批免费观看久久久| 伊人97超碰| 91九色丰满高潮| 韩国午夜理伦三级好看| 伊人精品视频| 在线无码操| 欧美一二在线| 日本欧美韩国国产在线| 亚洲大胆人体av| 操屄日韩| 91路www| 精品成人无码| 大香蕉综合在线| 国产三级中文有码在线视频| 久久久久久久久久久久久久久久9| 亚洲综合电影| 啊啊啊用力在线观看| 男人的天堂com| 亚洲av淫乱| 啊啊啊好疼| 国产精品视频一区二区三区八戒| 欧美激色| 欧美日韩电影一区二区| 精品v日韩欧美国产| 91久久堂| 国产精品国产拍高清AV| 天天欧美| 日韩美女久久一区二区三区| 免费视频在线一区二区不卡| 国产精品粉嫩福利在线| 亚洲AV无码乱码在线观看性色| 夜色97| 婷婷视频在线免费观看| 国产尤物在线三区| 91neishe| 午夜.DJ高清在线观看免费7| 精品妇操一区二区三区| 人妻人人操| 一区二区三区不卡视频| 丝袜无码a片| 欧美日产国产在线成人第一区| 91精品成人| 亚洲成人一区二区精品| 国产精品国产精品国产| 男生女生啊啊啊啊| 免费一级毛片在线视频观看| 人人干黄色| 97视频900| 国产高清成人传媒影视| 国产老太乱伦一区| 精品乱码在线观看| 天天日天天插| 7777奇米影视久久| 日本高清一本二本免费不卡| 日韩av女优在线免费一区| A一区片| 人人操超碰在线| 天天干一区二区| 欧美操逼熟女| 日韩成人无码| 91熟女丨老女人| 久久久久ab| 伊人天堂在线| 精品性爱一二三区| 噜噜噜在线视频| 亚洲欧洲综合| 日韩精品国模| 久操九九九九九九九九九九九九九九九九九九九九九九九九九九九九 | 欧美图片偷拍| 五月综合视频| 99热免费| 婷婷中文网| 老熟妇乱轮| 熟妇一区,二区,三区。| 1769一区| 欧美色97| 青青草日逼视频| 日韩av影片在线观看| 黄色免费网| 大逼色网站| 色综合99999| 亚洲……91| 91精品久久久久久综合五月天| 黄片qw| 亚洲色图欧美色18直播在线| 天天日熟妇| 福利风月五月天影院| 九色婷婷| 99性爱| 色色99| 九热视频| 凹凸视频特色日本特黄| 乱伦系列一区二区| 丁香五月婷婷啪啪| 久久婷五月| 亚洲成A∨人影院在线欢看| 岛国黄| 亚洲精品久久久久久久蜜桃臀| 日本精品网站在线中文| 一线黄色免费性爱片| 日韩啊V| 无码78| 色臀AV| dy888午夜老子影视达达兔| 伊人操| 少妇一区二区三区| 思思视频免费看网站| 天天综合网在线观看| 国产美女自拍视频| 91丝袜在线观看| 91n欧美| 97天天操| 欧 美 自 拍 偷 拍| 亚洲?V无码专区在线电影| 一本色道综合久久欧美| 翔田千里无码中出中文字幕| 中国一级操逼视频| 狠日操| 黄片不用下载在线观看| 五月丁香六月| 久久、1234| 风骚少妇视频中文字幕| 蜜屁av| 亚洲国产另类在线中文| 精品人妻1区| 日韩丝袜二区| 伊人青青一区成人视频在线观看区| 黄页大片在线观看| 精品一二三区四视频| 智利AV在线网| 欧美高清色| 日韩在线性爱免费视频| 亚洲欧美中文日韩视频中国语| 人人天天欧洲| 天天操人人操骚逼网站| 花花AV导航| 日韩视频中文字幕| 强奸乱伦动态污图免费| 色九月综合| 久久草视频污视频| 国色综合天| 国产性爱强奸乱伦大全| 色婷五月天| 1区2区3区中文字幕日韩| 久久精品视频一区三区小泽玛利亚| 欧美日韩国产色五月综合在线| 精品国产乱码久久久影院| 欧美黑人熟妇精品91| se吧提供91精品国产91久久久久久| 欧美日本中字另类在线| 久久久一级| 国产久久一区二区| 玖玖爱影院| 日本视频一区二区三区| 精产国品一区二三产品| 南澳成人一级片在线播放| 大香蕉乱级| 91色婷婷综合久久中文字幕二区| 91老熟女老女人国产老太| 欧美日韩制服| 欧美三级中文字幕hd| 99热97| 亚洲日韩资源| 亚洲国产奇米影视久久| 久久αⅴ| 懂色AV蜜臀无码精品APP| 久久中文色图| 亚洲欧洲自拍图片专区满春格| 777奇米影视777四色| 色九九九九| 免费a v| 99热精品在线播放| 天天天堂影视日韩亚洲91| 中国操逼无码| 99国产精品在线观看| 久久内射| 99这里都是精品| 婷婷九月丁香| 国产无马av| 91热色| h4610国产人妻| 色五月69夫妻| 欧美片第一页| 亚洲精品欧美专业| 亚洲麻豆av一区二区| 99re视频在线观看这里只有精品| 在线电影亚洲色图| 亚洲日韩美国人妻| 精久久久| 日韩性爱播放| 精品97久久| 91干熟女| 91综合网站| 亚洲精品丝袜-不卡成人免费…… 久久久久成人蜜桃精品 | 亚州综合图片| 国产无马视频| 蜜桃传媒视频第一区入口在线看| 久久久久久AV无码免费网站| 91精品在线播放| www.色99| 热99这里有精品综合久久 | av操操不卡| 久久国产熟女影院| 人妻蜜桃臀| AV九九| 天久久久噜噜噜久久国产精品爽爽 | 亚洲男人天堂2019| 日韩欧美日韩| 久久最新视频免费观看| 草草影院最新网址| 日韩BBN| 日韩亚洲美女一区久久| 欧美偷拍区| 亚洲综合骚逼| 在线女人91| 2018天天干在线视频| 天综合网欧美| www.五月天| dy888午夜老子影视达达兔 | 日韩精品碰碰| 酒色综合网| 国产激情在线| 久久手机视直播| www.91人妻.com| 欧美日本不卡| 97在线国产精品| 国产av强奸美女| 男人天堂毛片| 青青草在线视频欧美| 亚洲成A∨人影院在线欢看| 日韩图色| 精吧天堂| 91久久堂| 九九九久千久久激情蜜桃在线看 | 超碰亚洲欧美日韩无| 精品成人亚洲午夜电影| 日韩精品午夜操呦呦不卡影院| 无码一区二区三区四区五区六区七区八区九区十区视频 | 无码抄逼网| 欧美成年人性爱视频免费观看| 999 久久久| 亚洲 欧美 天天| 美女国产一区二区久久 | 7月婷婷综合| 午夜国产成人福利视频| av毛片aaaaa免费看| 91老熟女91老女人| 日本免费一区二区不卡| 伊人久久大香线综合无码| www.99视频| 色欲蜜臀AV| 日韩精品中文字幕人妻| 91网站18禁| 中文字幕无码不卡啪啪| 一区二区三区四区久久视1| 九九内射在线| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 殴美,日韩国产伦精品| 欧美日本国产日韩激情视频| 男插女青青影院| 九九热精品视频六| 福利五区| 欧美性视频二区三区| 日韩在线人妻网站| 伊人色综合超碰| 日本有码久久| 99热综合| 色五月婷婷中文字幕| 日本性爱少妇| 亚洲第一无码播放立川理惠| 日韩AV熟女乱伦| 久草国产在线视频| 国产树林里野战在线看| 色情综合网| 人妻熟女av国产网站| 国产女乱淫真高清免费视频| 乱欲一区二区| 狠狠色综合网| 99热只有| 日韩精品影视| 91 丝袜在线观看| 久久精品99久久久久久| 日本 情色 1区2区3区| 久久久91福利姬| 国模91| 欧美色道啊| 久久久久深夜无码| 亚洲成人在线乱码色午夜| 亚洲国产97在线精品一区| 亚洲欧美激情小说| 9丨久久九九九| 夜夜精品视频| 超碰在线观看av不卡| 久久久久亚洲?V片无码V| 日本一区二区做爱的视频| 极品色www影院| 夜夜操狠狠操| 97色视频在线| 丝袜综合网| 中文字幕第9页萱萱影音先锋| 999久久久免费精品国产牛牛| 国产精品嫩草影院午夜两性| 91人妻中文| 97最新在线播放视频| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 国产AV天美| 日本天天吊| 国产精选三级在线观看| 性色AV蜜色av色欲av| 中文字幕五月婷婷免费| 国产无码一二三区| 东京热激情视频一二三区| 熟女在线视频| 精品少妇人妻一区二区三区| 丝袜美腿亚洲| 在线强奷到舒服的无码视频| 91九九九馒头| 精品无人区麻豆乱码1区2区图片| 日韩特级毛片免费观看全集| www.av在线观看| http://qxhbdz.com| 国产精品久久久久久久久久久久久久久久久久 | 日夜啪电影| 91高跟美女在线播放| 91欧美情色| 激情 欧美 亚洲 小说| 日本高清一区二区在线| 亚洲AV高潮| 91少妇高潮| 妇女性内射冈站HDWWWCOM| 国产av美女被艹的乱叫| 精久久久91| 淫淫综合网| 国产高清无码一区三区二区| 亚洲情色婷婷五月天| 国内外毛片在线观看| 大香蕉乱级| 偷拍伦理视频| 女生看匆91网站| 人人操,操人人| 舔人妻中文免费视频| 国产乱伦视频污| 99自拍视频| 老色鬼成人精品视频下载大在线观看| 精品国产乱码| 操我啊啊啊啊啊| 97色综合中文网| 欧美v亚洲v日韩v最新在线二区 | 激情小说亚洲| 天天日天天爽| 亚洲人精品久久久| 干婷婷综合网| 色欲久久99精品久久| av强奸乱轮| 麻豆天美传媒在线视频天堂| AV天堂国产| 久久久9品一区二区三区| 国产一区在线看| 极品色www影院| 青青伊人这里只有精品| 99久久久er直播网址| 9999亚洲电影| 中文字幕在线观看永久| 欧美少妇色综合| 久久伊人亚洲AV无码网站| 五月天黄色av| 日韩免费簧片| 97在线青| 蜜桃无码AV一区二区| 啊啊啊在线看| 久久黄黄| gogogo免费高清看中国国语| 天天综合网AV91| 多毛小伙内射老太婆| 91超碰碰在线| 九色婷婷| 亚洲色图综合| 最新中文字幕av| 在线欧美69V免费观看视频| 久久99草| 欧美日韩99| 亚洲综合20p| 熟妇亚洲一区二区三区| 中国一级特黄大片护士| 亚洲偷拍欧美激情| 女优视频第10页| 男人午夜天堂| 天天看高清麻豆| 丁香五月综合| 丁香色狠狠色综合久久小说| 超碰人妻中文在线| 欧洲一级性爱视频在线观看| 日本大香蕉综合网红本杳社区| 中文字幕在线播放2中文字幕在线观看2| 欧美资源| 国模91| 五月天婷婷色| 中文字幕一区电影在线观看| 97碰碰色| 国产午夜视频| 91粉嫩萝控精品福利网站_精品影音先锋国 | 五月丁香啪啪啪| 伊人热综合| 午夜久久久| www.狠狠干.coom| 26uuu性| 亚洲风情在线观看| 不卡一区视频| 国产精品情侣啪啪| 日韩AV无码中文一区二区| 野狼福利社区| 99热线麻豆 | 久草新免费| 亚洲欧美精品福利在线| 自拍偷拍第26| 91精品国产91熟女| 色偷偷人人玩人人舔人人操人人摸人人爽 | 九九九九精品一区| 九九热免费国产视频婷婷伊人五月 | 五月天婷婷影院| 麻花豆传媒剧国产MV出差| 农村妇女精品一二区| 97超碰免费人人性爱| 99性爱| 亚洲五码一区二区三区| 国产丝袜美女在线一区| 日韩在线电影| 欧美丝袜亚洲| 久久久精品久久| 欧美 传媒 麻豆 日韩 偷拍| 中文字幕老熟妇黄色视频| 超碰人人超在线观看| 搞中出久久| 大香蕉一级黄色片久久| 99少妇| 欧美淫乱视频| 日韩中文字幕精品一二三事国产精品| 欧洲与亚洲欧美精品中文字幕| 99久久com免费视频′| 亚洲精品99| 色爱综合网| 成人福利视频网| 伊人久久大香线蕉无码| 国内毛片免费h片在线| 亚洲成?V人片在线观看福利| 欧美天天干| 国产在线激情视频| 久久久久久一日韩字幕无码| 日逼逼免费看| 日韩无码a片| AV和黑人在线播放| 国产女人和拘做爰视频 | 日本成人A片免费看| 日韩欧美午夜一区二区| 综合激情二| 久久av无码| 一道α片欧美| 强奸乱伦亚洲第一页| 中文字幕中文字幕一区二区| 看黄片视频免费| 强奸乱伦αv片| 岛国成人av在线播放网址| 99久久精品国产高潮| 亚洲av无码成人精品国产| www色色com| 亚欧精品久久久久久久久久久| 人妻激情偷乱视频一区二区三区| 欧美黑人性猛交91| 欧亚第一综合网| 亚洲少妇在线影音| 久久久性少妇| 无码人妻精品酒店| 国产亚洲性生活视频播放| 日本成人A片免费看| 日韩乱中文| 久久婷婷亚洲| 婷婷综合在线观看| 热热色色综合| 人人妻人人玩人人澡人人爽| 成人av性爱电影在线观看| 久久久亚洲Av| 无套内射性感少妇视频| 偷拍欧美激情| 日韩中文字幕宗合在线| 欧美性性性| www.色吧5.com| 亚洲国产一级精品毛一级精品看免费视频 | 亚乱色| 蜜臀av在线播放一区二区三区| 97干色天堂| …中文字幕亚洲乱,97人妻无码费视…| 91高清欧美| 国产无码三级视频在线观看| 日韩精品永久在线观看| 殴美性色a级欧美| 校园春色亚洲无码| 91久久青青草原精品| 亚洲系列第一页| 欧美色图天堂在线| 亚洲资源网| 中文字幕欧美日韩三级| 日本一级二级三级网站| 特级大荫道BBwBBwBBW| 夜夜嗨免费视频| 久久草草亚洲蜜桃臀| 亚洲aV无码成人在线观看| 密臀在线免费观看| 男人的天堂一区| 日本视频一区二区三区| 亚洲欧美爆| 中文字幕丝袜| 亚洲乱码尤物193YW| 欧美无圣光在线| 亚洲激情在线| 立川理惠无码一区二区| 夜草欧美| 熟女激情综合网| 久久精品一区二区三区不卡| 后入福利| 91成人精品在线播放| 97 超碰 人人做 人人爱| 性91| 99热这里只有精品99| 精品综合久久久久久97| 亚洲天堂一区二区久久| 九九九久千久久激情蜜桃在线看| 91宗合网| 99啪啪| 日韩91网| 在线播放中文字幕| 色噜噜人妻av中文字幕| 国产免费久久久久| 亚洲情色无码一区二区三区| 无码在线亚洲| 五月天人妻综合| 五月天玖玖资源站| 欧美九一精品久久久熟妇| 亚洲AV无码AV吞精久久久久| 91欧美丨精品丨入口| 国产多人在线观看视频| 日本人妻天堂网站在线播放| 亚洲日本激情| 在线观看视频91| 午夜一区二区三区国产| 99久热精品99re6热| 色综合久久av| 九九九九97| 全球成人中文在线| 欧美熟妇色| 91亚洲黑人| 17c嫩草51久久91嫩草| 99自拍B亚洲| .精品人妻一区二区三| 高潮嗯啊性感美女久久久| 黄色人人| nuu12国产麻豆精品| 亚洲色欲天天人妻无码系列专区| 美女黄页网站| 爆乳免费黄网站| 亚洲乱色熟女一区| 91色综合色| 日本在线一二| 中文字幕精品一区二| 欧美色图91p| 亚洲少妇中文字幕网址| 久久三区四区| 91欧美长吊| 国产精品一二三在线看| 99少妇内射| 日本一区二区三区精品| 欧美丰满少妇xx高潮| 伊人嫩草| 在线综合 亚洲 欧美中文字幕 | 囯产乱伦一区二区三女 | 九九伊人网| 性色AV网站| 熟妇人妻一区二区三在线 | 欧美日韩小说| 一区中文字幕二区日韩| 在线无码操| 亚洲在线欧美| 2019午夜福利视频| 国产欧美美女免费观看视频| 精品成人动漫一区二区| 粉嫩AV一区二区夜夜| 亚州再线| 五月天啪啪| 人人艹亚洲| 美女啊啊啊啊啊| 亚洲在高跟鞋自慰久久在色线| 性爱av在线免费观看| av三级电影在线播放| 久久综合久色欧美综合狠狠 | 麻豆精品A片免费观看| 国产女人91精品嗷嗷嗷嗷| 啪啪视频免费在线观看| 国产少妇内射| 1024手机看片欧美日韩| 欧美另类色图片| 丝袜美腿制服人妻二区中文字幕| 91香蕉国产尤物视频| 色噜噜狠狠色综无码久久| 欧美午夜色妇色鬼| 少妇99成人麻豆| 蜜臀AV网站| 精品一区二区在线针对华人免费观看这里只有精品免费观看 | 九九探花视频在线观看| 精品人妻免费观看| 亚州性9| 青青青草原| 亚欧美综合网。| 久久熟妇五十路一区| 99亚洲精品| 亚洲五月婷婷| 在线强奷到舒服的无码视频 | 在线亚洲丝袜视频网站| 99精品热| 亚洲一二三四区机械| 五月丁香婷婷综合| 激情专区综合| 国产小u女在线观看| 欧美经典一区二区三区| 欧美呦呦性爱| 91久久九九精品国产综合| 精品人妻一区二区三区日产| 国产区在线| 一级AAA片一区二区三区| 综合大香蕉美。| 熟女熟妇伦久久影院毛片一区二区 | 天天激色| 青青草玖玖爱| 色悠久久久av| 欧美中字不卡| 在线 欧美 亚洲| 欧美专区17页| 日韩91网| 天天噜| 亚洲超碰97| 人人操人人色网| 日韩av无码网站| 98人妻精品一区二区色欲| 国产亚洲精品一区二区三区| 日韩在线地址一| 91精品亚洲内射孕妇| 大香蕉视频一二三区| 人妻中文字幕精品无码| 亚洲精品人妻在线| 国产18精品亚洲精品| 高清在线偷拍自拍视频| 99re视频在线观看这里只有精品| 国产超碰国产97| 少妇毛片久久| 91性高| 人人妻人人色一区二区三区| 久久内射| 无码久久亚洲高清,| 少妇啪啪自拍| **一级毛片国产| 夜色五月天| 欧美性色综合网| 狠狠躁日日躁夜夜躁A| 亚洲国产福利视频| 欧美色乱| 亚洲精品国产专区在线观看| 日韩激情中文字幕有码| 99在线免费视频| 亚洲美欧999| 美女网站黄页| 91欧美在线| 国产强奸91| 乱老女人一区二区视频| 婷婷三区| 五十路熟女,国产欧美精品区一区二区三区 | 永久免费观看的毛片的网站| 熟妇的味道HD中文字幕| 亚洲成?V人片在线观看福利| 嗯啊免费视频| 另类专区加勒比| 伊人久久AV诱惑悠悠| 免费一级精品啪啪视频| 99久视频| 亚洲欧洲第二视频在线观看色图| 久草看看看| 精品成人亚洲午夜电影| 激情五月天婷婷| 综合97| 日逼国产| 欲色影视综合吧| 亚洲一区二区av| 中文字幕精品一区欧美| 久热超碰| 日日日色色色色色| 91国产操逼视频| 自偷自拍的亚洲视频| 亚洲人妻熟妇三十三区| 亚洲 欧美综合| 久干9操| 超碰 另类 欧美 | 国产精品久久久777| 欧美色图亚洲色| 女人 A一级| 99re在线观看| 老司机福利青青草| 日韩一区二区精品视频| 国产av色网| 久久精品日韩| 色诱avtt| 国产毛片毛片4p懂色| 欧美日韩国产在线| 久久久无码精品人妻二区| 亚洲最新中文字幕免费| 自拍丝袜美腿人妻| 校园春色亚洲| 黑操B| 精品国产乱码久久久| 亚洲精品aa久久伊人| 国产久久日| 欧美人人曰人人操人人射射 | 精品日韩人妻视频| 人妻天天操天天爽视频免费| 97日亚洲欧美| 日本片日本片祼观看网站在线看中文版网页在线看 | 60秒免费视频| 综合五月婷婷亚洲一区| 久久久性爱视频| 18禁看网站一区| 加勒比在线视频| 久久久少妇| 女同亚洲欧美一二三区久久电影| 91制服丝袜中文字幕| 亚洲操操操| 国产精品欧美在线观看| 人妻AV 中文字幕的| 香蕉视频精品亚洲一区二区三区在线播 | 极品粉嫩少妇视频| 天堂а√在线最新版在线| 好好的日:com久久九九| 一类av片在线看| 久污| 一区二区三区激情在线观看| 青青草AV色| 久久久久人妻| 91色拍| 宗合情欲网| 久久无码成人| 好一吊区二区| 999在线电影香蕉| 欧美精品成人一区二区在线观看 | 一级乱伦网站| 91骚妇| 亚洲天堂7777| 欧洲精品二区| 欧美亚综合色图| 日韩国产欧美伦理在线| 亚洲高清男人天堂| 色噜噜狠狠色综合日日| 日本成人在线不卡一区二区三区 | 啪啪视频亚洲第一| 九九九九九九九| 五月天啪啪| 自拍内地三级在线观看| 伊人色综合欧美| 大香蕉av在线| 乱操乱伦AV| 久久 久久国内精品亚洲| 91GD.COM| 中文字幕在线免费观看2| 精品国产国产AV| 国产伦精品一区二区三区在线观| 久草加勒比一区在线| 极品粉嫩少妇视频| 婷婷亚洲综合| 无码高清操逼网址| 婷婷精品久久av影视| 日韩 人妻 精品| 国产精品免费视频人成| 中文字幕一区二区视频在线观看| 东京热精品97综合网| 久久99久久99久久99人受| 情趣丝袜无码操逼视频| 96国产精品| 五十路熟女工口| 色播综合| 黄色电影观看久久9| 日日摸天天爽夜夜欢| 亚洲的天堂网| 亚洲成人一二三区| 91精品黄在线观看| 黄片国产精品一区二区| 日韩啪啪视频| 久久久久人| 嗯嗯嗯不要不要免费视频| 国产 v乱码一区二| 色y情视频免费看| 国产精品久久蜜乳av| 精品人妻一区春色| 精品.99999| 成人婷婷丁香| 粉嫩在线一区二区懂色| 日本一区视频在线观看| 不卡日本一区二区| 草久在线| 无码精品啪啪啪一区二区三区三州 | 91久久婷婷| 欧美日韩97在线| 日韩欧美丝袜诱惑| 日本精品人妻少妇一区二区| 日本欧美成人片AAAA| 99精品成人免费看| 老熟妇一区二区三区…| 国产精品日本无码A片| 无码78| juliaann丝袜| 久操免费电影| 综合情欲网| 国产自产22区| 欧洲亚洲人人爽爽视频| 少妇内射www在线观看视频| 肉丝网站91| 狠狠躁AV| 中文字幕国产精品1区| 91 刺激在线| 69人妻精品一区二区绯色| AV综合中文字幕干| 国产精品免费视频不卡| 在线观看色视频| 伊人久久在线视频观看| 男女激烈网站最新| 国产在线激情视频| 免费一级精品啪啪视频| 国产乱伦性爱区| 欧美伊人久久综合网| 国产精品探花色| 最新国内自拍av免费| 性videos欧美熟妇hdx| 国产欧美日本亚洲精品| 国产精品久久久久久高清无码免费看| 伊人热综合| 欧美日韩黄片精品在线| 在线岛| 秋霞久久亚洲精品成人| 日韩 欧美 另类 人妻| 新婚人妻扶着粗大强行坐下| 自拍偷拍2025在线观看| 欧美久热| 色香阁在线| 97综合国产精品高潮久久| 久久久中文版| 亚洲人精品午夜不卡| 国产97色在线 | 亚洲| 色臀AV| 日韩免费一级性爱视频| 国产在线强奸视频| 欧美性爱视频免费一区一A | 欧美人妻少妇| 日B操| 视频黄色国产一级| 色爱国产| 精品人妻一区二区三区-国产| 天天综合影院91| 97资源站久久| 亚洲九九九| 99re热有精品视频国产| 激情啪啪拍91| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 啊啊啊不要好疼视频| 中文字幕制服欧美久久一区| 五月开心久久AV官网| 精品人妻一区二区免费看| 肉动漫无遮挡h在线观看| 久草视频在线视频在线视频在线观看| 破苞ⅩXXX性无码动漫无码| 亚洲人妻一区二区三区| 日韩啪啪啪视频| 欧美热图99| 岛国激情视频在线观看| 毛片电影一区二区三区| 九九十八精品| 亚洲自拍小说| 国产成人超碰在线| 久久草在线综合视频| 啊啊啊好湿国产一二| 国产精品69久久久久久久| 在线日韩日本亚洲国产| 日韩三级天堂在线观看| 熟女在线视频| 小电影欧美91| 中文字幕日本久久| 亚洲二区精品在线观看| 五月激情在线| 99xav| 欧美极品少妇| 校园春色 欧美| 国产一级137片内射麻豆| 人人看人人摸人人色| 久久久久久久久国产| 亚洲在线a| 熟女网站最新| 亚洲淫色网中文| 男人综合网| 国产综合永久精品日韩鬼片| 国产天天骚| 久久久久99精品成人片蜜臀| 人人玩人人添人人澡免费| 怡红院视频在线| 91中文字幕在线观看| 五月婷网站| 久久精品一区| 极品色| 久久大香蕉| 女人18精品一区二区三区| 超碰国产精品久| 色第一页| 中文字幕av亚洲精品| 色婷婷影院| 啊啊啊 在线| 久久久久久久亚洲Av无码| 涩爱AV在线| 日韩无码极品| 亚洲色吧网| 78操B| 91粉嫩萝控精品福利网站_精品影音先锋国 | 无码伊人久久大杳蕉中文无码| 国产亚洲日本| 岛国网址国产| 亚洲 另类 丝袜 自拍 动漫| 国产精品成人久久一区二区三区 | 秋霞一集毛片观看| 久99久视频精选| 亚洲熟女av中文字幕| 五月开心网| 超碰97 线线 在现| 日韩精品区二区三区不卡| 超碰人人干天天射| 久久综合99| 欧美精品xxxwww| 熟妇艹鸡八| 成人性爱AV在线免费观看| 操美女人妻| 内射老妇BBWX0C0CK| 亚洲欧美性生活| 强奸乱伦AV一天堂网| 亚洲av总站| 免费日韩黄片| 日韩少妇在线视频| 国产人妖视频一区在线观看| 后入式视频国产自| 欧美日韩操逼嗦吊| 78精品在线| 天天肏美女| 国产日韩色综合| 久久成人午夜狠狠| 日本午夜久久电影| 少妇淫妇久久久久久久| 看看小穴| 精品国产一区二区三区在线播出| 国产白丝在线| www网站黄| 射久久| 99啪啪| 日本色色的视频| 超碰97综合| 欧美狠狠操| 狠狠色狠狠色狠狠五月| 欧美啪啪啪91| 草b在线| 日本女优在线视频福利| 欧姜老司机| 97人人爱人人做人人乐| 亚洲国产成人精品无码专区| 欧美九九九| 天天综合网91入口| 中文字幕成人理论在线| 日本大香蕉综合网| 中文字幕免费观看| 一级A片女人高潮叫床| 欧美综合网在线| 性性欧美| 成人婷婷丁香| 中文字幕亚洲热播人妻| 伊香蕉综合久久久久久久噜噜噜| 欧美色图片91| 中日高清无码操逼视频| 国产精品白领在线观看| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 国产精品视频麻豆入口| 亚洲Av诱惑| 色欲色香天天天综合网www-亚洲综合国| 91精品国产高清久久久久久,亚洲成人 | 嗯嗯啊啊操我| 久久久熟女一区| 人人污日韩一区二区| 91干熟女| 韩国一级婬片A片无码天美| 亚洲毛片久久| 国产久久男人天堂| 色婷婷aV一区二区三区麻豆综合 | 日韩本不卡视频在线观看| 青青草视频导航官网| 人人摸人人干| 国语对白在线播放视频| 欧美福利视频啊啊啊啊| 亚洲中文字幕av| 久久熟女久| 97 超碰 人人做 人人爱| 婷婷99| 在线强奷到舒服的无码视频 | 五月色丁香| 国产一级αv免费看片| 国产精品99精品视频网站| 精品国产乱码久久久A| 另类成人首页一区| 国产成自自拍在线观看| 国模限制级电影| 久久久激情| 日韩欧美亚洲一区二区三区影院| 强被迫伦姧在线观看无码网站| 高清视频一区| 日韩欧美三级| 蜜桃臀AV在线| 伊人伊人LD| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 日本操大逼| 91影库| 亚洲AV秘无码一区..| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 好舒服视频| 黄色不卡视频| 熟妇艹鸡八| 亚州综合电影| 精品美女在线视频| 色爱综合网欧美| 91jk色拍| 九热大香蕉| 国产传媒1234区| 欧美极度丰满熟妇hd| 精品九区| 97亚洲色图| 久久精品国产亚洲粉嫩| 精品国产乱码久久久久久久| 大色网久久| 91成人亚洲色图| 青青草大香蕉视频| 性欧美91| 欧美懂色综合网| 亚洲欧美成人网站AAA| 久久久久亚洲Av无码专区老牛影视| 欧美资源| 国产精品成人AV片免费看网站| a片在线播放| 亚洲精品成人动漫在线| 欧美日韩日产免费网站看| 欧美性爱中文字幕无线码| 大香网站| www.色婷婷色综合|