久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

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

Chrome插件MV3遷移:Manifest.json完整字段解析與避坑指南

Chrome插件MV3遷移:Manifest.json完整字段解析與避坑指南 1. 為什么現在還要重新啃 Manifest.jsonMV3 的一場強制遷徙2023 年初開始Chrome Web Store 就關閉了 Manifest V2 插件的新提交通道到 2024 年更是全面停止了對 MV2 擴展的支持。這意味著什么如果你手上還有一套用browser_action、background.scripts寫的老插件哪怕它運行得好好的也會在用戶瀏覽器里被強制禁用取而代之的是一個灰色圖標加上已停用的提示。很多開發(fā)者就是在這個節(jié)點上被迫開始讀 Manifest.json 文檔的我也不例外。當時我手上有三個線上插件要遷移翻遍官方文檔和各類碎片文章發(fā)現了一個尷尬的事實Manifest V3 的字段說明散落在不同頁面很少有文章能從頭到尾把所有字段講清楚更沒有幾篇能告訴你這個字段在 MV3 里已經改了、那個字段千萬別照舊填。如果你正準備開發(fā)一個新的 Chrome 插件或者正在為老插件做遷移那么 Manifest.json 就是你繞不開的第一道門。它不只是一個聲明文件它決定了你的插件能拿到什么權限、能跑哪些代碼、能在什么頁面里注入腳本、UI 長什么樣。我在做遷移的過程中因為字段理解偏差踩了不少坑有些坑在官方文檔里壓根不會寫。這篇文章我就按照自己實際操作過的順序把 MV3 版本 Manifest.json 的字段從頭到尾拆一遍重點標注那些和 MV2 差異巨大、特別容易翻車的地方。文章適合三種人第一次寫插件的新手、從 MV2 遷移的老手、以及想在發(fā)布前自查一遍配置細節(jié)的開發(fā)者。在進入逐字段分析之前先想明白一件事MV3 的整體設計思路說白了就是收緊權限、消滅常駐后臺、禁止遠程代碼。這三個原則幾乎解釋了 Manifest.json 里所有字段的增刪改變化。你只有把這三個原則刻在腦子里再看字段列表時就不會覺得有些限制莫名其妙了。2. 三個看不見但決定一切的 MV3 設計原則2.1 常駐后臺頁被砍掉一切邏輯交給 Service WorkerMV2 時代我們習慣在后臺配置一個background.html里面掛一個長期運行的 JavaScript 環(huán)境用來監(jiān)聽事件、維護狀態(tài)、處理消息。這個頁面只要瀏覽器開著就會運行哪怕什么都不做也在消耗內存。MV3 直接把這種模式廢了換成了 Service Worker——一種用完即走的腳本環(huán)境插件被觸發(fā)時才啟動、空閑一段時間后自動休眠下次再被事件喚醒時重新執(zhí)行。這個設計對 Manifest.json 最直接的影響就是background字段的寫法完全不同了。MV2 里常見的是background: {scripts: [bg.js], persistent: true}到了 MV3 變成background: {service_worker: bg.js}。別小看這個變化persistent字段整個消失了因為 MV3 里不存在持久后臺的概念而且service_worker只能指定一個文件不能再像 MV2 那樣寫一個數組。如果你想按模塊拆分代碼需要在background.service_worker.type里設置為module用 ES Module 的方式來組織代碼。我剛遷移時在這個坑里卡了兩天我把老代碼拆成了background.js和utils.js兩個文件按照 MV2 的慣性把它們寫進數組結果 MV3 直接報錯Service worker cannot be an array改成只保留一個入口文件后又發(fā)現我在background.js里用import導入utils.js的函數報錯說import語句只能用在外層 module 環(huán)境。最后才發(fā)現要加type: module。這一個小字段官方文檔里放在不起眼的角落但不知道它的話ES Module 寫法就是跑不通。2.2 權限邊界大幅收窄h(huán)ost_permissions 被單獨拎出來MV2 里所有權限都堆在一個permissions數組里包括tabs、storage、http://*/這類站點權限。MV3 把訪問哪些網站這種高危權限單獨拆成了一個字段host_permissions和permissions分開放置。邏輯很清楚permissions管的是 Chrome 提供的 API 能力比如storage存儲、alarms定時器、clipboardRead讀剪貼板而host_permissions管的是你的腳本能跑在哪些域名上比如https://*.example.com/*。為什么要這么拆因為在 Chrome 的權限提示 UI 里用戶可以清楚地看到這個插件能讀取你在所有網站上的數據而不會把它和插件能使用存儲 API混為一談。如果你只聲明了host_permissions而沒有在permissions里聲明對應 API那么你能往頁面上注入腳本但未必能調用chrome.storage反過來你聲明了storageAPI 權限但沒聲明任何host_permissions你的腳本就哪兒也去不了。這兩個字段是配合關系不是替代關系。我在給一個網頁標注工具做遷移時把permissions: [activeTab, scripting, storage, https://*/*]直接復制到了 MV3Chrome 倒是沒報錯但審核時被拒了理由是權限申請范圍過大。后來我改成permissions: [activeTab, scripting, storage]加上host_permissions: [https://*/*]的組合。這里有個隱藏邏輯如果只用activeTab其實可以完全不用host_permissions因為這個權限會讓你在用戶主動點擊插件圖標時獲得當前標簽頁的一次性訪問權。能少聲明就少聲明審核更容易通過用戶安裝時的安全感也更強。2.3 遠程代碼全面禁止CSP 規(guī)則從字符串變成對象MV2 時代在content_security_policy里你可以寫script-src self https://some-cdn.com;然后直接在插件頁面里引入遠程 CDN 的腳本。MV3 一刀切了推廣線上 CSP 只允許self不允許任何遠程源、不允許eval、不允許wasm-eval。這意味著你的插件代碼、依賴庫、所有邏輯都必須打包進插件本地的文件里想在運行時從服務器拉腳本沒門。對應到 Manifest.json 里MV3 的content_security_policy字段變成了一種對象結構包含extension_pages和sandbox兩個屬性。extension_pages管的是插件自帶的頁面比如彈窗頁、設置頁、獨立標簽頁這個值基本只能設為script-src self; object-src self;幾乎沒有操作空間sandbox才是留給你自由發(fā)揮的空間如果你需要做一些不安全的操作比如通過eval執(zhí)行動態(tài)代碼可以讓這些代碼在沙盒頁面里跑。我之前寫過一個小工具需要在彈窗頁里動態(tài)拼一段模板字符串然后執(zhí)行MV2 里靠eval就解決了。遷到 MV3 后發(fā)現整個彈窗頁控制臺全是 CSP 報錯代碼一行都跑不了。最后只能把動態(tài)執(zhí)行的部分單獨拆到一個沙盒 iframe 頁面里然后在主頁面和 iframe 之間用postMessage通信。這個改動上線后反而更穩(wěn)定了因為沙盒頁面里的錯誤不會影響主頁面。如果你習慣了在插件里從遠程服務器拉取最新腳本做熱更新MV3 下這個方案基本是死路必須改為發(fā)版更新。3. 基礎信息字段逐個拆name、version、icons 里的小監(jiān)獄3.1 manifest_version、name、version格式不對連加載都失敗先說最基礎但最容易被忽略的。manifest_version在 MV3 下必須寫整數3而且必須是數字類型不能寫字符串3。這是 Chrome 在解析時直接強校驗的寫錯的話插件在chrome://extensions頁面會顯示無法加載清單文件。name字段限制是 45 個字符description限制是 132 個字符。這兩個都算好說真正坑人的是version。MV3 要求版本號最多 4 段數字每段只能是 1 到 2 位數字也就是說1.0、1.0.2、1.2.3.4都合法但1.0.0.0.0不合法1.10合法因為10是兩位數1.100就出問題了——等等每段允許 1 到 2 位數字所以1.100不合法。很多開發(fā)者在這里翻車是因為他們用日期當版本號比如2024.12.31看起來沒問題但如果月份或日期變成三位數呢而且 Chrome Web Store 的版本號必須是遞增的你傳了一個比線上更低的版本號上去直接給你拒回來。我自己的做法是維護一個簡單的遞增規(guī)則主版本號.功能版本號.修復版本號比如2.4.1。每次提交前先在本地跑一遍chrome --pack-extension打包驗證確保版本號能被解析。如果你用自動化發(fā)布腳本記得在腳本里加一個版本號遞增的檢查邏輯不然 CI 里很容易因為手滑把版本號填低了導致發(fā)布失敗。3.2 default_locale、key、icons平時不起眼缺了就出亂子default_locale這個字段是在你要做國際化i18n時才需要的。一旦你設置了它就必須在插件根目錄下建一個_locales文件夾里面至少有一個和default_locale值對應的語言文件。比如default_locale: zh_CN時_locales/zh_CN/messages.json必須存在否則插件加載直接報錯。這個字段的設計初衷是告訴 Chrome 你的默認語言是什么然后 Chrome 會優(yōu)先加載用戶瀏覽器語言對應的 messages 文件找不到再回退到默認語言。key字段可能是所有字段里最容易被誤解的一個。它不是你在 Manifest.json 里手寫的而是 Chrome 在你打包插件時生成的。它的作用是固定插件的 ID這樣無論用戶從商店安裝還是你用--load-extension本地加載插件 ID 都是一樣的。這對依賴固定 ID 的開發(fā)場景特別重要比如你通過externally_connectable讓別的擴展和自己通信時ID 變了就全斷了。如果你在開發(fā)環(huán)境里發(fā)現插件 ID 每次刷新都不一樣那大概率是沒設置key字段。怎么拿 key先在瀏覽器里加載一次未打包的擴展然后在chrome://extensions頁面開啟開發(fā)者模式查看擴展詳情復制它的 ID再到擴展目錄里用工具生成對應 Base64 的 key填進 manifest 后重新加載就能固定 ID 了。icons字段聲明 16、32、48、128 四種尺寸的圖標很多新手會把四個尺寸都設置成同一張圖片這其實不太對。16 和 32 是頂欄工具欄用的圖標太小的話會糊48 是擴展管理頁大圖標128 是商店列表頁圖標。最省事的方案是準備一張 128x128 的源圖然后用工具導出四個尺寸。注意icons里的路徑是相對 Manifest.json 所在目錄的不要用../這種寫法會解析失敗。4. 核心功能字段全面拆解從 background 到 content_scripts 到 action4.1 background.service_worker注冊規(guī)則與生命周期控制在 MV3 里background字段最常見的寫法是這樣background: { service_worker: service-worker.js, type: module }service_worker的值是相對于插件根目錄的路徑。type設為module時這個 worker 會以 ES Module 的身份執(zhí)行你可以在里面用import語句引入其他模塊這是目前最推薦的寫法。但注意MV3 的 Service Worker 有幾個和普通頁面腳本完全不同的特性理解它們才能正確配置字段它是事件驅動的空閑約 30 秒就會被終止。所以你不能在 worker 里掛一個全局變量長期保存狀態(tài)狀態(tài)要存到chrome.storage或 IndexedDB。監(jiān)聽器必須在頂層同步注冊。如果你在chrome.runtime.onInstalled.addListener的回調里再注冊其他事件的監(jiān)聽worker 休眠后這些監(jiān)聽器可能丟失。在 worker 里訪問 DOM 是不行的document、window這些對象都不存在。我早期犯過一個錯我在 worker 里用了setInterval定時去輪詢接口想著這跟 MV2 的后臺頁一樣會一直跑。結果每次休眠喚醒后定時器就斷了甚至接口請求都會因為 CORS 問題失敗。后來我把定時任務改成使用chrome.alarmsAPI配合chrome.storage存儲上一次的輪詢時間戳才做到了永久任務。如果你原本在 MV2 里用setInterval做了很多周期任務遷移到 MV3 時務必要全部改成chrome.alarms。4.2 content_scripts注入時機與匹配規(guī)則的細節(jié)content_scripts字段在 MV2 和 MV3 里形式差不多但有幾個細節(jié)需要注意。一個典型的配置content_scripts: [ { matches: [https://*.example.com/*], js: [content.js], css: [content.css], run_at: document_idle, all_frames: false, world: ISOLATED } ]matches是匹配規(guī)則寫法是 Chrome 匹配模式match pattern比如https://*/*、http://localhost/*、all_urls。注意不要在matches里出現http://localhost:8080/*這種帶端口的寫法端口在匹配模式里是不支持的如果你要匹配本地開發(fā)地址得寫成http://localhost/*然后靠include_globs或 JS 里自行判斷端口。run_at有三個可選值document_startDOM 剛開始構建、document_endDOM 解析完、document_idle頁面加載完默認值。如果你要在頁面加載早期攔截某些請求就需要document_start如果只是往頁面上加個按鈕document_idle足夠。這個字段直接影響腳本的執(zhí)行時機改錯了會導致找不到 DOM 元素。world是 MV3 新增的字段取值為ISOLATED默認或MAIN。ISOLATED表示腳本運行在獨立的 JavaScript 環(huán)境中和頁面本身的 JS 環(huán)境隔離——頁面里的全局變量你訪問不到你定義的變量也不會污染頁面MAIN則表示腳本注入到頁面自己的世界可以和頁面腳本共享 DOM 和全局變量。需要注意的是MAIN模式下你的腳本等于和頁面里其他腳本平起平坐頁面腳本可能會惡意修改你的方法所以除非真需要操作頁面自己的全局函數否則保持默認ISOLATED就好。4.3 action 與 commands工具欄按鈕、彈窗和快捷鍵MV2 里的browser_action和page_action在 MV3 被統(tǒng)一成了action。因為很多插件其實不需要區(qū)分工具欄按鈕一直可見和只在特定頁面可見Chrome 干脆合并了統(tǒng)一默認可見然后用程序控制在特定頁面禁用按鈕。Manifest.json 里action字段的典型寫法action: { default_popup: popup.html, default_title: 點擊打開面板, default_icon: { 16: icons/icon16.png, 32: icons/icon32.png } }default_popup指定點擊按鈕后彈出的 HTML 頁面路徑這個頁面有自己的獨立窗口寬高受限最高 800x600。如果你不想用彈窗而是想在點擊按鈕后通過chrome.scripting.executeScript執(zhí)行一段腳本那就不需要default_popup只需要在background里監(jiān)聽chrome.action.onClicked事件。注意一個坑一旦設置了default_popupchrome.action.onClicked事件就不會觸發(fā)了。有時我在調試時發(fā)現點擊按鈕沒反應第一反應是去看 onClicked 監(jiān)聽器結果發(fā)現是上次忘了刪default_popup。兩個機制是互斥的只能選一個。commands字段用來聲明快捷鍵它不屬于action但經常配合action使用。例如commands: { toggle-feature: { suggested_key: { default: CtrlShiftY, mac: CommandShiftY }, description: 開關某項功能 } }當你在 manifest 里聲明了commands需要在一個頁面里調用chrome.commands.onCommand.addListener來監(jiān)聽觸發(fā)并執(zhí)行對邏輯。系統(tǒng)快捷鍵有保留鍵位比如 CtrlShift某些特殊鍵如果沖突Chrome 會在chrome://extensions/shortcuts頁面顯示為可手動修改所以測試時如果沒有生效先去看看是不是被其他軟件或插件搶占了快捷鍵。4.4 options_page 與 options_ui設置頁的兩種形態(tài)設置頁面有兩種聲明方式。options_page是老的寫法設置頁會作為獨立的標簽頁打開相當于一個完整的網頁這個頁面里可以自由使用chrome.*API。options_ui是新寫法可以配合open_in_tab: false讓設置頁在一個嵌入式面板中打開。兩者都只能出現一個同時寫進 manifest 的話 Chrome 會優(yōu)先使用options_ui的設置。options_ui: { page: options.html, open_in_tab: true }如果用嵌入式設置頁最好不要在options.html里使用window.close()這類操作因為頁面不是在獨立標簽頁中打開關閉邏輯可能不受控。另外有些插件希望讓用戶右鍵圖標菜單里直接進設置頁這個需要你在chrome.runtime.openOptionsPage()里手動觸發(fā)即便沒有寫options_ui這個函數依然可用因為 Chrome 會自動兜底。5. 權限和資源聲明MV3 最容易審核被拒的區(qū)域5.1 permissions 和 host_permissions怎么寫才既不報錯也不過度索權permissions里的 API 權限非常多開發(fā)中最常用的大概是這些storage使用chrome.storage.local或chrome.storage.session存取數據scripting使用chrome.scripting.executeScript/insertCSS動態(tài)注入腳本activeTab用戶主動交互時獲得當前標簽頁的臨時訪問權限tabs讀取標簽頁的 url、title 等敏感信息不需要注入腳本時常常沒必要申請alarms使用定時器clipboardRead/clipboardWrite讀寫剪貼板downloads主動觸發(fā)下載notifications桌面通知別把permissions當成許愿池凡是你能想到的 API 全往上堆。Chrome Web Store 審核時會評估權限是否合理申請了一堆用不到的權限會被打回。而且權限多用戶在安裝時看到的警告信息也多很影響轉化率。我見過有些插件只是做個網頁高亮標注卻申請了tabs和all_urls這些權限完全可以通過activeTab按需獲取。host_permissions則用來聲明腳本能運行在哪些站點上。注意如果你同時在content_scripts里寫了matches那么host_permissions的作用不是重復聲明匹配規(guī)則而是讓你的插件在后臺 Service Worker 和彈窗頁面里也能進行跨域請求、使用chrome.tabs.query讀取這些站點的標簽數據等。也就是說content_scripts 匹配規(guī)則和 host_permissions 是兩套體系后者決定插件自身的代碼能訪問哪些網絡資源前者決定注入到頁面里的腳本能出現在哪些頁面。一個比較常見的組合是使用activeTabscripting來代替all_urls的權限申請。這樣用戶點擊插件圖標時你的腳本才被注入到當前頁面不需要提前聲明所有域名。這個方案在權限審查上極其友好缺點是用戶第一次使用時不夠自動需要多點一下圖標。5.2 web_accessible_resources語義從可訪問資源變成特定頁面可用資源MV2 的web_accessible_resources就是一個簡單的資源路徑數組聲明了之后任何網站上的腳本都可以通過chrome.runtime.getURL拿到這些資源的地址并訪問。這在當時引發(fā)了很多濫用比如惡意網站可以通過訪問你的插件資源來探測你是否安裝了某個插件。MV3 把整個機制改了變成對象數組每個對象里必須包含resources和matches表示這些資源只允許在這些匹配的頁面里被訪問。web_accessible_resources: [ { resources: [injected.js, images/*.png], matches: [https://*.example.com/*] } ]這個字段通常和content_scripts中注入的腳本配合使用你的內容腳本想要動態(tài)加載插件里的某個資源就得把該資源聲明為 web accessible否則頁面端的 JavaScript 無法讀取。還有一個新屬性use_dynamic_url把它設為true時Chrome 每次啟動插件會生成一個隨機的資源路徑前綴可以防止網站固定路徑來探測插件。這個屬性特別適合做隱私保護類插件值得用起來。5.3 content_security_policyMV3 里它基本沒有發(fā)揮空間正如 2.3 節(jié)說的MV3 下content_security_policy已經變成content_security_policy: { extension_pages: script-src self; object-src self;, sandbox: sandbox allow-scripts; script-src self unsafe-eval }如果你沒有特殊的沙盒需求可以完全不聲明extension_pagesChrome 會使用默認策略。一旦你自己聲明了就只能比默認策略更嚴格不能更寬松所以沒必要去填一個和默認一樣的值。如果你真的需要eval或者new Function來動態(tài)執(zhí)行代碼那就得把相關頁面聲明為sandbox。比如你在插件目錄下建了一個sandbox.html然后在sandbox里給它指定 CSP就可以在這個頁面里自由執(zhí)行eval但這個頁面不能直接調用chrome.*API只能通過postMessage和父頁面通信。我在做模板渲染工具時就是這么干的渲染邏輯放在沙盒頁面數據通過消息傳給父頁面對于合法用途來說這個是可行的但絕大多數情況你應該用正常的函數引用或Function.prototype的安全替代方案避免引入代碼注入風險。5.4 optional_permissions 與 optional_host_permissions把權限申請延后到運行時這兩個字段在 MV3 里同樣存在作用是聲明插件可能需要的權限但安裝時不會提示等到用戶實際操作到對應功能時通過chrome.permissions.request接口彈窗申請。這種模式可以顯著降低首次安裝的心理門檻。optional_permissions: [downloads], optional_host_permissions: [https://api.example.com/*]要注意optional_permissions里的權限不能和permissions里的重復用戶一旦授予了可選權限之后chrome.permissions.remove可以再取消。如果你的插件核心功能需要某個權限盡量不要把它放到 optional 里否則用戶拒絕授權你的主流程就跑不通了。合理用法是核心權限在安裝時聲明周邊功能權限比如導出 PDF要用到downloads可以推遲到用戶點擊導出按鈕時再申請。6. 那些容易被忽略的邊緣字段與綜合配置示例6.1 minimum_chrome_version、incognito、externally_connectableminimum_chrome_version指定你的插件最低能支持的 Chrome 版本。MV3 本身要求 Chrome 88 及以上但如果你用到了更新的 API比如chrome.scripting中較新的方法就要把最低版本調高。這個字段常常被忽略導致部分老版本瀏覽器用戶反饋插件裝上了但功能不生效我在自己插件里就把minimum_chrome_version設成了109因為這個版本之后 MV3 的穩(wěn)定性才真正到位。incognito字段控制插件在無痕模式下的表現取值有spanning默認在有痕和無痕模式間共享、split每個模式單獨運行一個后臺、not_allowed無痕模式下完全禁用。如果你的插件需要緩存一些用戶數據最好明確設為split避免隱私數據在無痕和有痕之間串臺。externally_connectable字段用于聲明哪些外部擴展或網站可以通過chrome.runtime.connect或chrome.runtime.sendMessage給你的插件發(fā)消息。配置時可以用ids指定擴展 ID也可以用matches指定網頁域名。這個字段安全相關建議收斂到最小范圍不寫的話默認為不允許任何外部來源通信。6.2 一份可直接復制修改的最小完整 Manifest.json把前面講的字段綜合到一起給出一個我目前線上插件實際在用的配置骨架{ manifest_version: 3, name: 我的網頁助手指南, version: 1.2.0, description: 一個用于網頁標注與數據提取的示例插件, minimum_chrome_version: 109, icons: { 16: icons/icon16.png, 32: icons/icon32.png, 48: icons/icon48.png, 128: icons/icon128.png }, action: { default_popup: popup/popup.html, default_title: 打開助手 }, background: { service_worker: background/service-worker.js, type: module }, content_scripts: [ { matches: [https://*/*, http://*/*], js: [content/content.js], run_at: document_idle, world: ISOLATED } ], permissions: [storage, scripting, activeTab], host_permissions: [https://*/, http://*/], web_accessible_resources: [ { resources: [injected/injected.js], matches: [https://*/*, http://*/*], use_dynamic_url: true } ], options_ui: { page: options/options.html, open_in_tab: false }, commands: { toggle-annotation: { suggested_key: { default: AltShiftA }, description: 切換標注模式 } } }這份配置覆蓋了絕大多數插件的核心需求。你要根據自己的功能刪減不需要它就用不到不要照抄。6.3 加載與排錯流程從本地加載到控制臺報錯定位寫完 Manifest.json 后打開chrome://extensions開啟右上角的開發(fā)者模式點擊加載已解壓的擴展程序選擇插件目錄。如果 Manifest.json 有 JSON 語法錯誤或字段校驗不通過這里會直接給出報錯信息具體到哪個字段有問題照著改就行。如果提示清單文件缺失或不可讀先檢查文件編碼不要用帶 BOM 的 UTF-8Chrome 對 BOM 的容忍度比較低。加載成功后去擴展詳情頁點擊查看錯誤按鈕能看到 Service Worker 和各個頁面的報錯日志。我在調試時遇到過一個詭異現象插件明明加載成功了但一點擊圖標就縮回去沒任何反應。打開錯誤面板才發(fā)現是popup.html里引用的一個本地 JS 文件因為路徑寫錯 404 了而彈窗頁面一有 JS 錯誤就會自動關閉表現的就像點了沒反應。這類問題排查時錯誤信息面板比什么都好使。7. 我實際踩過的坑和最終的排錯結論說實話Manifest.json 的字段本身不算復雜真正麻煩的是 MV3 整體架構改變帶來的連鎖反應。有幾個坑我特別想單獨拎出來說因為它們在官方文檔里不會寫但幾乎每個遷移者都會遇到。第一個坑是content_scripts里用了include_globs后發(fā)現腳本就是不在預期頁面上運行。include_globs和exclude_globs是匹配模式的補充規(guī)則格式和 glob 相似比如*://*.example.com/*。但它們和matches的交集邏輯比較繞只有同時滿足 matches 和 globs 規(guī)則才會注入。如果你習慣了只寫 matches突然加了 globs反而會縮小注入范圍。我的建議是能用 matches 解決的絕不寫 globs否則調試時很容易懷疑人生。第二個坑是 MV3 下沒法在插件內部使用XMLHttpRequest訪問普通 HTTP 接口必須使用fetch。這個不是 Manifest.json 字段的問題但很多人把報錯Service worker cannot use XMLHttpRequest當成 manifest 配置錯誤翻遍配置文件也找不到答案。實際上這是 Service Worker 環(huán)境的限制改用fetch即可。第三個坑最隱蔽某些 API 在 MV3 的permissions里寫錯了也不報錯功能卻靜默失敗。比如我用chrome.storage.sync時忘了在 permissions 里聲明storage結果是同步功能完全不生效但瀏覽器控制臺里不打印任何錯誤只有在你調用chrome.runtime.lastError檢查時才會看到。所以寫完 manifest 后建議逐個功能點走一遍并且通過chrome.runtime.lastError檢查異步調用是否真的成功。最后一個排錯結論如果插件在chrome://extensions頁面加載時報Extension must be signed in to use this API或者一些莫名其妙的錯誤優(yōu)先看你是不是同時開了 Chrome 的多用戶配置、或者用了企業(yè)策略限制了擴展權限。這些情況下的報錯信息往往指向 manifest 字段但根源其實在瀏覽器運行環(huán)境別在上面空耗時間。Manifest V3 的遷移陣痛是真實的但理解它背后的安全優(yōu)先、資源友好思路之后你會發(fā)現每個字段限制都有它存在的理由。上面這些內容是我自己在遷移兩個生產插件過程中邊看文檔邊試錯總結出來的希望你能避開我走過的彎路花更少的時間把 Manifest.json 一次寫對。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
亚欧洲日韩国产精品| 国产成人久久久精品免费AV| 蜜桃视频啊啊啊啊| 欧美性猛交美女自慰91| 久久久久亚洲Aⅴ无码| 麻豆一区二区三区在线看 | 2025亚洲男人天堂| 五月天激情网图片| 久久一区二区高清免费| 久久成年片色大黄全免费网站| 96国产污污污丝袜| av婷婷色网| 美女裸体无遮挡永久免费观看网站| 黄色成品网站| 精品妇女一区二区三区| 五月婷婷五月天| 亚洲最大的综合性av| 91无码西班牙视频在线| 色九久| 色天使AV天堂| 亚洲第一页色网| 天堂综合| 无卡一区=区| 欧美78| 少妇人妻无码| 欧美三级免费伊人| 久久久久久久九九九九九九| 国产精品交换一区二区| 天天做天天爱天天爽| 亚洲av无线观看| 国产免a费看黄片在线| 久久系列| 欧美成熟性爱精品| 91精品国产91久久福利| 日韩无码人妻| 亚洲黄色视频在线观看视频| 亚洲?V高清一区二区三区尤物| 欧美综合狠| 免费超碰97久久| 亚洲色图国产另类| 精品二999| 亚洲日韩青青草色月| 夜夜爽妓女| 欧美在线色图| 99热日| 欧美亚洲美少妇一区二区| 国产欧美一区二区| 欧美曰韩国产精品| 熟女久久| 青青草一区二区高清无码视频| 一区二区视频在线播放| 国产亚洲精品玖玖玖在线观看| 日本 色 导航| 99在线无码精品秘 入口黑人| 大香蕉免费3| 亚欧成人中文字幕一区| 99re6久热只有精品6在线直播| 青青网三级视频| 亭亭丁香激情| 久久久久99999| 99婷婷一区二区| 中文字幕第9页萱萱影音先锋| 日本一区二区三区午夜观看| 精品区国产区一区二区三区| 噜噜在线| 国产美女激情| 精品美女少妇一区二区| 国产乱伦亚洲| 熟妇人妻精品一区二区视频色欲| 日本天天吊| 久久久免费懂色| 大粗鳼巴久久久久| 亚洲密乳AV| 国产精品婬乱一级毛片彝族| 嗯嗯啊在线视频| 搡老女人老妇女老妇老熟女怎么读| 精品176精品2| 亚洲中文丝袜美腿诱惑字幕| 26UUU欧美日本| 日韩精品色呦呦| 人妻精品视频一区二区| 91撸色网 玖玖网 欧美| 久久美女国产| 国产操逼视频在线观看| 久9热| 成人线上超碰| 五月丁香六月婷综合成人综合| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 九九热精品| 殴美日韩m| 日韩 欧美 国产 麻豆| 91人人| 看黄片视频免费| 区一在线观看| 久久在线观看免费视频| 欧美激情亚洲色图| 欧美天天综合网版| 国产成人bd在线观看| 少妇 综合| av天堂加勒比| 亚洲欧美一区二区三区一猛片| 国产视频三区四区| 九九九九九九九九九国产精品 | 国产精品交换一区二区| 夜夜春夜夜操| 亚洲中文一区二区三区视频| 在线97在线| 亚洲欧美黄| 成人亚欧免费视频| 国产第二页| 黄色无码高清黄色无码网站| 久久久久久亚洲精品不卡人乳| 欧美色日| 欧美日韩性爱无码| 久久神马影院| 日韩精品中文字幕二区| 人妻大香蕉| 国产黄片在线免费观看| 欧美洲精品一级| 综合五月婷婷亚洲一区| 日韩久久.一级黄色片| 九九精品美女高溯喷水| 国产丝袜美女在线一区| 91人妻视频| 无遮挡又黄又刺激的视频| 九九色色| 日韩免费中文字幕视频| 搞中出视频在线观看| 国产狂喷潮在线精品| 久久国色天香香蕉| 国产一区二区成人av在线播放| 爱爱动态120秒| 国内外内射高清视频| 超碰在线看| 97亚洲色图| 色性综合| 影音先锋新男人| 青青草五月份天| 中文字幕一区日韩精| 玖玖爱视频网站| 国产精品视频精品一二| 欧美激情内射| 久久精品国产久精国产| 91oumei| a片久久久久久久久久久久 | 97国产精品在线观看| 久久男女激情视频网站| 色妺妺AⅤ| 久久久久久久久久久六六| 欧美狠狠| 秋霞午夜视频一区二区| 五月天偷拍| 少妇高潮九九九九| 久日综合网| 日韩精品亚洲专区在线影视| 九九九国产| 超碰公开久久网| 麻豆国产av网| 亚洲精品一区二区三区在线播放| 久久久久久久性爱| 少妇蹲下买菜露大唇0| 九九Av| 老司机福利青青草| 久久是精品| 欧洲色| 国产精品久久久久久久电影渣男| 亚洲有薄码区久久在线一区| 日韩在线视频1234| 亚洲成人美女无吗| 超碰97人妻| 伊人在线大香蕉视频久久| 丁香婷婷大香蕉| 欧美gv在线观看| 亚洲熟女少妇免费视频| 骚女高跟AV在线| 五月天婷婷综合| 久久精品午夜国产亚洲AV无码| 欧美后入式| 午夜成人福利影视| 亚洲影院小综合| 极品极品色影院| 欧美人人曰人人操人人射射| 男女性无套 免费九一| 国产精品动态一区二区三区四四| 91天天综合网,天天综合网| 国产精品久久久久久片| 久久久成人国产精品无码| 五码视频在线观看| 99.色网| 亚洲欧美中文日韩视频中国语| 麻豆综合一区av| 老熟女91视频| 青青草在线视频美女| 99蜜桃臀亚洲成人在线观看| 亚洲色图大香| 五月婷婷激情网| 欧美精品久久久久久久久88| 玖玖爱免费观看视频| 国产强奸91| 91美女视频在线观看| 日本亚欧爱爱| 亚洲中文sv| 日韩久草| 天天综合网~91综合网| 天天操天天日天天干| 亚洲男人天堂2012| 91丝袜美女| 人人乐大香蕉| 国内精品999| 欧美躁死她一区二区| 日韩黄色成人性爱| 亚洲天堂 视频你懂的| 密乳AV免费观看| 免费黄色片。| 99综合免费视频| 92午夜免费福利视频| 精品一区二区综合熟妇| 天天视频黄网站| 国产隔壁老王影院在线| 丁香五月综合| 蜜桃色色网站视频三区| 加勒比海人人操超碰在线| 欧美第二页午夜| 天天综合欧美黑人| 男人天堂2017| 中文字幕日韩人妻视频一区二区三区 | 97中文综合| 欧美91网| 欧亚性爱在线视频| 尤物一级在线免费观看| 欧美日韩色图片| 日本裸体久久色噜噜| 97se综合网| 夜精品久无码| 91熟女在线| 蜜臀久久99精品久久久久久无删减 | 91美女中出| 天综合网| 97国产天堂岛| 天美传媒精品一区二区| 亚洲黄色网址视频| 91人妻人人妻| 日韩 成人 有码| 国产AB视频| 传媒在线观看一区二区三区| 亚洲 日本 国产 综合| 免费的很黄很污的全部视频| 这里都是精品在线观看| 欧美少妇第一页| 久久久精品中文字幕麻豆| 色九九综合| 欧美九九爱| 久久日本熟妇熟色高清| 久操视频在线观看| 黑人无码一区二区| 欧美美女自慰一区二区三区| 任你干在线视频| 伊人加勒比| 欧美成人A天堂片在线观看| 欧美一区二区观看在线| 操人妻逼91| 素人伊尹大香蕉免费下载视频| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区 | 伊人AAA| 99久在线精品99re8a| 日日骚av| 亚洲国产精品有声| AV天堂电影网| 日本欧美不卡| 一区二区视频在线播放| 久插不卡| 人妻丝袜一区二区三区在线| 国产精品激情久久久久久久| 自拍欧美| 很很操在线| www.yw尤物| 久久久久无码一妻区| 欧美天天综合网| 婷婷啪啪| 老熟女综合网| 91五月天| 91宗合网| 激情网五月天| 一区二区日韩欧美久久| 欧洲自拍第一页| 天天操夜夜操狠很操| 成人贴图日韩欧美| 97免费在线观看| 五月色网| 97精品一区| 日本视频一区二区三区| 色呦色呦色精品| 蜜乳Av成人片网站| 精品一久久久| 澳门特级毛片免费观看| 粉嫩久久久极品| 亚洲AV噜噜狠狠网址蜜桃动漫| 97欧美精品综合| 91综合网| 国产人妻一区二区三区欧美毛片| 丰满美女一级毛片在线播放| 天堂射| 99性爱在线观看| 欧美激情久久久久| 3028国产精品| 亚洲少妇免费视频\| 亚洲av淫乱| 国产熟女自拍| 无遮挡猛进视频免费无限观看 | 国语av最新自产拍在线观看| 99re在线视频| 人、人、摸,人、人、草| 精品欧美日韩在线观看| 国产精品自产拍在线观看社区| 超碰精品人妻狠狠干| 国语av最新自产拍在线观看| 夜夜夜爽www精品视频| 99色在线| 黄片aaaaa一区| 亚洲诱惑天堂| 丁香五月天视频| 人妻久久一区二区三区| 丁香婷婷激情五月天无毒不卡| 日韩无码操逼片| 激情综合网一盗摄| 激情五月婷| 97色碰| 久久一二三四不卡 | 日本精品一区二区三区四区的功能| 香蕉在线一区二区三区| 人人贴人人摸| 欧美色图片色哟哟| 精品一久久久| 婷婷六月色| 国产一区二区三区白丝| 丰满人妻-区二区三区免费看 | 在线二区不卡| 日本不卡码黄色 | 超碰97人人乐| 九九热精品在线| 无码丰满熟妇一区二区浪潮AV| 夜夜免费视频| 97激情97激情| 99综合| 伊人久久在线视频观看| 午夜αv| 天天日骚逼熟女| 伊色综合天堂色97| 亚洲aV性爱| 99婷婷一区二区| 亚洲资源吧| 在线视频五十市| www.狠狠| 大香蕉丝袜一级片| 看一级特黄a大一片| 午夜男人的天堂| 亚洲污污网站| 亚洲精品天天影视综合网 | 日韩欧美亚洲自拍偷拍| 超碰色图| 日本布卡一区二三区| 1204av韩国| 麻豆天美电影一区二区| 抽插无码高清一区| 久久毛卡| 天天看天天在线精品| 神马久久午夜| 亚洲天堂资源在线| 农村少妇久久久久久久| 精品人妻一二三四区视频| 中文字幕在在线观看网站| 91久久久久久久久18| 91人妻素女| 久久久久久久九九九九九九| 亚洲 无码 偷拍| 中欧人妻丝袜中文字幕| 综合亚洲欧美| 日本影视久久免费| 欧美精品97| 九九九九亚洲| 欧美日本不卡在线| 精品一区二区三区丰满熟女-亚洲欧美一区| 日本一久是| 校园春色宗合网| 超碰97最新人妻| 久久夜嗨| 秋霞一区二区三区四区五区六区七区| 久久久久久久久久久久久久久乱码 | 黄页大片在线观看| 精品乱子一区二区三区99| 丰满少妇一区二区三区专区| 麻豆国产原创AV色哟哟| 好吊色一区| 91殴美大片| 欧美中文狠| 欧美999999| 色综合久久夜色精品国产天堂| 久久久久密臀一区二区| 久久宗合亚洲| 精品高清牛人盗摄一区二区三区中文字幕A片免费在线观看 | 日韩成人人妻网站| 亚洲欧美综合网 | 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 人妻丝袜美腿中文字幕| 久久91视频| 国产高清成人mv在线观看| 国岛片视频| 九九aV| 婷婷成人五月天| 亚洲男人的天堂一区二区| 欧美美女在线高潮999| 97 国产一区| 久久99深爱久久99精品| 老司机香蕉| 久久中出| 艹少妇网站| 色噜噜狠狠色综合日日| 大香蕉 222| 欧美韩国你懂得在线| 久久久久久99999国产精品| 96麻豆精品一区二区三区| 国产综合日韩伦理| 天天视频黄网站| 99精品在线播放| 一区=区三区视频| 丝袜高跟澳门91视频| 青娱乐91| 性爱乱伦网址| 97青娱乐超碰久久| 四方色播| 欧美日韩 强奸乱伦| 亚洲久热| 亚洲素人网| 亚洲97在线| 伊人一区二区在线播放| 99色色网| 91在线一起| 大屁股人妻女教师撅着屁股| 91九色精品熟女内射| 夜夜嗷嗷一区二区| 91丨人妻丨国产丨丝袜| 国产区性爱在线视频秋霞豆| 亚洲 中文 女同| 青青草好吊| heyZO天然素人无码AⅤ专区| 久久天天性久久伊人| 九九综合网| 国产精品不卡一区二区电影| 黑丝少妇| 中韩中文字幕在线观看| 亚洲乱码国产乱码精网站| 91AV老熟女视频| 农村少妇久久久久久久| 强奸乱伦Av网| 久久久中文版| 大香蕉免费中文| 狠狠躁日日躁夜夜躁A| 熟女六十路| 综精品久久久aaaa| 免费看一级a性色生活片久久无| 天天爽夜夜操| 茄子社区国产精品| 免费一级黄色录像影片| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 超碰97综合在线| 一本色道久久天天射天天干| 香蕉一区二区三区在线视频| 欧美一区二区男人天堂| 九九这里只有精品| 精品人妻一区二区三区蜜桃视频| 乱伦AVxx| 天天爱综合网| 免费在线黄片视频| 五十路人妻在线| 激情网色| 97欧美色综合| 国产精品免费视频不卡| 香港久久久| 熟女六十路| 中文字幕精品专区搜索结果91| 中文字幕成人理论在线| 久久精品人妻一区二区三区| 午夜国产成人福利视频| 香蕉精品二区二区| 日本欧美成人片AAAA| 亚洲丝袜二区在线| 大香蕉婷婷| 青草成人免费视频一COm| 免费观看有码高清视频| 日产操逼| 男人 天堂 日 亚洲| 欧美大香蕉专区网| 97鸡把在线视频| 26uuu国产| 久操精品| 极品后入免费视频| 婷婷久久网| 91少妇| 9热9热综合网| 色噜噜精品一区二区三| 国产精品不卡少妇白| 成人五月香网在线| 免费无码国产精品v片在线观看| 老汉网| av天堂手机版追回| 亚洲成人一区二区精品| 久久亚洲日韩熟女精品| 久久色一区| 欧美黄片免费在线观看视频| 高清无码学生妹高潮| 色97| 亚欧Av| 日韩肏逼视频| 精品一区二区久久| 小草三级久久观看| 色婷婷九月天天综合| 91成人无码| 欧洲一区二区三区免费| 91碰碰| 日本免费人成视频播放120秒| 亚洲第一视频 欧美风情 日韩| 69人妻人人揉人人躁人人精品| 日本狂喷奶水在线播放212| 淫穴高潮色图| 国产丝袜视频| 久久性爱网站| 日韩AV无码网站| 性色高清..……| 超碰国产情侣自拍网| 亚洲高清无码AAA久久久精品| 欧美亚洲图片| 亚洲一区二区av| 亚洲综合99999| 蜜臀久久久久久999| 温婉少妇玩3p| 国产乱色国产精品免费视| 青青草福利视频| 91成人亚洲色图| 亚洲污污网站| 久久久久久久国产| 日本一区二区三区欧美日韩中文字幕| 国产 丝袜 欧美中文 另类| 久久精品人人做人人看| 午夜精品久久99蜜桃的功能章节| 亚洲,欧美,综合网| 久久成人午夜狠狠| 天天插夜夜爽| 久久国产视频专区一二三| 防屏蔽在线视频| 亚洲天堂 视频你懂的| 国产东北女人在线视频| 亚洲精品国产日韩无码AV永久免| 极品白嫩美少妇在地板上位骑射淫水泛滥| 亚洲第二页| 国产极品美女高潮无套在线观看| 天天射天天| 一级一性爱免费视频| 伊人欧美大香蕉视频| 国产熟女自拍| 日韩射图| 国产综合久| 97国产中文| 91熟女视频网| 91无码人妻精品一区二区三区蜜桃| 97国产伦理| 欧美在线 亚洲| 亚码人妻| 9997se| 熟妇高潮二区三区| 天天射天天色成人| 青青草好吊色| 乱欲视频| 黄色电影在线播放综合网站| 99国产在线 精品 视频| 国产一区二区a毛片| 成人性爱av| 欧美日本中字另类在线| 亚洲精品aa久久伊人| 曰韩无码777| 五月天激情婷婷| 欧美亚涩| 中文字幕78| 亚洲脚交| 免费试看60秒| 国产宅男宅女在线观看| 深田咏美亚洲精品福利社| 九九久久综合| 国产精品一区人妻精品阁在线| 旡码电影特区| 性交一区二区在线播放| 亚洲深夜福利| V A在线| 日本免费人成视频播放120秒| 日韩国产成人自拍视频| 99成人| av亚洲天堂资源网站| 亚洲色图 综合| 亚洲高清91| 国产黄色影片在线观看| 国模少妇一区二区三区| 中文字幕视频一区视频二区| 91精品久久久久久久久久| 国产18精品亚洲精品| 一本一道人妻久久一区二区三区| 日欧毛片久久| 中文字幕成人乱码熟女精品国50| 国产又色又粗又黄又爽| 亚洲精品美女久久久久久久久| 区日韩亚洲乱码av电影| 五十路人妻在线| 国产91 丝袜在线播放00-百度| 在线无码视频| 99中出在线| 国产成人啪一区二区| 日韩性爱一级片| 亚欧高清v| 免费网色网站| A级在线视频| 五月天大香蕉| 欧亚揄拍偷拍精品视频| 无码人妻一区二区三区色欲aⅴ| 国产伦乱91| 五月天久久婷婷亚洲| 亚洲熟女诱惑| 天天干天天狼在线视频| 91强在线播放| 一本色道综合久久欧美| www.色婷婷| 99精品综合久久久久五月天| 久操凹凸视频| 久久久∴| 亚洲欧洲自拍图片专区满春格| 人人操AV| 亚洲综合有码| 国产一区二区视频在线播放| 亚州熟妇精品| 天天看天天在线精品| 天天综合网久久ww| 色吧5亚洲| 九九热精品在线| 亚洲欧美骚| 色婷婷狠狠18禁| 久久一二三四五六七八九区| 久久精品国产亚洲AV高级北京| 99九九久久| 国产狂喷潮在线精品| 人妻日日夜夜精品| 富女玩鸭子一级毛片| 日韩在线视频1234| 亚洲?V高清一区二区三区尤物| 天天做天天爱| 亚洲天堂2020| 亚洲 欧美 中文 日韩超碰| 美女久久久久久久久久久| 九九99久久| 97chaopengongkai| 熟女精品一区二区三区| 亚洲国产熟妇综合色专区| 五月天婷婷成人网| 亚洲一二三四区| 国产九九久久久精品| 人人爱人人乐人人操| 人妻插插人妻人| 7777奇米影视久久| 国产诱惑| 亚洲五月天激情| 亚洲欧洲激情卡通另类文学四射小说网站| 天天综合在线4| 操逼视频国产无套| 91性| 午夜一区| 亚洲 暴爽 AV人人爽日日碰| 99综合自拍| 中国操逼无码| 美女91在线观看| 国产树林里野战在线看| 中文字幕三四五区| 色女99一级片在线观看| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 青青草依人大香蕉| 性欧美另类高清| 国产在线强奸视频| 成人日本片久久久蜜桃| 九九无码久久精品视频| 精品国产一区二区三区四区在线看| 欧美在线 亚洲| 欧美在线视频99| 999久久久免费精品国产牛牛| 午夜精品久久久久| 91蜜桃婷婷狠狠久久综合9色| 欧美中出| 国产一区二区精品久久99| 超碰久草| 天天综合欧美综合| 嫖老熟女A片一二三区| 91亚洲欧洲| 97在线青| 天堂九九九九九九九九九| 在线观看高清AV| 超碰97男女| 青久操| 四虎AV在线观看| 欧美另类精品xxxx| 美女诱惑一区| 日日日日做夜夜夜夜做无码97| 国模限制级电影| 白嫩国模丰满一二三区| 亚洲在线网站| 欧美性爱超碰97| 91丝袜在线视频| 人人澡人人爽人人精品| 91精品无码人妻系列| 日韩人妻一区二区| 99re6在线视频播放免费精品| 精品然女一区二区| 另类小说五月天| 成年人性爱日韩| 一区操逼| aaa亚无码专区| 美女9118禁| 国产热av| 日韩欧美中文字| 中文乱码99| 神马精品视频| 欧美天天插| www.91久久| 国产强奸超碰AV| 亚洲欧美中文一区二区三| 日本人妻中文字幕精品| 97久久超碰| 啊啊啊啊啊啊啊啊在线观看| 深夜激情| 精品免费成人久久| julia ann久久| 亚洲男人综合网| 精品9区| 国产午夜视频| 啊啊啊啊啊好大好舒服想要| 综合网~91综合网| 艾草av| 日本97久久久精品| 中文字幕少妇色| 日本伦理一区二区| 欧美色图亚州激情| 91网亚洲| 一区二区三区 丝袜高跟| 天天爽夜夜欢视| 精品一区二区国产日韩| 中文字幕在线免费观看2| 亚洲国产精品成人久久蜜臀| 97超碰久久| 人妻一区二区三区四区视频| 国产综合日韩伦理| 国产精品分类在线观看| 欧美Aⅴ| 日韩欧美中文日韩欧美色| 成人a大片在线观看| 国产人伦a片信息免费片| 夜嗨影院| 六月色色| 国产超碰国产97| 国产丰满熟夫69mpp| 传媒免费一区二区三区| 亚洲综合贴图91| 国产三级中文字幕粉嫩 | 天天日B夜夜干B时时操B| 欧美婷婷五月天| 97超碰jingpin| 熟妇一区二区三区| 大香蕉青青9| 成人AV在线网站| 亚洲色阁| 在线播放免费av福利片| 黑人无码一区二区| 99热这里都是精品| 色老汉色| 91欧洲入口| 久久中出| 亚洲一卡2卡3卡4卡乱码网站 | 国产久久久9999| 天天色怡春院| 国产AV中文| 91伊人久| 久9热| 久久曰曰| 日韩欧视频| 黄片qw| 中文字幕在线日亚州9| 久久手机视直播| 久久久国产精品亚洲精品| 三四中文字幕| 三级特黄60分钟播放| 婷婷五月天AV| 亚洲97p| 九九热AV| 国产日本久久免费精品| 日少妇亚洲版| 国产熟女一区二区| 性影在线视频| 99热这里只有精| 欧美综合自拍亚洲综合图| 少妇被c 黄 免费观看| 日韩精品视频在线观看一卡二卡| 欧美专区第一页| 午夜经典| 91动漫操逼视频| 欧美图片色综合| 夜夜欢天天干| 国产一区二区啪啪视频| 动漫区日韩区欧美区| 9Ⅰ老熟女| 免费一级视频特黄色大片| 狠狠图片青青草| 欧美爱爱97| 超碰91在线| 久久久精品一区二区| 性饥渴少妇av无码毛片| 97超碰国产亚洲精品资源| 日韩欧美蜜桃精品久久中文字幕久久| 久艾草在线精品视频在线观看| 91oumei| 人妻精品一区二区三区| 国产激情在线| 久久久久久裸体| www.大香| A男人的天堂| WWW操逼| 少妇一区二区三区在线观看| 久久久久久精| 欧美日不卡| 日本媚薬中文字幕在线| 国产67194| 色欲久久99精品久久| 91操人| 国产精品3| 乱欲一区二区| 日韩中文字幕宗合在线| 97人人操人人摸人人爱| 韩日巨乳美女免费视频在线观看| 欧美成人A√在线一区二区| 欧洲免费一区二| 日韩综合无码一区久久92| 好淫网一二三视区| 操逼操2| 人人污日韩一区二区| 翔田千里爆乳巨臀无码| 啊啊啊好舒服好爽啊啊啊视频| 青娱乐老司机视频| 欧美激情欧美精品| 国产乱伦亚洲| 成人一级二级| 五月婷婷AV| 欧美成人精品欧美一级乱黄一区二…| 九月婷婷综合| 91美女视频在线观看| 91色碰| 俄罗斯一区二区视频在线观看| 亚洲限制级| 精品在线观看视频在线| 日韩欧美麻豆| 熟妇在线视频一区二区| 国产精品成人AV片免费看网站| caopeng97人妻| 韩国黄片aaaa| 竹菊一区二区三区AV线| 一色网男人的天堂| 黄色香蕉视频网站一区| 老女人碰碰在线碰碰视频| 国产欧美亚洲精品a第2页| 欧色网址| 午夜啊啊啊| 亚洲精品亚洲人成在线麻豆| 久久久久久久| 东北老女人的激情视频| 懂色AV蜜臀无码精品APP| 欧美天天综合在线| 九九热超碰97亚洲最新香蕉| 韩国成人精品久久久免费看| 亚洲综合色图欧美| 欧美在线伊人色| 日本性爱少妇| 欧美亚洲91| 制服诱惑亚洲一区二区三区在线观看| 国产精品国产拍高清AV| 国产精品不卡av免费在线观看| 亚洲欧洲日产国产综合网| 最近的最新的中文字幕视频| V A在线| 成人日本片久久久蜜桃| 麻豆AV一区二区| 夜色AV无码手机在线影院| 综合97| 伊人久久亚洲色欲综合网站 | 老女人老91妇女老热女| www99热| 黑人狂躁日本妞一区二区三区| 国产欧美另类久久久精品课程| 国产AV人人 夜夜人人澡| 日本久久天堂| 性爱Av免费| 少妇久久久久| 久久久久久免费电影| 97一区二区蜜臀| · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 | 夜夜欧美 | 秋霞免费AV| 色欲久久久久综合网| 精品国产乱码久久久久久免费| 青青草啪啪网| 日韩有码免费视频| 久久精品亚洲成a人天堂| 日韩免费一级性爱视频| 亚洲丨在线| 青青操视频在线| 歐美一級亂黃99在綫精品| 97人妻碰碰中文无码久热丝袜| 再深点灬舒服灬太大了添视频| 精品99999| 激情久久久| 午夜无码精品免费看性色| a片在线播放| 亚洲加勒比| 久久久青青草| 国产日韩中文字幕欧美| 色偷综合| 亚州久久9| 久久久久一本一区二区青青蜜月| 67914亚洲精品| 2018色综合天天操| 黑人黄片在线免费观看| 国产成人手机视频激情| AV一区观看| 国模无码人体一区二区三| 国产精品懂色tv影视免费观看| 天天做天天爱| 亚洲色欧美| 亚洲欧美人妻| 亚洲精品久久久久毛片A片拉屎 | 国产精品无码成人精品| 少妇被c 黄 免费观看| 一区二区高清视频| 欧美91变态| 97超碰香蕉| 欧美激情精品| 午夜精品久久久久久久久久久久久| 午夜经典| 超碰在线91| AV中亚| 人人操欧美风骚| 女性喷水高潮在线观看| 欧美gv在线观看| 五月天我淫我色av| 国产第12页| 黄色AAAAAAAAAAA大片| 亚洲毛片一级带毛片基地| 日本一区二区成人在线| 超碰成人国产| 色九九九九久| 亚洲熟妇图片| 欧洲亚洲人妻无码中字久久三区四区| 国模不卡一本二本三电影| 一直超碰| 大香蕉手机在线| 96麻豆精品一区二区三区| 久久这里只有精品9| 国产精品不卡av免费在线观看| 在线播放成人高清免费视频 | 国产熟女| 99福利社| 后入式免费视频| 四虎午夜影院| 国模不卡| 嗯嗯啊啊视频在线看| 精品人妻夜夜草| 风骚少妇视频中文字幕| 欧美九九九| 免费A片三p视频| 一本一道波多野毛片中文在线| 亚洲国产日韩欧美熟妇在线| 久久啊哟| 小草av不卡亚洲二区| 校园春色美腿丝袜| 九九九九热| 国产AV激情无码久久无码| 色婷婷成人| 亚洲色图加勒比| 亚洲美女黄色| 欧美v日韩v亚洲v最新在线| 欧美一级久久久丰满| 九九香蕉网| 亚洲激情天堂网| 大逼色网站| 青青草十区九区爱夜| 五月天AV资源| 欧美日韩大香蕉| 亚欧Av| 诱惑人妻欧美一区在线播放| 欧美另类丝袜熟女| 亚洲欧美在线观看无码| 色婷婷电影网| 狠狠2050在线观看| 凹凸精品熟女在线观看| 粉嫩粉嫩一区性色AV片| 欧美亚洲综合色| 女上位精品在线| 熟女乱3伦999| av大香蕉| 精品无码一区二区人妻久久蜜桃| av网站免费看| 日本女人操逼| 天天综合网1| 百度百度日本操逼| 婷婷色色五月天| 国产欧洲精品亚洲午夜拍精品| 波多野42部激情无码喷潮| 欧美亚洲综合色| 情色五月天就去干| 秋霞久久亚洲精品成人| 亚洲男人天堂网久久| 亚洲av资源| 国产无马av| 激情文学小说一区二区 | 色爱综合网| 91 亚欧| 欧美久久伊人| 亚州色阁| 日逼视频日本| 国产欧美日韩臀 | 人妻一区久久二区三区色播| 色欧洲| 99这里有精品视频| 夜夜高潮夜夜爽夜夜爱爱一区 | 久草草一二三四区久久| 亚洲一区二区三区不卡国产欧美| 夜夜高潮夜夜爽| 啪啪视频免费在线观看| 天天日B狠狠操| 日韩15p| 国产精品一区人妻精品阁在线| 日本大香蕉综合网红本杳社区| 国产精品老师| 啊啊啊水好多| 亚洲老熟妇xxx| 91综合站| 任我爽视频在线观看| 无码久久国产| 嗯嗯啊啊视频一区二区三区| 色天使亚洲综合在线观看| 桃色人妻在线视频| 亚洲av影音先锋| 日韩青久久| 婷婷伊人| 久久久蜜桃臀无码视频| 综合色图,成人综合网| 无码人妻一区二区三区免费九色| 欧美黑人猛交春色影视大全| 亚洲欧美另类激情小说| 一及黄久一点| 久久直播国产| 国产精品农村妇女精品| 精品超碰中文在线| 另类亚洲一区二区三区| 欧美影音在线| 亚洲午夜av| 亚洲欧美综合| 青青欧洲黑| 岛国成人av在线播放网址| 密臀在线一区尤物| 亚洲少妇诱惑| 亚洲中文国际强奸字幕| 蜜汁欧美| 骚乳在线| 思思性爱| 99re9| 中文字幕久久亚州无码| 9l视频自拍9l九色成人| 免费精品无码一级毛片牛牛影视 | 丰满人妻一区二区三区免费| 日韩精品人妻系列无码天堂| 久久精品国产亚洲AV高级北京| 国产精品久久久久9999小说| 香一区二区三区| 秋霞影音一区二区三区 | 精品乱子一区二区三区99| 久久精品国产亚洲AV片多多| 天天操天天7| 97色亚洲| 综合久久99亚洲人妻中文在线| 丁香九月婷婷| 国产二区视频在线观看电影| 91色欧美| 日韩电影天堂视频二区三区| 亚洲综合五月天| 国产大陆天天艹| 蜜臀久久99精品久久久久久酒店| 1二区9| 先锋精品av色鲁| 欧美日韩在线国产在线| 97香蕉网| 91色射| 人妻无码久久一区二区三区免费| 九九热精品在线| 日韩乱中文| 97爱爱| 怡红院久久老司机| 人妻少妇色综合| 看看小穴| 在线不卡视频| 伊人激情五月天一区二区| 亚洲丰满很很操| 亚洲激情在线| jiujiujiujingpin| 天天肏美女| 黄色av一区二区在线| 国产高清自拍视频| 欧美91网| 欧美综合传媒| 今日头条成人一区二区三区四虎精品| 午夜黄色免费在线观看| 久久久久亚洲av综合波多野制衣| 久操免费在线| 亚洲欧美啪啪| 亚洲区限制级| 国产性刺激| 欧美后进式| 国产精品岛国片在线观看| 国产亚洲日韩在线三区黑人| 欧美日韩国产一区二区小黄片大全| 蜜臀99久| 五月天亚洲网| 日本黄页视频在线观看| 日日夜夜草草草| 开心六月色| 日韩一区二区精品视频| 色婷婷香蕉| 香蕉久久国产AV一区二区| 在线性黄高清免费视频| 精品毛片av一区二区| 国产一级137片内射麻豆| a片偷拍视频| 日韩欧洲操屄视频| 精品黄色电影| 2017亚洲天堂| 91情色| 1024香蕉视频| 国产精品无码在线| 欧美视频一区二区在线| 国产精品探花视频| 日本高清有码网址视频| 北约熟女超碰| 亚乱色| 被体育老师抱着c到高潮| 日韩AV一起草| 欧美日韩 强奸乱伦| 囯产操逼片| 欧美精品999| 人人人人人人少妇| 另类视频在线| 天无日色综合| 国产传媒日本欧美专区|