亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

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

純前端PDF預(yù)覽指南:pdf.js渲染、文本層與打印實(shí)現(xiàn)詳解

純前端PDF預(yù)覽指南:pdf.js渲染、文本層與打印實(shí)現(xiàn)詳解 簡(jiǎn)介PDF.js Demo是一套基于Mozilla開源PDF.js庫的純JavaScript示例工程面向前端開發(fā)者和需要為網(wǎng)站嵌入文檔預(yù)覽功能的技術(shù)人員解決瀏覽器中無需插件即可實(shí)現(xiàn)PDF在線預(yù)覽、頁面縮放、本地文件加載與打印調(diào)用等核心問題適合OA系統(tǒng)、電子合同預(yù)覽、在線課堂資料展示等場(chǎng)景。資源壓縮包約2.49MB共376個(gè)文件核心包括字形映射、屬性配置、圖片圖標(biāo)、腳本文件與HTML示例頁面另附PDF參考文檔和工程配置文件便于對(duì)照查閱與二次開發(fā)。已有9926人學(xué)習(xí)下載。示例除了展現(xiàn)基礎(chǔ)渲染流程外還實(shí)現(xiàn)了動(dòng)態(tài)縮放、通過File API讀取本地PDF以及與瀏覽器打印接口結(jié)合的實(shí)用邏輯同時(shí)涵蓋緩存頁面、分頁加載、使用Web Worker后臺(tái)解析等性能優(yōu)化要點(diǎn)并配有目錄結(jié)構(gòu)說明和代碼注釋適合作為在線文檔方案的技術(shù)藍(lán)本。1. 純JS PDF在線預(yù)覽指北為何選擇pdf.js以及它到底能解決什么如果你接手過“要在網(wǎng)頁里打開PDF但不想加載插件、不想裝控件”的需求大概率會(huì)繞到pdf.js這條路上來。它是純前端解析PDF并渲染到canvas的開源方案只要瀏覽器支持ES5以上和canvas就能把PDF文件變成可交互的頁面同時(shí)支持打印、文本選中、搜索這些原生體驗(yàn)。最關(guān)鍵的是它不依賴后端轉(zhuǎn)換直接喂它文件路徑或二進(jìn)制流就能工作。如果你是做內(nèi)部系統(tǒng)、文件管理平臺(tái)或者教育類工具的開發(fā)這套方案能省掉一整套在線預(yù)覽服務(wù)配合打印接口還能把“預(yù)覽”和“打印”統(tǒng)一交給前端處理。下面我以一份可運(yùn)行的demo為基準(zhǔn)從零拆解它怎么跑起來以及在真實(shí)項(xiàng)目中哪些參數(shù)值得調(diào)、哪些坑必須繞開。2. 快速搭一個(gè)預(yù)覽Demo引入、初始化和第一屏渲染2.1 引入方式從CDN拉全量版還是自托管文件pdf.js的官方分發(fā)包含三個(gè)入口pdf.js主文件、pdf.worker.js工作線程文件以及可選的cmaps字符映射目錄。在demo里最省事的方式是直接引用CDN上的固定版本比如在html里這樣寫script srchttps://unpkg.com/pdfjs-dist2.16.105/build/pdf.min.js/script但需要注意pdf.js內(nèi)部會(huì)嘗試從與主文件相同的目錄加載worker文件。如果你只引入主文件它會(huì)在運(yùn)行時(shí)發(fā)一個(gè)動(dòng)態(tài)請(qǐng)求去拉pdf.worker.js。我在實(shí)際項(xiàng)目里習(xí)慣把兩個(gè)文件都下載到本地靜態(tài)目錄然后手動(dòng)指定worker路徑這樣可以避免CDN版本更新導(dǎo)致行為變化。指定方式如下pdfjsLib.GlobalWorkerOptions.workerSrc /assets/pdfjs/pdf.worker.min.js;這里的邏輯是pdf.js在解析PDF時(shí)有一部分計(jì)算密集的任務(wù)放在Worker線程里執(zhí)行workerSrc就是告訴主線程“去哪里拿這個(gè)線程的代碼”。如果不設(shè)置它會(huì)默認(rèn)從主文件所在目錄找一旦你把主文件和worker文件放在不同地方初始化就會(huì)失敗。設(shè)置路徑時(shí)建議用絕對(duì)路徑或相對(duì)站點(diǎn)根的路徑避免嵌套路由下路徑解析出錯(cuò)。2.2 初始化PDF文檔getDocument的輸入格式與Promise鏈拿到文件路徑或File對(duì)象之后調(diào)用pdfjsLib.getDocument()創(chuàng)建加載任務(wù)。這個(gè)函數(shù)返回的是PDFDocumentProxy的Promise后續(xù)所有操作都必須掛在它后面const loadingTask pdfjsLib.getDocument({ url: /uploads/sample.pdf, cMapUrl: /assets/pdfjs/cmaps/, cMapPacked: true, }); loadingTask.promise.then(pdf { console.log(頁數(shù):, pdf.numPages); return pdf.getPage(1); }).then(page { // 拿到page對(duì)象后進(jìn)行渲染 }).catch(err { console.error(加載失敗:, err.message); });這里面有兩點(diǎn)要說明第一getDocument返回的是PDFDocumentLoadingTask別直接拿這個(gè)對(duì)象去調(diào)用getPage必須先通過.promise屬性獲取到proxy。第二cMapUrl和cMapPacked是給包含特定字體的PDF用的比如某些CJK中日韓字體。如果你不設(shè)置這兩個(gè)參數(shù)遇到這類文檔時(shí)字形會(huì)顯示成亂碼或者方框。我一般會(huì)在demo里直接帶上cmaps目錄雖然體積多了幾MB但換來的是渲染正確率這筆賬劃算。2.3 渲染第一頁從page到canvas的完整鏈路獲取到PDFPageProxy對(duì)象后渲染的核心是把PDF頁面繪制到canvas上。這一步靠page.render()方法完成它接收一個(gè)RenderParameters對(duì)象。下面是最基礎(chǔ)的第一頁渲染代碼const canvas document.getElementById(pdf-canvas); const ctx canvas.getContext(2d); const viewport page.getViewport({ scale: 1.5 }); canvas.width viewport.width; canvas.height viewport.height; const renderTask page.render({ canvasContext: ctx, viewport: viewport, }); renderTask.promise.then(() { console.log(第一頁渲染完成); });這里的關(guān)鍵在viewport。PDF是一種矢量格式頁面尺寸是用point1/72英寸定義的而canvas需要像素尺寸。getViewport({ scale })的作用就是定義一個(gè)縮放比例把PDF坐標(biāo)換算成canvas像素。scale1.5表示把頁面放大50%顯示。你需要先算好寬高再設(shè)置canvas的width和height否則畫布尺寸和viewport不匹配畫出來的內(nèi)容會(huì)變形或截?cái)?。另外render()返回的renderTask是一個(gè)帶promise的對(duì)象渲染過程中也可以調(diào)用cancel()取消這在翻頁特別快的場(chǎng)景下很有用能避免舊頁面渲染阻塞新頁面。3. 多頁、縮放、旋轉(zhuǎn)與頁碼控制把Demo擴(kuò)展成可用的預(yù)覽器3.1 多頁渲染連續(xù)滾動(dòng)與單頁切換兩種布局demo如果只渲染第一頁那還談不上“預(yù)覽器”。真實(shí)系統(tǒng)里至少要讓用戶能翻頁或者滾動(dòng)瀏覽。這里有兩種常見做法一種是類似閱讀器的單頁模式底部放“上一頁/下一頁”按鈕另一種是類似PDF閱讀軟件的連續(xù)滾動(dòng)模式把所有頁先后渲染到同一個(gè)滾動(dòng)容器里。單頁模式的好處是每次只渲染一頁內(nèi)存開銷小實(shí)現(xiàn)也簡(jiǎn)單let currentPage 1; const totalPages pdf.numPages; function renderPage(pageNum) { return pdf.getPage(pageNum).then(page { const scale 1.2; const viewport page.getViewport({ scale }); canvas.width viewport.width; canvas.height viewport.height; return page.render({ canvasContext: ctx, viewport, }).promise; }); } document.getElementById(next).addEventListener(click, () { if (currentPage totalPages) { currentPage; renderPage(currentPage); } });這段代碼里要注意的是renderPage每次都會(huì)重新設(shè)置canvas尺寸。如果你在getPage和render之間沒有把canvas尺寸重置渲染結(jié)果會(huì)被拉伸。我一般會(huì)在切換頁面時(shí)先清除畫布ctx.clearRect再把新的viewport尺寸賦給canvas防止上一次的殘留影像干擾視覺。連續(xù)滾動(dòng)模式則更復(fù)雜一點(diǎn)。你需要?jiǎng)討B(tài)判斷“哪一頁進(jìn)入視口”然后懶加載渲染。常見做法是監(jiān)聽滾動(dòng)事件計(jì)算當(dāng)前滾動(dòng)偏移量對(duì)應(yīng)的頁數(shù)再調(diào)用getPage去渲染可視區(qū)域周圍的頁面超出視口的頁面移除canvas節(jié)點(diǎn)釋放內(nèi)存。這個(gè)方案對(duì)長(zhǎng)文檔友好但增量渲染和DOM回收邏輯需要仔細(xì)寫否則滾動(dòng)快時(shí)頁面會(huì)閃白。3.2 縮放與旋轉(zhuǎn)viewport參數(shù)附近的細(xì)節(jié)viewport不只是scale一個(gè)屬性它還包含旋轉(zhuǎn)角度。PDF內(nèi)部可以通過page.rotate屬性指定頁面本身的旋轉(zhuǎn)角度getViewport默認(rèn)會(huì)尊重這個(gè)角度。如果你想讓用戶手動(dòng)旋轉(zhuǎn)需要傳第二個(gè)參數(shù)rotationconst viewport page.getViewport({ scale: currentScale, rotation: currentRotation, // 90的整數(shù)倍 });注意到一個(gè)容易出錯(cuò)的地方rotation是在原始旋轉(zhuǎn)基礎(chǔ)上的增量不是“重置”。如果PDF本身已經(jīng)是90度方向你傳rotation90會(huì)變成180度。所以做旋轉(zhuǎn)功能時(shí)要先把page.rotate讀到并保存然后在此基礎(chǔ)上累加。另外縮放時(shí)不要只改scale然后就重新渲染必須同時(shí)更新canvas的寬高否則畫布內(nèi)部用了ctx.scale的話會(huì)出現(xiàn)“畫布CSS尺寸不變但內(nèi)部像素變化”的模糊現(xiàn)象。我現(xiàn)在實(shí)踐中的做法是維護(hù)一份當(dāng)前狀態(tài)對(duì)象const state { scale: 1.0, rotation: 0, pageNum: 1, }; function applyViewport(page) { const baseRotation page.rotate || 0; const viewport page.getViewport({ scale: state.scale, rotation: (baseRotation state.rotation) % 360, }); canvas.width viewport.width; canvas.height viewport.height; return viewport; }這么做的好處是每次渲染時(shí)都從原始頁面狀態(tài)計(jì)算避免上一次操作污染下一次結(jié)果。3.3 文本層讓預(yù)覽支持復(fù)制、搜索與無障礙閱讀純canvas渲染出的PDF只是一張圖片用戶無法選中文字瀏覽器搜索自然也找不到內(nèi)容。這在文檔管理系統(tǒng)里幾乎是不可接受的缺點(diǎn)。解決方案是加一層“文本層”text layer。pdf.js的API暴露了page.getTextContent()方法可以把頁面里的文字塊抽出來再通過TextLayerBuilder這個(gè)工具類把它們渲染成一個(gè)覆蓋在canvas上的透明層。import { TextLayerBuilder } from pdfjs-dist/lib/web/text_layer_builder; const textLayerDiv document.getElementById(text-layer); const textContent await page.getTextContent(); const textLayer new TextLayerBuilder({ textLayerDiv, pageIndex: page.pageNumber - 1, viewport: viewport, }); textLayer.setTextContent(textContent); textLayer.setViewport(viewport); textLayer.render();注意text layer構(gòu)建器的pageIndex從0開始而page.pageNumber從1開始不減去1的話會(huì)導(dǎo)致文本層錯(cuò)位。這個(gè)mapper類在官方示例里有但很多人下載的demo里沒有包含它復(fù)制代碼時(shí)容易漏。裝了文本層后你要保證它的z-index高于canvas但低于頁面上的其他按鈕。另外縮放時(shí)文本層要重新計(jì)算所有文字的位置例如我一般會(huì)在縮放結(jié)束后調(diào)用textLayer.setViewport(viewport)再做一次渲染。4. 打印實(shí)現(xiàn)用pdf.js的print模塊還是自己拼iframe4.1 內(nèi)置print方法的邊界它其實(shí)是在“另起爐灶”pdf.js在官方web/viewer.html里自帶打印功能如果你直接把整個(gè)viewer嵌入站點(diǎn)可以參考它的實(shí)現(xiàn)。它內(nèi)部的邏輯大致是重新創(chuàng)建所有頁的canvas計(jì)算一套適合打印的viewport然后調(diào)用document.execCommand(print)或者h(yuǎn)ostContainer.print()。但在你自己的demo里如果只引入核心庫是沒有這個(gè)能力的。你需要自己寫打印入口。我見過不少開發(fā)者試圖從pdfjsLib里找出.print()方法但在核心包里確實(shí)沒有。核心庫提供的只是解析、渲染和文本提取打印是viewer那層的事。所以如果你在自定義預(yù)覽界面做打印需要走下面的路線。4.2 自建iframe打印從canvas到打印文檔的轉(zhuǎn)換流程最穩(wěn)妥的做法是構(gòu)造一個(gè)隱藏的iframe把要打印的PDF頁面依次渲染成canvas然后把canvas轉(zhuǎn)成圖片塞進(jìn)iframe的document.body里最后調(diào)用iframe的contentWindow.print()。下面是精簡(jiǎn)版代碼async function printPdf(pdf) { // 1. 創(chuàng)建隱藏iframe const iframe document.createElement(iframe); iframe.style.display none; document.body.appendChild(iframe); const win iframe.contentWindow; const doc win.document; doc.write(htmlheadtitleprint/title/headbody/body/html); doc.close(); // 2. 逐頁渲染為canvas轉(zhuǎn)圖片 for (let i 1; i pdf.numPages; i) { const page await pdf.getPage(i); // 打印用的scale建議用1或1.5太高會(huì)導(dǎo)致圖片體積巨大 const viewport page.getViewport({ scale: 1.5 }); const canvas document.createElement(canvas); canvas.width viewport.width; canvas.height viewport.height; const ctx canvas.getContext(2d); await page.render({ canvasContext: ctx, viewport }).promise; const img doc.createElement(img); img.src canvas.toDataURL(image/jpeg, 0.9); doc.body.appendChild(img); } // 3. 延遲打印等待圖片加載完成 setTimeout(() { win.print(); document.body.removeChild(iframe); }, 500); }這段代碼有三個(gè)實(shí)際問題第一canvas.toDataURL()對(duì)大頁面會(huì)產(chǎn)生很長(zhǎng)的base64字符串內(nèi)存壓力大時(shí)可能卡頓。建議改成canvas.toBlob()然后用URL.createObjectURL()賦給img.src。第二打印時(shí)iframe內(nèi)的樣式要額外寫一點(diǎn)比如page { margin: 0 }能去掉默認(rèn)邊距img { width: 100%; page-break-after: always; }能保證每張圖片獨(dú)占一頁。第三不要立刻調(diào)用print()要給瀏覽器一點(diǎn)時(shí)間加載圖片否則可能出現(xiàn)空白頁。延遲500ms是經(jīng)驗(yàn)值圖片多時(shí)我會(huì)用img.onload計(jì)數(shù)來替代固定延時(shí)。4.3 打印參數(shù)控制窗口、頁面方向和縮放規(guī)則到了打印對(duì)話框這一步頁面方向、頁邊距這些其實(shí)是用戶自己控制的。你可以通過CSSpage規(guī)則做少量干預(yù)例如強(qiáng)制A4縱向page { size: A4 portrait; margin: 10mm; }但要注意page的size在Chrome和Firefox的渲染支持不一致。Firefox對(duì)size: A4有明顯支持Chrome在打印預(yù)覽里也會(huì)讀取這個(gè)值。如果你的用戶群體里裝了老版本瀏覽器這些規(guī)則可能被忽略所以不要完全依賴CSS最好在iframe的圖片里直接用width: 100%做自適應(yīng)。另外一個(gè)細(xì)節(jié)是打印范圍全部頁還是當(dāng)前頁需要通過win.print()的前置邏輯控制比如只把要打印的頁面渲染到iframe而不是打印全部。我一般會(huì)在函數(shù)參數(shù)里加一個(gè)range數(shù)組比如[1,3,5]代表只打印這幾頁這樣既控制范圍也避免打印太多頁面導(dǎo)致內(nèi)存溢出。5. 常見問題與避坑指南我從三個(gè)項(xiàng)目里挖出來的坑5.1 跨域Worker加載失敗不是所有報(bào)錯(cuò)都叫CORS現(xiàn)象控制臺(tái)報(bào)錯(cuò)信息類似Failed to fetch dynamically imported module或者worker file not found頁面一直在加載中canvas始終空白。原因pdf.js在加載worker時(shí)采用動(dòng)態(tài)import機(jī)制如果你的站點(diǎn)是http://a.com而worker路徑配置成了http://b.com/assets/pdf.worker.min.js瀏覽器出于跨域限制拒絕拉取。還有一種情況是本地開發(fā)用file://協(xié)議打開頁面動(dòng)態(tài)import受CORS策略限制同樣失敗。解決把GlobalWorkerOptions.workerSrc改成和頁面同域的相對(duì)路徑例如從/assets/開始。同時(shí)確認(rèn)你的服務(wù)器對(duì).js文件返回的Content-Type是application/javascript不是text/plain。排查時(shí)先打開Network面板看worker請(qǐng)求是不是401或CORS error。另外如果你把pdf.js構(gòu)建成分離的獨(dú)立包也要檢查打包后worker路徑是否被混淆器改動(dòng)了。5.2 渲染大文件時(shí)內(nèi)存一直漲canvas和Promise順序都沒管好現(xiàn)象打開一份幾十MB的PDF翻頁二三十次后頁面開始卡頓甚至瀏覽器標(biāo)簽頁崩潰。原因每一頁渲染都會(huì)創(chuàng)建一個(gè)canvas元素如果你切換頁時(shí)只把舊的canvas隱藏掉而不移除它的像素?cái)?shù)據(jù)仍然占用內(nèi)存。而且fetch和getPage返回的Promise如果沒有及時(shí)處理會(huì)保持文檔對(duì)象不釋放。核心庫本身會(huì)緩存頁面數(shù)據(jù)但你調(diào)用pdf.destroy()之前這些緩存一直存在。解決每次渲染完成后把不再可見的canvas的width和height置為0或者直接從DOM上移除。對(duì)于連續(xù)滾動(dòng)模式要在滾動(dòng)過程中動(dòng)態(tài)回收離屏頁面。另外在單頁應(yīng)用里路由離開預(yù)覽頁面時(shí)務(wù)必調(diào)用pdf.destroy()和loadingTask.destroy()把文檔引用清掉。如果你同時(shí)監(jiān)聽了progress事件記得移除監(jiān)聽器不然也會(huì)形成閉包引用。5.3 文本層錯(cuò)位特別是混合字體和跨頁文字現(xiàn)象安裝了文本層后復(fù)制文字時(shí)看到的文字位置和canvas里對(duì)應(yīng)位置對(duì)不上或者選中某段文字時(shí)高亮區(qū)域偏移了幾個(gè)像素。原因多數(shù)情況下是因?yàn)関iewport不一致。渲染canvas時(shí)用了一套scale而文本層渲染時(shí)用了另一套scale或者你在window.resize后沒有重置兩個(gè)viewport。另外某些字體本身帶glyph偏移pdf.js的文本層對(duì)這部分字體的還原偏差比較大。解決把canvas和文本層放進(jìn)同一個(gè)父容器用兩套完全相同的viewport參數(shù)分別調(diào)用setViewport。關(guān)鍵點(diǎn)是文本層的定位基于viewport的width/height和transform你可以在渲染文本層前先textLayerDiv.style.width viewport.width px、height同理。我在demo里會(huì)在縮放按鈕的回調(diào)里同時(shí)更新canvas和文本層并強(qiáng)制加一行textLayer.reset()再重建避免編輯器復(fù)用舊狀態(tài)。5.4 打印出來的圖片發(fā)虛或者被拉伸現(xiàn)象iframe里看到的圖片是清晰的但打印出來模糊或者一張圖被切成了兩頁。原因打印分辨率取決于canvas的像素大小。如果你用scale1即72dpi渲染打印到紙上會(huì)明顯偏虛因?yàn)槠聊环直媛屎痛蛴C(jī)分辨率不對(duì)等。另一方面如果img的CSS設(shè)了width:100%而原圖本身寬度就不足打印機(jī)會(huì)以物理尺寸輸出就會(huì)發(fā)虛。解決打印渲染的canvas建議用scale1.5或2對(duì)應(yīng)150dpi到300dpi。另外在iframe的CSS里設(shè)置page { size: auto; }同時(shí)給img加image-rendering: pixelated的逆操作——實(shí)際上應(yīng)該去掉這個(gè)屬性保持默認(rèn)的平滑縮放。每次打印前我用一張白底測(cè)試頁先試打確認(rèn)邊距和縮放正常后再進(jìn)入批量打印邏輯。6. 進(jìn)階性能優(yōu)化與移動(dòng)端適配的幾個(gè)實(shí)用技巧如果你準(zhǔn)備把demo擴(kuò)展到生產(chǎn)環(huán)境有幾件小事值得在代碼里提前布局。第一件是虛擬滾動(dòng)。連續(xù)滾動(dòng)模式下渲染全部頁面是災(zāi)難比如300頁的文檔。我一般會(huì)在滾動(dòng)容器內(nèi)只保留約3個(gè)canvas節(jié)點(diǎn)當(dāng)前可視頁、前一頁和后一頁其他區(qū)域用占位div撐起高度。核心思想是維護(hù)一個(gè)pages[pageNum]緩存里面存“是否已渲染”標(biāo)志滾動(dòng)時(shí)對(duì)比新頁碼和當(dāng)前渲染集合差的就卸載。占位div的高度計(jì)算公式為viewport.height / scale乘上縮放系數(shù)這樣滾動(dòng)條的位置始終正確。這么做的好處是內(nèi)存占用從“所有頁”降到“3頁”壞處是滾動(dòng)條跳躍感需要微調(diào)比如預(yù)先渲染未來兩頁能緩解白閃。第二件是移動(dòng)端適配。觸摸設(shè)備的縮放習(xí)慣和桌面完全不同雙指縮放事件會(huì)間接觸發(fā)多次resize。我會(huì)在觸摸開始和結(jié)束之間停掉所有渲染任務(wù)用一個(gè)requestAnimationFrame來合并縮放請(qǐng)求。另外移動(dòng)端的canvas不要設(shè)devicePixelRatio之外的額外放大倍數(shù)我在iPhone上用2倍像素渲染會(huì)直接卡死后來限制最高scale為2給用戶一個(gè)“高清模式”開關(guān)默認(rèn)走1.5。第三件是文本搜索和鏈接跳轉(zhuǎn)。pdf.js的getTextContent返回的對(duì)象里有items數(shù)組每個(gè)item帶str和transform矩陣。我利用這些數(shù)據(jù)實(shí)現(xiàn)了簡(jiǎn)單的定位跳轉(zhuǎn)用戶點(diǎn)搜索結(jié)果時(shí)找到那條item的transform[4]和transform[5]x和y坐標(biāo)再用viewport的convertToViewportPoint方法映射到canvas像素位置最后用canvas.scrollIntoView({ block: center })。這個(gè)功能的坑在于搜索結(jié)果可能有重復(fù)位置在縮放后要重新計(jì)算。最后給PDF渲染加一個(gè)進(jìn)度提示其實(shí)很有價(jià)值。getDocument的loadingTask可以通過onProgress拿到加載進(jìn)度但真正耗時(shí)的是渲染我一般用page.render().promise加一個(gè)requestAnimationFrame計(jì)時(shí)超過300ms就顯示“正在解析復(fù)雜頁面”。這個(gè)優(yōu)化沒有高深技術(shù)但能顯著降低用戶等待時(shí)的焦慮感。從第一個(gè)demo到上線我唯一堅(jiān)持的習(xí)慣是每次改動(dòng)渲染相關(guān)代碼后強(qiáng)制自己用一份包含圖表、大字體和掃描文件的PDF做回歸測(cè)試看看canvas尺寸、文本層和打印結(jié)果是否保持穩(wěn)定。這比任何單元測(cè)試都靠譜因?yàn)閜df.js在不同文檔上的行為差異實(shí)在太多。希望這份折騰筆記能幫到你少走幾步我當(dāng)年踩過的彎路。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
天天摸天天插天天日| 免费AV中文网在线观看| 天天射夜夜| 久久国产免费激情视频| 97精品在线| 性色av网站| julia ann久久| 可以免费观看的AV| 日韩欧洲操屄视频| 一区二区三区在线日韩影院观看| 有码人妻系列| 精品久久久久久中文| 欧美影音在线| 97爱爱爱综合| 人人做人人妻人人夜视频| 色欲久久99国产精品久久久久久| 91av天美性媒精品视频| 天天草天天干天天日| 日本1区2区不卡视频| 欧洲亚洲综合| 亚洲男人的天堂一区二区| 无码伊人久久大杳蕉中文无码| 黑白配性爱AV成| 欧美日韩高潮喷水91| 尤物av网站免费在线播放| 嫩草伊人久久精品| 久久综合乱子伦国产免费| 色黄色美女大长腿午夜视频| 久九九九九九九九热| 亚洲综合97中文网| 国产毛片久久久久久久| 国产家庭乱伦表演| 日本媚薬中文字幕在线| 亚洲日精品| 情色av电影| 婷婷AV一区二区三区| 亚洲一二三四区| 超碰 国产熟女精品一区| 东京热男人的天堂网| 日韩高清黄片| 日本1区2区不卡视频| 国产偷人伦激情在线观看| 欧美se综合| 在线观看视频91| 大香樵伊人网| 精品一区二区三区蜜桃臀赵总| 五月丁香色婷婷| 激情五月天色播| 国产精品成人蜜臀AV在线| 国产精品美女| 欧美日韩亚洲天堂| 老女人综合网| 97色亚洲| 国产黄色在线播放观看| 新版天堂中文资源8在线| 亚洲欧洲日本精品中文a∨| 精品人妻中文字幕高清| 北约熟女超碰| 不卡免费av在线播放| 久久人妻精品| 日日夜夜青青草母狗| 中文字幕制服欧美久久一区| 国产免费一区| 一本久道久久综合狠狠爱一密臀精| 久久精品成人一区二区三区蜜臀| 亚洲综合图片在线| 91情色在线| 欧洲亚洲人妻无码久久三区四区| 夜色综合| 91P0RNY大屁股人妻| 91丨国产丨白浆秘 洗澡动漫| 日韩无码一区二区三区| 亚洲国产精品有声| 国产浮力影院第1页| AV一区观看| ji熟女.com| 强奸a片网| 爱爱动态120秒| 青青草五月天| 国产熟女自拍| 日韩欧洲操屄视频| 欧美亚综合色图| 成人开心网在线视频| 玖玖无码超碰| 国产伦精品一区二区三区在线观| 亚洲情色电影网| 超碰这里只有精品| 91老妇女| 天天操夜夜操狠很操| 婷婷五月综合激情| 91美女视屏| 青青久操| 国产家庭乱伦性爱视频| 青草香蕉网| 大香蕉久久| 大香蕉五月天| 2017超碰| 精品无码久久久久久久杏吧| 狠狠干狠狠色| 密臀国产在线| 成年人网站在线免费观看| 久久亚洲婷婷| 久草色在线观看| 天天搞在线综合网| 天天操天天日青青草超碰av| 国产无套粉嫩白浆在| 99色婷婷中文字幕乱色| 国产精品 视频| 午夜寂寞欧美| 欧美日韩国产人人| 日本中文字幕在线视频| 精久久久| 久热婷婷| 麻豆 亚洲 97| 成人影院永久免费观看网址| 玖玖蜜臀资源网| 在线洲亚线| 久久精品国产亚洲AV无码电影| 久久av色| 萌白酱自拍视频| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 97视频在线视频| 亚洲 小说 欧美 激情 另类| 午夜精品久久久99| 粉嫩AV一区二区夜夜| www.色操逼| 日韩三级av片| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 超碰激情808| 精品无码一区二区三区| 超碰午夜| 婷婷色播婷婷| 免费公开人人操| 色九九九综合| 12一15性XXXX粉嫩国产| 久久少妇视频| 精品久热| 1000部熟女视频在线观看| 日韩欧美成人大香蕉| 日本熟女不卡视频| 国产成人啪一区二区| 亚洲精品亚洲人成在线麻豆| 超碰导航97| 亚洲综合色男人网| 日韩熟女操逼| 97日韩欧美亚洲| 五月丁香网站| 亚乱色| 东北女人的毛片| 精品久久无码午夜福利| 国产又大又粗又色生活片亚洲国产精品成人久久久综合免费 | 伊人五月天| 国产精品爆乳懂色蜜乳| 亚州九九九精品视频| 丁香色五月 97干| 亚洲毛片基地专区| 亚洲国产中文字幕| 狼人综合婷婷激情四射 | 日本孕妇一区二区视频操逼免费看 | 色呦呦、国产精品| 嫖老熟女A片一二三区| 男人的天堂VA| 亚洲日韩欧美一区二区| 成人AV素股で擦久久| 999999精品| 婷婷五月色| 国产精品自拍xxxx| 午夜福利无毒不卡| 啊啊啊爽爽| 久久久成人精品| 麻豆60秒| 婷婷五月天丁香花| 一类av片在线看| 亚洲熟女av中文字幕| 久久一二三四不卡 | 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 狠狠图片青青草| 青草av在线| 亚洲日本激情| 亚洲欧美另类激情小说| 熟女探花啪啪| 中欧人妻丝袜中文字幕| 青青草公开在线免费不卡视频| 九九色色| 白嫩嫩一区| 日本性爱不卡视频| 国产av强奸美女| 97欧美超碰| 美女爽到高潮91| 嗯嗯啊啊啊啊轻点视频| 久草男人天堂| 欧亚久久偷拍视频| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 97在线欧| 久久国产999| 在线观看A啊啊啊| 久久综合乱子伦国产免费| 五月婷婷无码| 午夜一区| 久久久网站| 亚洲少妇综合在线播放| 日本黄色大片一级视频免费麻豆| 天天日骚逼熟女| 2026国产精品视频| 大香蕉手机在线| 夜夜嗨免费视频| 久久久久元码视频| 日本精品一区二区三| 亚洲欧美91√| 91骚熟女| 亚洲欧洲av影音| 国产精品福利资源在线尤物| 四虎精品永久在线播放| 亚洲性爱成人| 国产一区二区三区白丝| 秋霞蝌科网日本一区| 1禁看欧美黄片免费看| 国产一进一出视频网站| 丰满人妻无码一区二区三区| 717影院理论午夜伦八戒| 五月天激情小说网| 久久综合乱子伦国产免费| 97 国产一区| 亚洲精品国产av天美传媒| 亚洲欧美91√| 精品人妻av区天天看片| 亚洲中文字幕久久人妻| 人人透人人操| 99丝袜福利在线播放| 97人人中文网| 97AV在线免费观看| 亚洲天堂男| 成人性爱av.com| 黄色免费网| 精品一二三区久久AAA片| 91n处女在线观看| 亚洲无码久久久久久久| 无码日韩网站| 中文字幕免费观看| 国产丝袜一区二区三区| 亚洲资源站| 91久久免费视频互動交流| 韩国一级婬片A片无码天美| 日韩精品亚洲专区在线影视| 日本天天吊| 五十路熟女工口| 四虎av在线| 欧洲黄色网| 亚洲 欧美日韩 另类| 激情六月婷婷| 97视频新免费| 欧美日韩国产成人高清| 手机看片1024你懂的国产| 日韩AV片| 伊人午夜福利视频| 久久精品国产亚洲妲己影视| 99操碰| 啊啊啊啊啊操我视频| 欧美高潮| 精品国产91内射久久| 色色五月天婷婷| 农村妇女精品一区二区| 香蕉视频欧美一卡二卡| 看日韩操逼| 精品人妻1237| 91丝袜视频在线观看| 美女视频尤物网在线看| 日本三级中国三级99人妇网站| 欧美91网站| 无码高清操逼| 欧美久久九九| 久久精品导航| 最新国产亚洲精品精品国产亚洲综合| 大吊色| 黄片www视频免费| 天天色粽合合合合合合合| 国产视频小说| 日韩精品国产一区二区| 国精品一区二区三| 国产主播福利| 性色高清在线| 乱伦熟女专区| 亚洲综合影片| 立川理惠被中出无码| 丁香五月电影| 97国产精选| 亚洲一卡2卡3卡4卡乱码网站 | 欧美日韩99精品麻豆传媒| 九99久久| 婷婷五月天激情网| 超碰97人妻| 综合色图区| 亚洲天堂男| 另类小说五月天| 丝袜美腿91| 在线视频日韩欧美国产| 亚洲第一男人天堂| 操一区| 清纯唯美综合| 日韩女优中文字幕| 中文字幕黄片在线| 久久国模av| 国产成年精品高清在线观看91| 欧美三级免费伊人| 日本丝袜人妻内射| 国产白丝AV| 大香蕉操久久| 乱伦a片视频| 青青欧洲黑| 亚州操逼图| 超碰久久综合| 资源在线观一 二| 大JI巴好深好爽又大又粗视频| 99这里有精品| 亚洲国产婷婷在线播放| 欧美精品黑人猛交高潮| 91久久久久久久久久久| 色网在线视频观看免费| 欧美色图自拍| 亚洲色欲一区二区三区| 老熟女乱子伦中文字幕一区二区| 欧美色图小说综合| 九九热精品在线| 在线播放免费av福利片| 亚洲熟女一区二区| 青青青国产| 亚洲伊人a线观看视频| 人人九九精| 成人综合色网| 天天干天天操天天干天天操| a片偷拍视频| 日日嗨AV一区二区夜夜| 婷婷中文字幕| 亚洲系列第一页| 风间由美日韩欧美久久| 我中文字幕6区| www.激情| 日韩Va亚洲va欧美Ⅴa久久| 91精品人妻一品二品三品| 日韩在线AB| 新版天堂中文资源8在线| 欧美色女人| 少妇丝袜在线观看AV| 天天色悠悠激情| 大香蕉久| 日韩精品在线观看观看| 欧美一区二区男人天堂| 人妻丝袜日本| 久久9999 | 国产成人自拍视频视频| 亚洲日韩人妻中文字幕一区| 97久久超碰国产精品| 在线97在线| 日韩AV一区二区三区四四| 国产成人亚洲精品无码古代早漏男 | 免费精品中文字幕| 2020久久免费视频| 深夜福利黄片| 中文字幕乱妇免费视频| 9久9久| 在线情色电影 91大| 天美国产精品| 国产传媒美日韩av| 夜夜操91744565| 激情av| www…国产操逼| 国产精品人妻熟女aⅴ| 色吧5亚洲| 国产精品久久久久久久久久久久| 日韩97P| 易易A毛视频| 九九九九九九免费视频| 精吧天堂| 熟妇国产免费一区| 亚洲人妖网| 91偷拍欧美亚洲| 久久日韩毛| 天天舔天天 | 久久同城AV| 亚洲一区二区 麻豆传媒| 欧美 综合| 亚洲国产一区二区三区在线| 超碰久久性爱| 啊啊啊啊啊操我视频| 神马福利久草| 丝袜制服字幕在线| 日日AV加勒比| 国产精品一区二区麻豆| 精品人妻一区二区三区四区| 人妻丝袜一区二区三区在线| 国产老女人久久毛| www国产无码| 精品三级在线专区| 吖在线不卡一区二区国产剧情| 最新av中文字幕高清| 国产又猛又粗又爽又黄| 中国zzijzzijzzwww精品| 国模不卡| 大香交伊人网| 久草婷婷| 久久久性少妇| 大肥女高潮bbwbbwhd视频| 肏逼视频日本| 国产成人欧美一区二区三区的国产| 波多野42部无码喷潮在线观看| av日韩国产一区二区| 日本色色的视频| 婷婷色在线| 超碰97资源大奶| 欧美日韩婷婷中文| 亚州色图欧美色图| 一本色道无码DVD中文字幕| 欧美A片中文字幕| 久久精品国产亚洲AV无码做| 污啪啪啪视频| 欧美暴力猛交| 久久无码精品| 色欲无码人妻日韩欧美精品| 人妻人人操| 大香蕉十区| 国产精品97超碰| 中文乱码字字幕在线第5页| 国产成人精品必看 | 国产中文字幕在线观看| 欧美不卡五十路| 91快色色色色色| 日韩成人综合网| 欧美大香蕉97| 无码人妻一区二区三区四区老鸭窝| 欧美高清无码免费视频高清版| 国产网站在线播放| 动漫片子网站3黄| 一本大道久| 国产91啪| 一本大道综合伊人精品热热| 激情欧美97| 风流老熟女一区二区三区l| 久久国产视频性吧| 少妇熟女视频一区二区三区| 国产精品成久久久久午夜午夜| 成人免费不卡在线视频| 国产黄色动态精品| 欧美性天天| 国产精品久久久三级无码| 99热导航| 91福利网在线观看| 玖玖视频在线资源一区二区三区| 极品一区二区三区免费| 青娱乐亚洲自拍| 国产性感骚丝袜在线| 国产精品在线免费| · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 | 久插不卡| 99久久亚洲精品无码毛片潘甜甜| 欧美另类色图片| 青青草在线视频美女| 午夜福利av电影在线| 丰满人妻一区二区三区在线| 亚洲欧美黄| 久久婷婷精品| 色图四区| 久久久工口| 一区二区三区四区理论片| 翔田千里av一区二区三区| 999 久久久| ,成人免费啪啪视频| 欧美丝袜激情| 日韩性爱1级片视频| 欧美熟女妇同| 欧美国产欧美在线观看| 久久99草| 麻豆国产96在线| 久久是精品| JULIA一区二区三区在线播放| 中文一区二区| 97av在线视频| 麻豆天美91| 亚州操操穴网| 素人一区二区三区日韩| 爱妻综合网| 亚洲熟女av日韩熟女| 亚洲AV色图一区| 欧美做爰无码A片视频| 9美女超碰在线免费观看| 亚洲AV无码乱码在线观看性色| 欧美日日人人天天| 日本三级中国三级99人妇网站| 国产熟女无套内射| 中文字幕亚洲欧美在线不卡| 欧美亚洲日本视频久久久| …中文字幕亚洲乱,97人妻无码费视…| 无码在线亚洲| 97天天摸天天爽| 日韩精品熟妇| 九九黄色视频在线观看| 日本道不卡| 久久天天躁日日躁狠狠躁 | 日日日日做夜夜夜夜做无码97| 亚欧国产无码精品在线| 日本一级特级毛片视频| 中文久久96| 99热久| 欧美五十路熟| 熟妇人妻精品一区二区| 伊人丝袜美腿高跟在线观看高清| 伊人女女资源在线观看| 欧美色网| 另类欧美| 国产熟女| 91粉芽高清在线一区二区| 你懂的在线观看区国产| 欧美色九九| 高潮嗯啊性感美女久久久| 欧美黄片视频在线观看免费| 国产JDAV无码视频在线观看| 欧美色图99| 国产亚卅97| 开心五月婷婷激情| 国产乱伦亚洲| 精品少妇999| 人人妻天天做天天爽| 久久免费中文字幕在线观看| 无码在线亚洲| 国模艳艳啪啪一区| 乱伦一二三| 国产91美女视频| 天天综合网1| 大稥蕉免费视频这里只有精品| av无码精品久久久久| 99久久精品国产系列| 日韩射图| 精品妇操一区二区三区| 欧美精品双插| 人人爽夜夜操| 人妻密肉在线观看| 超91综合网| 99久久久久| 国产欧美日韩精品中文| 国产一在线观看| 黑人免费福利视频| 97日韩欧美| 色色九区| 久久久久久十| 超碰在线91| 亚洲一区中文字幕| 九九九九热只有精品| 尤物视频偷拍免费| 精品久久艹| 久久久国产精品亚洲精品| 久草婷婷| 欧美97视频| 久久大陆| 蜜桃精品一区二区三区久在线| 亚洲 欧美 小说| 一个人在线看的黄色电影网站| 中文伊人大香蕉视频| 99热免费| 97超碰色五月| 亚洲 图片 欧美 色图| 蜜臀av中字字幕网站| 欧洲综合视频| 粉嫩少妇自慰在线| 伊蕉97蜜桃97狠狠综合干| 97视频620| 国产精品电影推荐| 亚洲人精品午夜不卡| 天天搞欧美| 有码专区最新中文字幕有码| 欧洲人妻视频| 97欧美超碰| 国产 亚洲 一二三四| 国产成人无码a| 国产精品自拍xxxx| 午夜男人一级A片7777| 久久五月婷| 综合网欧美在线| 欧美人妻二区三区| 久久久久密臀视频| 性欧美999| 干超碰碰熟女| 精品人体无圣光凹凸| 凸凹视频在线观看| 小草三级久久观看| 久久亚码| 97超碰9| 91香蕉视频在线观看免费| 一本一道vs波多野结衣| 91校园春色长篇| 亚洲精品天天影视综合网 | av情色影音| 亚洲色图伊人网| 中国和日本人色哪个不下载能放| 在线视频亚洲无码| 色爱三区| 日韩伦理久 久久 清纯| 涩涩久久精品| 九色黄站| 亚洲中文字母在线播放| 色婷婷aV一区二区三区麻豆综合| 亚洲黄a三级三级三级看三级| 欧美的精品的视频| 操逼片国产| 亚州伊人色综台| 久久久免费懂色| 91少妇| 午夜寂寞欧美| 欧美色图私拍91| 激情在线青青操| 欧美综合娱乐久久| 内射白嫩美女| 后入合集| 亚洲AV无码黄色强奸| 久久久久久性爱片| 色吊丝 日日骚 清纯唯美| 370p日韩欧美亚洲精品| 色av中文字| 人妻少妇精品久久久久久| 日本 色 导航| 伊人97色天使| 91精品人妻一区二区三区蜜臀| 久久九九视频九九视频| 天天综合欧美综合| 91色图| 午夜天堂精品久久久久91| 一级黄碟| 国产毛片在线| 青青草乱入乱欲视频在线观看| 国产传媒日韩| 亚洲天堂中文字幕无码男同| 精品超碰色| 丝袜熟女一区二区三区| 久久少妇人妻| 做爱A级亚欧| 神马久久网| 免费看黄片现成| 久久9亚洲| 亚洲国产综合图区中文字幕 | 精品视频久久区| 这里只有精品视频在线观看麻豆| 熟女自慰久久久| 13小男生GAY自慰脱裤子| 无码99| 欧美v日韩v亚洲v最新在线| 五月激情影院| 大香蕉综合网| 久草久热| 岛国片在线视频网站| 精品人妻一区二区免费蜜桃| 欧美性爽xyxOOOO| 色盈盈影院| 粉嫩av久久一区二区三区| 美女主播色欲91抠b在线播放| 女欧美一区二三区| 无码视频一区二区| 无码WWW免费视频网站| 午夜精品久久999热蜜桃介男人用| 伊人精品久久网站| 国产精品国产| 日韩人妻无码专区| 欧美大片91| 人人操天天爽| 一本大道不卡一二三区| 嗯嗯啊啊的视频| 欧美精品1区2区3区| 揉揉揉夜夜| 九九热免费国产视频婷婷伊人五月 | 天天爽入口| 天天弄天天操| www久久国产精品| 亚洲综合性网址| 天天日天天干天天整| 99少妇| 91暧暧| 美女操逼福利视频| 婷婷午夜清品久久久久久久性色视频观| 日韩一区二区精品视频| 亚洲一卡二卡在线免费| 日本精品九九九| 精品色色| 日韩操逼HD| 97美日韩视频| 欧美色天堂网在线视频| 国产精品午夜高潮呻吟久久av| 中国熟妇| 北条麻妃性愛视频| 99色视频| 久久久久久久亚洲Av无码| 日韩本不卡视频在线观看| 91大神电影天堂| 激情久久久| 精品人妻视频入口| 91老妇女| 美美91成人国产精品欧美精品久久久久久久| 91久久精品中文字幕| 久久久久久免费电影| 婷婷色色五月| 国产美女精品| 在线观看综合精品亚洲| 偷拍 亚洲 欧美| 今日头条成人一区二区三区四虎精品| 久久久成人国产精品无码| 国产路线专区| 精品一二三区四视频| 午夜人妻精品综合在线| 青青操综合网| 一二三区操逼国产91| 91 国产丝袜在线播放-百度| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 蜜桃av综合网发布| 92性色国产午夜福利在线661| 天天综合欧美黑人| 裸体美女久久久| 人妻密肉在线观看| 亚洲第一页色| 99热日本| 国产欧美日韩在线不卡第一页| 收看日本人日bb| 日本一区不卡| 啊v在线观看视频| 国产又大又粗又长视频| 欧美成人色| 国产精品2020| 99热超碰| 夜夜肏2021| 国产无马av| 黄aaaaaaaaaaaaaaaaaa色网站| 国产黄色小视频网站| 久久久9999| 色妇综合网| 少妇高潮一区二区三区在线| 亚洲女人毛茸茸91| 极品一区二区三区免费| 在线一区| 欧美天堂亚洲电影院一区在线播放| 麻豆av一区二区三区| 亚洲国产综合久久天堂| www四虎| 色色99| 男人天堂2012| 超碰日本97美女人妻人人玩人人爱| 久久人妻精品| 天天操天天插| 日韩av女优在线免费一区| 狠狠操狠狠| 91欧美高清| 久热色情精品| 亚洲精品天天影视综合网 | 97资源站久久| 久久久无码精品人妻二区| 国产精品白丝AV| 欧美性高潮在线| 青青草好吊色| 国产精品久久久啊| 成人av在线播放| 无码WWW免费视频网站| 午夜理论片在线观看免费| 欧美性爱伊人| 五月色综合| 国产四虎在线| 极品后入免费视频| 超碰视97中文| 91欧美经典| 日韩强奸av| 一本一道波多野毛片中文在线| 一级特级aaaa毛片免费观看 | 中文字幕99999| 无遮挡一级毛片视频免费的| 一牛影视成人片免费| 婷婷深爱五月| 一区二区三区国产精产| 青青草成人视频在线观看二区| 九九九九九九九九九九九蜜桃| 97欧美综合网| 74成人在线| 十八禁视频网站| 久久久久久大| 一级免费精品| 美日韩男女操屄视频| 特级丰满少妇一级AAAA爱毛片| 人妻久久久| 亚洲欧美一区二区不卡视频播放| 四虎影视国产精品| 国产福利电影| 强奸xx国产| 91撸色网 玖玖网 欧美| 久久精品一区一起草| 亚洲影院成人| 国产免费一区在线观看| 亚洲精品天天影视综合网| 啊啊在线| 中国少妇XXXX做受| 五月天婷婷欧美三区| 天天内射| A级在线视频| 一区二区三区机械有限公司| 日本 免费 一区二区三区 久久香蕉| 无码精品啪啪啪一区二区三区三州| 一级二级在线观看| 久操热线| 亚洲青青草| 国产福利视频精品视频| 97色色网| 欧美 日韩第一性色| 日韩激情毛片一级久久久| 激情第四色| 热G综合热G中文| 福利社区午夜一区二区| 97精品国产97久久久久久户外免费| 中文日韩欧美熟| 17c在线成人免费A片观看| 久久极品一区二区| 青青草AV色| 免费啪啪一级视频| 91中文精品日韩欧美在线| 亚洲熟女av中文字幕| 深夜激情无码| 久污| 四虎影视永久在线免费| 一及黄久一点| 久久亚洲AV无码白度| 婷婷五月天AV| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 狠狠操天天干| 久久有码视频| 欧美v亚洲v日韩v最新在线二区| 磁力99AV| 人人摸.人人色| 91夜色chaopeng| 日韩免费中文字幕视频| 亚洲无套久久嗯嗯| 九九九九九精品| 欧美色图天堂在线| 国产精品夜夜| 超踫中文字幕| 91亚洲欧洲| 鲁鲁色综合网| 黄色大片视频在线免费看| 天天添天天干电影| 欧美91在线| 澳门成人网站久国产日韩| 亚洲国产另类在线中文| 精品一区二区三区最新| 欧州一区二区三区四区| 国产嫩草精品A88AV在线| 成人午夜高潮av猛片| 亚洲高清视频在线观看| 亚瑟国产精品久久无码| 小骚逼被操的爽不爽| 免费在线黄片视频| 91精品久久久久久| 99色视频| 欧美精品久久96人妻无码| 成人色女网| 无码精品久久久天天影视| 91性| 超碰人人在线| 麻豆天美91| 熟女中出视频| 日韩一级成人毛片免费观看 | 麻花传媒免费网站在线观看| 男人的天堂无码| 久久婷婷色| 狠狠操狠狠操操| 色九九九综合| 国产女人成人精品视频| 成人怡红院| 美女AV一区二区| 亚洲免费人妻在| 久热一区二区| 囯产精品强| 天天插天天干| 国产黄色影片在线观看| 免费男人的天堂| 色av中文字| 精品国产丝袜一区二区三区乱码 | 日本 欧美 国产一区| 综合夜夜| 人妻人妻天天碰| 激情五月天综合网| 亚洲精品国产无码高清| 超碰导航97| 夜夜久久| 激情五月天综合网| 日韩在线一区高清在线| 躁躁躁日日躁2020| 国产精品久久久999| 亚洲人妻一区二区三区| 视频在线观看免费一区二区三区| 中文字幕视频二区| 嗯嗯啊啊视频一区二区三区| 久久99综合| 视频在线观看免费一区二区三区 | 中文伊人大香蕉视频| 国产精品久久久久亚洲av| 亚洲有码视频二区| 日本道日本道中文字幕日本道最新日本道在线观看 | 午夜丁香婷婷| 伦伦成年午夜免费视频| 亚洲综合影院| 老熟乱一区二区三区四区| 熟女一区二区三区| 国产不卡精品91| 成人性爱电影一区二区| 99久久久久久亚洲精品不卡| 变态综合色| 美女骚尻视频| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 另类图片五月天| 亚洲揄拍网| 亚洲熟妇丝袜在线观看| www99热| 91狼人| 国产精品宅男免费| 女同女同恋久久级三级| 国产精品999aaa| 久久99国产精品| 玖玖爱视频网站| 狠狠干2020| 亚洲网污污污污| 欧美视频第二页| 91丝袜美腿网站| 天天操av懂色| 日本高清电影欧美色图| 五月婷色| 久久丁香五月天| 天天干人妇| 国产一区二区av综合| 亚洲最大成人a毛毛片| 亚洲成aⅴ人片不卡无码| 免费AV中文网在线观看| 91老女人| 人妻另类 专区 欧美 制服| 久久久蜜桃臀无码视频| 亚洲在线a| 国产91 丝袜在线播放00-百度| 人人澡人人干| 97综合国产| 91超碰在线| 天天视频黄| 亚洲乱色熟女一区| 久久久亚洲Av| 93人人操人人| 人妻精品视频一区二区| 最近的最新的中文字幕视频| 亚洲乱码尤物193YW| 黄aaaaaaaaaaaaaaaaaa色网站| 91精品啪在线观看国产城中村| 精品国产乱码久久久久久口爆网站| 午夜爽爽爽在线观看永久入口姬片| 亚欧无码在线| 巨爆乳肉感一区二区三区竹菊影视 | 男人下部插入女人下部| 亚洲色性情三级| 亚州色图片在线色| 中出20p| 99re99| 国产精品久久妻无码网站| 黄片免费视频2019| 久久亚洲AV无码专区国产精品| 一区二区三区视频在线观看免费| 91中文在线| 欧美日韩人人精品| 亚洲综合69| 又黄又硬又粗又长国产视频| 激情小说亚洲| 亚洲图片激情综合另类| 亚洲国产午夜真人一级片中文字幕精品黄网站| 熟女人妻一区二区三区| 99热精品在线观看| 97精品视频免费| 超碰97.com| 2021国产成人精品久久| 欧美日产国产在线成人第一区| 久草免费在线一区二区| 国产伦精品一区二区三区视频女| 精品国产99| 91视频女生| 新亚洲无码| 亚洲精品中文字幕一区在线视频| 久久精品国产精品亚洲艾通辽熟妇 | 中文字幕1区2区| 免费精品国偷自产在线在线| 插穴性爱视频在线观看| 男人天堂2012| 色综合99999| 超清中文乱码字幕| 亚洲精品中文字幕一区在线视频| 久久精品国产精品亚洲艾通辽熟妇| 青青久操| 中文字幕制服诱惑| 高清成年美女黄网站免费大全| 五月婷婷激情综合| 欧美亚洲成人在线一区二区三区| 欧美在线啊啊| AA特级绝黄| 亚洲男人的天堂V| 青青草在线视频播放器| 日韩中文字幕国产| 亚洲精品视频二区| 俺去啦自拍| {男男暴菊gay无套网站| 成人在线日韩| 97欧美色综合| 国产三级资源在线观看| 裸体美女国产免费久久久网站| 天天色怡春院| a亚洲欧美色欲| 长长久久88视频| 亚洲情色 无码专区| 51久久夜色精品国产麻豆| 美女超碰978| 久久有码视频| 亚洲激情在线一区二区| 97伪v| 久久精品午夜国产亚洲AV无码| www.婷婷| 国产丝袜啪啪| 最近的最新的中文字幕视频| 亚洲网污污污污| 亚洲图片色图欧美另类| 97人人中文网| 国产v亚洲v日韩v欧美v片另类| 五月婷婷大香蕉| yazhououmeizongya| 思思热在线cao| 亚洲精品一卡二卡三卡福利视频网站| 超碰精品日韩欧美国产| 亚洲图片欧美91N| 78操B| 色五月综合| 欧洲视频在线| 青青草日韩无码| 欧美 色 亚洲| 天天流夜夜操| 精品传媒在线一区| 日本三级韩国三级99| 欧美日韩欧美| caorenqi shipin| 91美女在线| 少妇二级| 中文乱码字字幕在线第5页| 99re这里只有精品中心播放| 日韩一级二级三级在线不卡观看完整| 青草视频在线看看看看看看看看看| 97视频播放| 人妻激情偷乱视频一区二区三区 | 免费人成?大片在线播放| 欧美日日人人天天| 五月婷婷激情综合| 日日操夜夜操天天操免费观看麻豆| 91校园春色长篇| 97操| 夜夜久久| 玖玖爱免费观看视频| 欧美性第1页| 91麻豆天美国产欧美| 国产偷拍网站| 涩涩久久精品| 久99久视频| 校园春色综合网| 青青草大香蕉在线视频| 九九久久一区二区伦理| 青青草原av| 偷窥自拍亚洲色图| 中国少妇XXXX做受| 精品视频一区二区| 人妻碰碰碰碰碰碰| 搞中出久久| 97色操| 久久超碰、| 爆操无码| 欧美色涩| 男人的亚洲天堂| 九九黄色网| 最新av中文字幕高清| 久草成人影片| 久久久啊啊| 夜嗨影院| 97亚洲综合| 男人的天堂无码| 欧美综合骚| 日韩AV无码中文一区二区| 久久加勒比| 男人把坤坤插入女人的下体| 超碰av在线| 大黄片做爱的大的| 97chaopengongkai| www.AV有限公司一区| 丁香五月色| 日韩成人在线性爱视频| 2017,超碰| 极品后入免费视频| 91校园春色长篇| 午夜偷拍久久熟女| 青春草莓视频在线观看网址| 视频在线中文字幕| 综合国产97| 久久人人爽人人爽人人片Ⅴ| 13小男生GAY自慰脱裤子| 精品无人区麻豆乱码1区2区图片| 一区=区三区视频| 五月婷久久| 影音先锋视频在线| 亚洲欧美日韩中文播放| 欧美96交| 999 久久久| 嗯嗯啊啊操死我| 99性爱| 免费一级毛片在线视频观看| 亚洲成人在线高清| 97超碰色色| 91青青在线| 女上位精品在线| 九九九九九用不成了| 九月丁香婷婷| 一级黄色影片| 国产人妻天天干精品| 尤物黄色在线观看网站| 人人摸人人入| 精品久9| 亚洲精品国产拍免费91在线| 国产第二页| 色香在线| 综合网久久| 国产日韩精品一区二区三区| 欧美国产精品久久九九| 在线无码操| 成人性爱av| 手机午夜电影神马久久| 日本色色色网站免费看不卡| 久久久999国产精品| 午夜精品久久久久久久99| 性色av一区二区| 天堂精品小草| 蜜臀99999| 日逼五月天| 久久綜合很很很| 国产又大又粗又长视频在线| 国产一区二区三区不卡手机在线| 国色天香av| 日韩pv中文| 天天干天天日天天射黄色大片| 天天综合日韩网| 69精品在线| av操操不卡| 亚洲永久永久永久永久一级一级一级精品 | 91丨国产丨白浆| 欧美另类色| 国产传媒美日韩av| 欧美少妇性乱| 夜夜操一区二区| 蜜桃臀一区二区aV| 超碰 欧美| 国产美女自拍视频| 99999精品| 丰满美女一级毛片在线播放| 性爱视频啪啪啪啪| a天堂视频| 久久XX| 99久久久无码|