日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

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

前端HTML轉(zhuǎn)PDF全攻略:從瀏覽器打印到Puppeteer與html2canvas實(shí)戰(zhàn)

前端HTML轉(zhuǎn)PDF全攻略:從瀏覽器打印到Puppeteer與html2canvas實(shí)戰(zhàn) 1. 項(xiàng)目概述為什么要在瀏覽器里把HTML轉(zhuǎn)成PDF作為一名前端開發(fā)我?guī)缀趺恐芏紩?huì)遇到需要把網(wǎng)頁內(nèi)容導(dǎo)出成PDF的場景。可能是后臺(tái)管理系統(tǒng)的數(shù)據(jù)報(bào)表可能是電商平臺(tái)的訂單詳情也可能是用戶需要離線保存的個(gè)性化文檔。以前這類需求通常要扔給后端用Java的iText、Python的ReportLab或者PHP的TCPDF等庫在服務(wù)器端生成。但這樣做的痛點(diǎn)很明顯服務(wù)器壓力大、生成速度依賴網(wǎng)絡(luò)、動(dòng)態(tài)內(nèi)容比如用戶實(shí)時(shí)填寫的表單處理麻煩而且樣式還容易跑偏?,F(xiàn)在隨著現(xiàn)代瀏覽器能力的不斷增強(qiáng)尤其是JavaScript API的日益豐富在瀏覽器端直接完成HTML到PDF的轉(zhuǎn)換已經(jīng)成為一個(gè)非常主流且高效的解決方案。它把計(jì)算壓力分散到了每個(gè)用戶的終端實(shí)現(xiàn)了“所見即所得”的精準(zhǔn)打印還能完美支持前端框架如Vue、React渲染的動(dòng)態(tài)內(nèi)容。今天我就結(jié)合自己踩過的無數(shù)個(gè)坑系統(tǒng)梳理一下在瀏覽器中實(shí)現(xiàn)HTML轉(zhuǎn)PDF的幾種核心方式從最簡單的打印到最復(fù)雜的自定義渲染幫你找到最適合你業(yè)務(wù)場景的那把“瑞士軍刀”。2. 核心方案全景與選型邏輯在深入細(xì)節(jié)之前我們得先搞清楚有哪些“武器”可用以及什么情況下該用什么。瀏覽器端生成PDF本質(zhì)上都是利用瀏覽器自身的渲染引擎如Blink、WebKit將HTMLCSS渲染成頁面再將其“打印”或“捕獲”為PDF格式。根據(jù)實(shí)現(xiàn)原理和控制粒度主要可以分為三大流派。2.1 方案一瀏覽器原生打印window.print這是最古老、最直接也最容易被低估的方法。直接調(diào)用window.print()會(huì)彈出系統(tǒng)的打印對(duì)話框用戶可以選擇“另存為PDF”。它的優(yōu)勢是零依賴、全瀏覽器支持。但缺點(diǎn)也同樣突出你無法以編程方式靜默觸發(fā)無法精細(xì)控制分頁、頁眉頁腳并且會(huì)受用戶本地打印機(jī)設(shè)置的影響。適用場景對(duì)PDF格式要求不高僅需提供“打印”功能讓用戶自行選擇保存為PDF的簡單頁面。例如一篇博客文章、一個(gè)簡單的通知。2.2 方案二HTML Canvas / SVG 渲染后轉(zhuǎn)換這種思路比較“曲線救國”先將HTML內(nèi)容通過html2canvas這類庫渲染成一張圖片Canvas然后再利用jsPDF等庫將圖片嵌入PDF中。它的最大優(yōu)點(diǎn)是能100%還原視覺表現(xiàn)包括復(fù)雜的CSS3動(dòng)畫、漸變、甚至Web字體因?yàn)楸举|(zhì)上就是截圖。但致命缺點(diǎn)是生成的PDF是位圖文字無法選中、搜索文件體積巨大且放大后會(huì)模糊。適用場景需要精確還原復(fù)雜視覺設(shè)計(jì)如海報(bào)、邀請函、數(shù)據(jù)可視化大屏的導(dǎo)出且對(duì)文件可編輯性和文字檢索無要求。2.3 方案三基于瀏覽器打印API的封裝庫主流推薦這是目前綜合體驗(yàn)最好的方案。其核心是使用一個(gè)“無頭瀏覽器”Headless Browser或?yàn)g覽器提供的編程接口在內(nèi)存中加載并渲染你的HTML然后調(diào)用其底層的打印功能生成PDF。對(duì)于前端開發(fā)者而言我們通常使用封裝好的第三方庫它們屏蔽了底層復(fù)雜性。根據(jù)實(shí)現(xiàn)原理又可分為兩類html-pdf/Puppeteer服務(wù)端方案嚴(yán)格來說這需要Node.js環(huán)境。庫會(huì)在后臺(tái)啟動(dòng)一個(gè)無頭Chrome如通過Puppeteer訪問一個(gè)URL或一段HTML字符串來生成PDF。雖然運(yùn)行在“服務(wù)器”但渲染引擎和生成邏輯與瀏覽器完全一致且可以由前端通過API調(diào)用觸發(fā)。jsPDFhtml2canvas的混合方案如前所述這是純前端方案但屬于Canvas流派。Print.js一個(gè)輕量級(jí)庫主要用于打印頁面的特定部分其PDF生成功能本質(zhì)上也是引導(dǎo)用戶使用瀏覽器的打印對(duì)話框但提供了更友好的API和樣式隔離。選型決策樹需求是“精確打印樣式”且“文字需可檢索”- 首選方案三特別是Puppeteer方案。需求是“完美復(fù)刻視覺特效”且不介意圖片格式- 選擇方案二html2canvas jsPDF。需求是“簡單提供打印功能”- 使用方案一或Print.js。接下來我將重點(diǎn)剖析方案三中最強(qiáng)大、也最常用的Puppeteer方案以及純前端的html2canvasjsPDF方案的完整實(shí)現(xiàn)與避坑指南。3. 基于Puppeteer的服務(wù)器端精準(zhǔn)生成雖然Puppeteer運(yùn)行在Node.js環(huán)境但它完美復(fù)現(xiàn)了Chrome瀏覽器的能力生成的PDF質(zhì)量最高控制選項(xiàng)最全是生產(chǎn)環(huán)境的首選。我們可以在后端部署一個(gè)服務(wù)接收前端發(fā)送的HTML內(nèi)容或URL返回PDF文件流。3.1 環(huán)境搭建與基礎(chǔ)實(shí)例首先你需要一個(gè)Node.js項(xiàng)目。npm init -y npm install puppeteer下面是一個(gè)最基礎(chǔ)的生成PDF的Node.js腳本const puppeteer require(puppeteer); const fs require(fs).promises; (async () { // 1. 啟動(dòng)瀏覽器。建議在無頭模式下運(yùn)行以節(jié)省資源。 const browser await puppeteer.launch({ headless: new }); // new 是更新的無頭模式 const page await browser.newPage(); // 2. 設(shè)置頁面內(nèi)容。這里有兩種方式 // 方式A通過URL加載一個(gè)已存在的網(wǎng)頁 // await page.goto(https://your-website.com/report, { waitUntil: networkidle0 }); // 方式B直接設(shè)置HTML字符串更靈活無需部署頁面 const htmlContent !DOCTYPE html html head meta charsetutf-8 style body { font-family: Arial; padding: 20px; } h1 { color: #333; } /style /head body h1銷售報(bào)表/h1 p生成時(shí)間${new Date().toLocaleString()}/p table border1 stylewidth:100%; border-collapse: collapse; trth產(chǎn)品/thth銷量/th/tr trtd商品A/tdtd120/td/tr /table /body /html ; await page.setContent(htmlContent, { waitUntil: domcontentloaded }); // 3. 生成PDF。這里的配置選項(xiàng)是關(guān)鍵 const pdfBuffer await page.pdf({ format: A4, // 紙張大小: A4, Letter等 printBackground: true, // 打印背景圖形和顏色至關(guān)重要 margin: { top: 50px, right: 50px, bottom: 50px, left: 50px }, // displayHeaderFooter: true, // 顯示頁眉頁腳 // headerTemplate: div stylefont-size:10px; text-align:center;頁眉/div, // footerTemplate: div stylefont-size:10px; text-align:center;第span classpageNumber/span頁/共span classtotalPages/span頁/div, }); // 4. 保存PDF到文件 await fs.writeFile(output.pdf, pdfBuffer); console.log(PDF已生成: output.pdf); // 5. 關(guān)閉瀏覽器 await browser.close(); })();注意printBackground: true這個(gè)選項(xiàng)必須開啟否則你的CSS背景色、背景圖片統(tǒng)統(tǒng)不會(huì)出現(xiàn)在PDF里這是新手最容易踩的坑。3.2 高級(jí)配置與樣式控制生成簡單的PDF不難難的是讓生成的PDF和你在瀏覽器里看到的一模一樣并且符合打印規(guī)范。1. 解決分頁與元素被切斷問題表格或一個(gè)div在頁面底部被生生切成兩半是PDF生成中最丑陋的問題。CSS提供了專為打印設(shè)計(jì)的屬性來解決/* 在用于生成PDF的HTML的CSS中添加 */ .keep-together { page-break-inside: avoid; /* 現(xiàn)代瀏覽器 */ break-inside: avoid; /* 更新的標(biāo)準(zhǔn) */ } .force-page-break-before { page-break-before: always; } .force-page-break-after { page-break-after: always; }將classkeep-together應(yīng)用到你不希望被分頁符切斷的容器上。對(duì)于標(biāo)題可以使用force-page-break-before確保新章節(jié)從新的一頁開始。2. 使用打印樣式表Print CSS網(wǎng)頁的屏幕樣式和打印樣式通常需求不同。你應(yīng)該在HTML的head中引入一個(gè)專為打印優(yōu)化的CSS并通過媒體查詢來定義。head link relstylesheet hrefscreen.css mediascreen link relstylesheet hrefprint.css mediaprint !-- 或者使用媒體查詢 -- style media screen { .only-for-screen { display: block; } } media print { .no-print { display: none !important; } /* 隱藏不需要打印的元素如按鈕 */ body { font-size: 12pt; line-height: 1.5; } /* 打印常用字體單位 */ a { text-decoration: none; color: black; } /* 鏈接處理 */ /* 確保背景色打印 */ * { -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; color-adjust: exact !important; } } /style /head-webkit-print-color-adjust: exact;是強(qiáng)制瀏覽器打印背景色的關(guān)鍵CSS屬性。3. 自定義頁眉頁腳Puppeteer的headerTemplate和footerTemplate支持簡單的HTML字符串并內(nèi)置了pageNumber,totalPages,date,title,url等變量。但請注意這些模板的樣式受限制且高度會(huì)計(jì)入margin的范圍。await page.pdf({ displayHeaderFooter: true, margin: { top: 100px, bottom: 100px }, // 為頁眉頁腳留出空間 headerTemplate: div stylefont-size: 8px; width: 100%; text-align: center; 公司機(jī)密 - span classtitle/span /div , footerTemplate: div stylefont-size: 8px; width: 100%; text-align: center; padding-top: 10px; border-top: 1px solid #eee; 第 span classpageNumber/span 頁 / 共 span classtotalPages/span 頁 /div , });3.3 性能優(yōu)化與實(shí)戰(zhàn)心得在實(shí)戰(zhàn)中直接使用上述腳本會(huì)遇到性能問題。每次生成PDF都啟動(dòng)一個(gè)瀏覽器實(shí)例開銷巨大。1. 復(fù)用瀏覽器實(shí)例Warm Pool對(duì)于高并發(fā)場景應(yīng)該維護(hù)一個(gè)瀏覽器實(shí)例池。// browser-pool.js - 一個(gè)簡單的瀏覽器池示例 const puppeteer require(puppeteer); const genericPool require(generic-pool); // 需要安裝 npm i generic-pool const factory { create: async () { return await puppeteer.launch({ headless: new, args: [--no-sandbox, --disable-setuid-sandbox] }); }, destroy: async (browser) { await browser.close(); } }; const pool genericPool.createPool(factory, { max: 5, // 最大實(shí)例數(shù) min: 1, // 最小實(shí)例數(shù) autostart: true }); module.exports pool; // 使用池 const pool require(./browser-pool); async function generatePDF(html) { const browser await pool.acquire(); const page await browser.newPage(); try { await page.setContent(html, { waitUntil: networkidle0 }); const pdf await page.pdf({ format: A4, printBackground: true }); return pdf; } finally { await page.close(); // 關(guān)閉頁面而不是瀏覽器 await pool.release(browser); // 將瀏覽器實(shí)例放回池中 } }2. 字體嵌入問題如果你使用了自定義字體如思源黑體必須確保字體文件能被Puppeteer訪問到并正確聲明在CSS中。style font-face { font-family: MyFont; src: url(file:///absolute/path/to/your/font.woff2) format(woff2); /* 本地絕對(duì)路徑 */ /* 或者將字體轉(zhuǎn)為Base64嵌入 */ src: url(data:font/woff2;base64,d09GRgABAAAA...) format(woff2); font-weight: normal; font-style: normal; font-display: swap; } body { font-family: MyFont, sans-serif; } /style更穩(wěn)妥的做法是將字體文件放在服務(wù)器上通過HTTP URL引用或者將字體轉(zhuǎn)換為Base64直接嵌入CSS避免路徑問題。3. 處理異步加載內(nèi)容如果你的頁面內(nèi)容是通過JS異步加載的比如Vue/React渲染或Ajax請求數(shù)據(jù)必須確保在生成PDF前內(nèi)容已完全就緒。// 等待某個(gè)特定元素出現(xiàn) await page.waitForSelector(#data-table-loaded, { timeout: 10000 }); // 或者等待所有網(wǎng)絡(luò)請求基本完成對(duì)于SPA應(yīng)用更有效 await page.setContent(html, { waitUntil: networkidle0 }); // 網(wǎng)絡(luò)空閑至少500ms // 或 await page.goto(url, { waitUntil: networkidle0 }); // 對(duì)于更復(fù)雜的情況可以注入腳本主動(dòng)通知 await page.evaluate(() { return new Promise((resolve) { // 假設(shè)你的應(yīng)用在加載完成后會(huì)觸發(fā)一個(gè)事件 window.addEventListener(app-ready, resolve); // 或者檢查某個(gè)全局變量 const check setInterval(() { if (window.appData window.appData.loaded) { clearInterval(check); resolve(); } }, 100); }); });4. 純前端方案html2canvas jsPDF 實(shí)戰(zhàn)當(dāng)你沒有Node.js服務(wù)器或者需要完全在客戶端離線操作時(shí)html2canvasjsPDF的組合是唯一可行的純前端方案。其工作流程分兩步1. 將目標(biāo)DOM節(jié)點(diǎn)“截圖”成Canvas2. 將Canvas圖片添加到j(luò)sPDF實(shí)例中。4.1 基礎(chǔ)集成與核心代碼首先安裝依賴npm install html2canvas jspdf # 或直接使用CDN基礎(chǔ)實(shí)現(xiàn)代碼import html2canvas from html2canvas; import jsPDF from jspdf; async function exportToPDF(elementId, filename document.pdf) { // 1. 獲取目標(biāo)DOM元素 const element document.getElementById(elementId); if (!element) { console.error(Element not found!); return; } // 2. 使用html2canvas將元素渲染為Canvas const canvas await html2canvas(element, { scale: 2, // 提高縮放倍數(shù)以獲得更清晰的圖片但會(huì)增加文件大小和處理時(shí)間 useCORS: true, // 如果元素中有跨域圖片需開啟此選項(xiàng) allowTaint: true, // 同上但可能帶來安全風(fēng)險(xiǎn)優(yōu)先用useCORS backgroundColor: #ffffff, // 強(qiáng)制白色背景避免透明背景 logging: false, // 關(guān)閉調(diào)試日志 onclone: function(clonedDoc) { // 回調(diào)函數(shù)用于操作克隆的文檔樹例如臨時(shí)顯示打印專用元素 const printOnlyEl clonedDoc.getElementById(print-only); if (printOnlyEl) printOnlyEl.style.display block; } }); // 3. 獲取Canvas的圖片數(shù)據(jù) const imgData canvas.toDataURL(image/jpeg, 1.0); // 也可用image/png但PNG體積更大 // 4. 初始化jsPDF計(jì)算尺寸 const pdf new jsPDF({ orientation: portrait, // 或 landscape unit: mm, format: a4 // A4尺寸: 210mm x 297mm }); const pdfWidth pdf.internal.pageSize.getWidth(); const pdfHeight pdf.internal.pageSize.getHeight(); // 5. 計(jì)算圖片在PDF中適配的尺寸保持寬高比 const imgWidth canvas.width; const imgHeight canvas.height; const ratio Math.min(pdfWidth / imgWidth, pdfHeight / imgHeight); const scaledWidth imgWidth * ratio; const scaledHeight imgHeight * ratio; // 6. 將圖片添加到PDF居中 const x (pdfWidth - scaledWidth) / 2; const y (pdfHeight - scaledHeight) / 2; pdf.addImage(imgData, JPEG, x, y, scaledWidth, scaledHeight); // 7. 處理多頁如果內(nèi)容高度超過一頁Canvas需要手動(dòng)分頁 // ... (見下文4.2節(jié)) // 8. 保存PDF pdf.save(filename); } // 調(diào)用示例 document.getElementById(export-btn).addEventListener(click, () { exportToPDF(report-container); });4.2 處理長內(nèi)容分頁與性能陷阱上面的代碼只生成單頁P(yáng)DF。如果element內(nèi)容很長html2canvas會(huì)生成一個(gè)非常高的Canvas直接塞進(jìn)一頁P(yáng)DF會(huì)導(dǎo)致內(nèi)容被壓縮或裁剪。因此手動(dòng)分頁是必須的。核心思路將目標(biāo)DOM元素按“視窗”高度進(jìn)行分段分別對(duì)每一段進(jìn)行html2canvas渲染然后依次添加到PDF的不同頁面。async function exportMultiPagePDF(elementId, filename document.pdf) { const element document.getElementById(elementId); const pdf new jsPDF(p, mm, a4); const pdfWidth pdf.internal.pageSize.getWidth(); const pdfHeight pdf.internal.pageSize.getHeight(); const pageHeight pdfHeight * 0.95; // 留出一些邊距比如95%的頁面高度 // 臨時(shí)克隆原元素避免操作影響原頁面顯示 const clonedElement element.cloneNode(true); clonedElement.style.position absolute; clonedElement.style.left -9999px; document.body.appendChild(clonedElement); let position 0; // 記錄當(dāng)前渲染到的垂直位置 let pageNum 1; while (position clonedElement.scrollHeight) { // 創(chuàng)建一個(gè)“視窗”容器用于截取當(dāng)前頁的內(nèi)容 const canvas await html2canvas(clonedElement, { scale: 2, useCORS: true, windowWidth: element.scrollWidth, windowHeight: pageHeight, // 關(guān)鍵設(shè)置視窗高度 y: position, // 關(guān)鍵設(shè)置垂直偏移從position開始截圖 backgroundColor: #ffffff }); const imgData canvas.toDataURL(image/jpeg, 0.92); // 適當(dāng)降低質(zhì)量以減小體積 const imgWidth canvas.width; const imgHeight canvas.height; const ratio pdfWidth / imgWidth; const scaledHeight imgHeight * ratio; if (pageNum 1) { pdf.addPage(); // 從第二頁開始添加新頁面 } pdf.addImage(imgData, JPEG, 0, 0, pdfWidth, scaledHeight); position pageHeight; // 移動(dòng)到下一“頁”的起始位置 pageNum; } // 清理臨時(shí)元素 document.body.removeChild(clonedElement); pdf.save(filename); }重要心得這種分頁方式非常消耗性能因?yàn)槊恳豁摱家{(diào)用一次html2canvas進(jìn)行完整的布局計(jì)算和渲染。如果內(nèi)容有幾十頁瀏覽器可能會(huì)卡死或崩潰。務(wù)必添加加載提示并考慮對(duì)超長文檔進(jìn)行分段處理或提供服務(wù)器端方案。4.3 樣式、字體與跨域問題的終極解決方案1. 樣式丟失與錯(cuò)亂html2canvas的渲染并非百分百完美特別是對(duì)于復(fù)雜的Flexbox/Grid布局、position: fixed元素、CSS濾鏡(filter)、box-shadow過深、以及某些偽元素(::before,::after)。解決方案是使用更簡單、更“扁平”的樣式來構(gòu)建用于打印的視圖并充分測試。2. 自定義字體缺失和Puppeteer不同html2canvas渲染時(shí)使用的是當(dāng)前瀏覽器已加載的字體。你必須確保在調(diào)用exportToPDF之前所有Web字體都已加載完畢。// 使用Font Face Observer庫來監(jiān)聽字體加載 import FontFaceObserver from fontfaceobserver; async function ensureFontsLoaded() { const font new FontFaceObserver(MyCustomFont); try { await font.load(null, 5000); // 等待5秒超時(shí) console.log(字體加載完成); } catch (e) { console.warn(字體加載超時(shí)可能使用回退字體); } } async function exportPDF() { await ensureFontsLoaded(); // 再執(zhí)行html2canvas轉(zhuǎn)換 }3. 圖片跨域問題如果element中包含來自其他域CDN的圖片且該圖片未設(shè)置CORS頭html2canvas將無法正確繪制它導(dǎo)致圖片區(qū)域空白。解決方案最佳實(shí)踐確保圖片服務(wù)器設(shè)置正確的Access-Control-Allow-Origin頭。變通方案如果圖片可控可以先將圖片通過fetchblob的方式代理一次轉(zhuǎn)換為同源的Data URL。但這會(huì)顯著增加復(fù)雜性和內(nèi)存消耗。// 一個(gè)簡單的圖片代理轉(zhuǎn)換示例需考慮性能和錯(cuò)誤處理 async function convertImgToBase64(url) { const response await fetch(url); const blob await response.blob(); return new Promise((resolve, reject) { const reader new FileReader(); reader.onloadend () resolve(reader.result); reader.onerror reject; reader.readAsDataURL(blob); }); } // 然后在調(diào)用html2canvas前遍歷并替換所有圖片的src5. 常見問題排查與性能優(yōu)化速查表在實(shí)際操作中你會(huì)遇到各種各樣奇怪的問題。下面這個(gè)表格整理了我遇到過的典型問題及其解決方案。問題現(xiàn)象可能原因解決方案PDF背景色/背景圖丟失打印設(shè)置未啟用背景圖形Puppeteer: 設(shè)置printBackground: true。CSS: 添加-webkit-print-color-adjust: exact;。字體與瀏覽器顯示不一致1. 字體未加載完成。2. 字體文件路徑問題(Puppeteer)。3. 系統(tǒng)字體差異。1. 使用FontFaceObserver確保字體加載。2. 使用絕對(duì)路徑、HTTP URL或Base64嵌入字體。3. 使用通用字體族或嵌入所有變體。分頁時(shí)元素被切斷未使用CSS打印屬性控制分頁。為不希望被切斷的元素添加page-break-inside: avoid;或break-inside: avoid;。PDF文件體積過大純前端方案html2canvas的scale過高或使用PNG格式。1. 適當(dāng)降低scale如從2降到1.5。2. 使用toDataURL(image/jpeg, quality)并降低質(zhì)量如0.9。3. 考慮分頁渲染避免單張Canvas過大。生成過程瀏覽器卡死或無響應(yīng)1. DOM元素過于復(fù)雜。2. 一次性渲染內(nèi)容太多未分頁。3. 圖片過多、過大。1. 簡化打印視圖的DOM結(jié)構(gòu)。2.必須實(shí)現(xiàn)分頁邏輯分段渲染。3. 壓縮圖片或先加載低分辨率圖片用于生成。頁眉頁腳不顯示或錯(cuò)位Puppeteer1.margin設(shè)置過小未給頁眉頁腳留空間。2. 模板HTML樣式寫錯(cuò)。1. 確保margin.top和margin.bottom足夠大如80px。2. 頁眉頁腳模板內(nèi)只支持內(nèi)聯(lián)樣式且樣式非常有限。異步加載的內(nèi)容缺失生成PDF時(shí)JS動(dòng)態(tài)內(nèi)容還未渲染完成。使用page.waitForSelector、networkidle0或自定義Promise等待內(nèi)容就緒。CSS Flex/Grid布局在PDF中錯(cuò)亂某些打印引擎對(duì)現(xiàn)代布局支持有細(xì)微差異。為打印樣式使用更穩(wěn)定的布局如float、inline-block或table如果可行。測試是關(guān)鍵。html2canvas渲染出現(xiàn)空白或錯(cuò)位1. 元素有transform、opacity等屬性。2. 使用了position: fixed。3. 跨域圖片問題。1. 嘗試為元素添加transform: none !important;臨時(shí)覆蓋。2. 避免在要截圖的容器內(nèi)使用fixed定位。3. 配置useCORS: true并確保圖片服務(wù)器支持CORS。最后的性能忠告對(duì)于復(fù)雜的、多頁的、高質(zhì)量的PDF生成需求強(qiáng)烈建議使用服務(wù)器端方案Puppeteer。它將沉重的渲染工作從用戶瀏覽器轉(zhuǎn)移到擁有更強(qiáng)計(jì)算能力的服務(wù)器提供更穩(wěn)定、更快速、功能更完整的體驗(yàn)。純前端方案更適合內(nèi)容簡單、頁數(shù)少建議不超過10頁或?qū)﹄x線能力有強(qiáng)需求的場景。在選擇方案前務(wù)必用真實(shí)數(shù)據(jù)做壓力和體驗(yàn)測試。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
国产又大又硬又长又粗| 中文字幕二区| 午夜超爽| 中文字幕在线观看网页| 亚欧国产无码精品在线| 中文乱码字字幕在线第5页| 超碰 另类 欧美 | 色综合V| 蜜臀久久在线视频| 九九色逼| 另类TS人妖一区二区三区| 久久精品无码熟妇一区二区三区视频导航 | 超碰精品日韩欧美国产| A男人的天堂| 色久综合| 日本理论在线| 欧美双插| 狠狠操狠狠燥| 爱欲AV| 国产97色在线| 少妇一区二区三区高速| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 天天操熟妇| 丝袜六区| 少妇毛片久久| 9久超碰| 亚洲偷拍自拍在线视频| 亚洲欧洲日本精品中文a∨| 亚洲欧美综合网| 综合色拍| 性性久久| 啊啊啊啊二区好大| 亚洲男人的天堂在线看| 亚州春色| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 91女优在线观看| 色色综合97| 国产一区二区三区不卡手机在线| 精品人妻二区三区| 国产乱婷婷精品二区三区| 欧美老妇曰批的视频| 免费在线看黄片av| 色色色日本| 97超碰欧美| 日韩欧美麻豆| aV中文麻| 久久一区二区蜜桃| 精品久久久久综合无码| 欧美 熟女 日韩| 狠狠躁AV| 中文字幕天天天天天| 国产熟女少妇一区| 国产女上位好爽在线| 婷婷伊人綜合中文字幕| 久久99综合| 中文字幕一区av| 十八禁啪啦拍视频无遮挡| 91人妻中文| 嗯啊抽插大香蕉网页| 国产精品成久久久久午夜午夜| 破处bbq| 亚洲九九视频在线观看| 很狠操| 免费视频观看60秒| 97综合久久| 国产高清成人免费视频| 1人人看人人摸人人操| av天堂精品久久| 亚洲欧美自拍偷拍| 亚洲欧洲综合视频在线| 亚洲欧洲偷拍一区| 超碰1997| 成人区人妻精品一| 欧美视频一| 久久草草欧美精品| 国产女同在线观看视频| 日噜夜夜夜夜夜夜夜夜夜夜爽爽爽爽爽爽爽爽爽爽爽爽 | 五月丁香综合啪啪| 九九av| 九九这里只有精品| 高潮嗯啊性感美女久久久| 韩国女主播青草在线| 欧美一区二区三区成人性生活| 亚洲极品| 欧美色图片| 伊人精品久久网站| 九九热精品视频在线观看| 免费看污网站| 欧美偷偷网| 超碰欧美| 欧美成人午夜免费福利785| 日本中文字幕在线视频| 欧美传媒一区| 国产在线视频午夜精华在 | 91狠狠色丁香婷婷综合久久精品| 天天综合欧美综合| 国产精品96| 啪啪AV导航| 国产A v无码专区| 第一高清av中文字幕| 亚洲国产第一页综合视频| 99色骚| 日本精品加勒比海一区| 亚洲成a人片在线观看中文!!!| 发朗少妇买婬全视频中文| 一区久久久二区| 亚洲天堂少妇| 欧美一区二区日韩三区| 日本天天吊| 九一国产精品| 国产综合在线视频网站| 日韩高潮一区| 美女黄色91| 亚洲第一精品在线视频| 久久精品夜色国产亚洲AV| 花花AV导航| 自拍偷拍 日韩无码| 天天躁日日躁XXXXYY| 成年男人的天堂| 91中文字幕制服丝袜免费视频| 亚洲伊人a线观看视频| 色婷婷五月天| 天天舔日美女视频| 99操| 九热超碰| 国产操逼逼网| 不卡六六在线91| 操逼视频国产无套| 91在线限制级| 日本不卡二区| www.狠狠干.coom| 欧美性爱超碰97| 91精品啪在线观看国产城中村| 青青草伊人久久| www国产无码| 91亚洲不卡一区| 一本久道久久综合狠狠爱一密臀精| 日本视频一区二区三区| com 首页 18岁 禁区 女优 免费 精选 同城 | 亚洲91极品| 久久成人精品| 夂久色| 60秒不遮不挡| 精品无码久久久| 亚洲人天堂| 婷婷五月天补不补| 看日韩黄片| 午夜天天碰综合视频| 久久久性| 成人熟女区| 国产欧美日韩一区二区三区| 中文字幕女同在线| 女同性恋久久| 超碰精品人妻狠狠干| 亚洲色图日韩精品| 97亚洲在线| 国产13区| 美国人人操人人操| 国产尤物在线三区| 久久黄黄| 无码高清专| 色五月激情AV在线| 黄污污污污| 免费成人自拍视频在线| 少妇同性| 色青青久久影视| 亚洲天堂电影网99999| 99精品在线| 亚洲欧美黄| 久久久久久夜夜夜夜夜| 黑人无码一区二区| 91天天看| 天天操天天日天天干| 日本熟女中文| 国产黄色在线播放观看| 999久久芭蕾| 欧美激情总合网| 九月激情婷婷| 人妻第一页| 欧美第一页性| 色婷婷电影网| 国产精品久久久久无码A√| 好爽要喷了| 人妻天堂综合网| 丰满高潮18xxxx| 日日不卡av| 免费看污网址| 日韩一级二级在线| 国产久久久9999| 人人操人人摸人人看人人干| 少妇高潮九九九九| 国产人妻久久精品一区二区三区| 夜夜高潮夜夜爽高清视频一| 操99| 人妻av在线| 可免费观看的av毛片中日美韩| 伊人久久大香蕉线AV五月天| 人妻美腿丝袜制服诱惑综合天堂-| 午夜福利精品| 91久久九九精品国产综合| 啊啊啊啊,啊啊好多水| 91人妻视频| 91精品黄在线观看| 激情黄色片在线观看| 蜜臀网址在线| 啊啊啊啊在线播放| 熟女高潮合集-永久久久-成人AV | 大但人体久久久久| 日韩成人精品视频自拍| 清清草影| 色哟哟-国产专区| 欧美 亚洲 偷拍自拍| 蜜臀AV秘一区翔田千里| 999综合网| 综合大香蕉美。| 伊人玖玖网| 91久久国产综合久久| 国产色综合亚洲色综合吹潮| 久久这里只精品免费福利| 亚洲美女 晚间男人天堂| 中美日韩毛片| 国产97色在线| 小情侣高清国产在线视频| 在线人妻熟女一区二区三区四区五区| 五月婷婷深深爱| 你想操日本小逼吗| 日夜精品| 这里只有精品久久| 污到发麻的视频 国产| 亚洲无码AV九九九| 性videos欧美熟妇hdx| 超碰在线日韩一区| 国产精品夜夜夜| 激情五月综合开心五月| 少妇人妻在线| 啊啊啊啊啊在线视频| 久久精品国产亚洲AV片多多| 韩美日操逼| 欧美v亚洲v综合v国产v妖精| 国产一区二区三区精品观看啪| 国产一区二区免费福利片| 色婷婷一区二区三区久久| 天堂性色| 啊啊啊想要| 亚洲自拍偷拍视频在线| 欧美黄色手机在线观看| 国产欧美日韩精品中文| 激情色色| 丰满少妇一区二区三区专区| 久久大香蕉手机高清| 综合 青草 伊久久 影院 综合| 日韩三级在线观看mp4| 青久久| 亚洲色阁| 人人插人人摸人人| 天天欧美色| 天天影视射综合网| 97视频在线播放| www.99中文字幕| 色婷五月| 精品欧美А∨无码黑人大荫蒂| 四虎精品亚洲| 亚洲高潮少妇| 高清肉丝中文无码| 精品少妇一区二区三区| 亚洲图片激情综合另类| 亚洲熟女国产综合另类| 天天干人人干天天日97| 免費人妻夜夜爽天天爽爽一区| 久久亚洲中文字幕视频| 亚州综合色| 欧美性夜| 12一15性XXXX粉嫩国产| 亚洲熟妇一,二,三期| 亚洲欧美97| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 青草精品视频-日本久久久久网站| 亚州精品人妻一二三区| 97伦综合| 日日日日做夜夜夜夜无码| 久久久精品国产亚洲伊人| 人妻丝袜无 码视频专区| 天天色播亚洲综合网站| 日韩亚洲美州欧洲综三区一品在线| 97日本超碰综合| 躁躁日曰躁2020| 啊啊啊啊啊啊啊在线| 丰满少妇精品一区二区| AV麻豆免费一区| 国产女人高潮嗷嗷嗷叫小说 | 成人aⅴ一区二区三区| 五月天激情综合网| 久久中文色图| 男人的天堂va在线| 97国产高清视频在线观看| 九色97| 超碰69| 97资源久久| 操高情无码| 99爱爱| 91久久堂| 95自拍视频在线观看| www.av在线视频| 国产四虎在线| 怡红院成人视频| 人人贴人人摸| 亚洲淫色网中文| 日躁天天爽爽| 99操视频| 少妇精品| 婷婷亚洲五月***久久| 日日干男人的天堂| 一级AV性爱| 久久国产99精品72福利| 欧美日韩另类激情图片| 91在线|亚| 牛牛AV人人夜夜澡人人爽| 中日无幕一二三四区| 欧美情色亚洲| 嗯嗯啊中文字幕| 色偷偷2020免费视频播放| 欧美极度丰满熟妇hd| 精品无码久久久久| 六月激情网| 亚洲97在线观看| 97亚洲综合电影| 影音先锋新男人| 亚洲精品美女操逼| 婷婷五月天色| 日韩欧美大片免费高清啪啪| 欧美91久久久久| 亚洲无码精品AV久久久| 久久伦理视频久久大香蕉视频| 国产女人高潮嗷嗷嗷叫小说| 91高清欧美| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 天天操福利视频综合网站| 玖玖爱在线视频免费观看| 天天爱天天操| 婷婷亚洲五月***久久| 国产亚洲色婷婷久久99精品91 - 百度| 白嫩嫩一区| 东京热视频网| 大肉棒导航| 美女露胸露奶头| 亚洲天堂热| 大伊香蕉在线视频免费| 92人人操人人| 99无码视频| 美女写真| 国产农村一一级特黄毛片| 日韩欧美国产高清视频| 天堂v无码免费视频| 国产熟女乱论| 五月丁香影院| 91天天日| 嗯~啊~快点 死我视频免费看网站| 啪啪性爱免费视频| 91精品人妻偷情| 色婷婷六月丁香七月婷婷| 99精品久久久久久| 婷婷午夜清品久久久久久久性色视频观| 玖玖97综合| 大香蕉十区| 静品嫩模一区二区| 中文字幕加勒比海高清无码免费视频| 青娱乐久久艹| 欧美亚洲性爱一区二区| 99久热精品99re6热| 97在线视频观看免费| 欧美99999| 91日本在线观看| 色色热| 久九九九九九九九热| 丝袜喷水在线| 新亚洲无码| 超碰久久性爱| 婷婷导航| 岛国片国产成人亚洲播放| 正宗无毛一线天嫩逼| 夫妻四区五区六区| 久久久无码av精| 大香蕉 222| 萌白酱自拍视频| 精品熟女呻吟久久91| 亚洲性图91| 精品.99999| 五月综合激情网| 五月婷网站| 少妇久久久| 91痴汉| 亚州中文字幕超碰97| a片久久久久久久久久久久 | 亚州国产成人精品女人久久 | 日韩小电影| 久偷拍欧美日韩三区| 一类av片在线看| 天天亚洲综合| 啊嗯好大视频在线观看| 人妻第一页| 日本成人在线不卡一区二区三区| 日韩在线欧美精品一区二区| 亚州综合色| 日本色色视频网站| 日本一级性爱| 无码WWW免费视频网站| 人人妻人人狠人人| 精品网站99999| 亚洲九九九| www.五月天| 久久久久921| JIZZJIZZ亚洲女人被躁| 韩国一区二区精品亚洲| 国产人伦精品一区二区三区| 日本97久久久精品| 日韩人妻资源在线看| 黄片免费看黄片免费看| 国产精品一区二区黄片| 日韩在线一区二区| 日本好吊色视频| 嗯嗯啊啊视频在线看| 国产伊人精品在线| 男人的天堂久久狠| 啊啊啊啊啊啊啊在线| 亚瑟国产精品久久无码| 亚洲色婷婷久久91| 欧美性第一页| 欧美一区二区男人天堂| 天天天乱色综合全| 91精品人妻一区二区三区蜜桃臀| 一级黄色视频网| 中国操逼无码| 国产一级做a爰大片免费久久| 97在线青| 亚乱色| 国产JDAV无码视频在线观看| 啪啪啪综合| 操逼视频国产无套| 特级丰满少妇一级AAAA爱毛片| 中文一区二区三区影院| 欧美特黄视频网站| 日本 情色 1区| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | www黄片免费看com| 欧美性爱日韩高清| 性综合网| 国产日韩无码一区二区三区久久区| 综合久久婷婷| 欧美成人AⅤ大片在线观看| 一区二区三区国产在线播放| 97在线日韩中文字幕| 久超超碰| 久99久视频精选| 97色在线视频| 成人精品一区二区三区| 欧美激情欧美精品| 欧美色图20p| 久久久久久国产成人| 激情色色| 中文字幕av一区二区三区人妻少妇| 久久综合18p| 国产精品熟女AV中文字幕在线播放| 久久久久久亚洲精品不卡人乳| 成人情色一区二区| 欧美熟爽综合| yazhouzaixian| 8050午夜少妇无码| 中文字幕精品资源在线| 精品久久9| 欧美页片| 亚洲综合性网址| 久久综合九九| 超碰97首页| 日韩综合无码色欲vv| 欧美日韩激情无码专区| 九九九九九九成人| 粉嫩粉嫩一区性色AV片| 97国产天堂岛| 国产亚洲色停停久久99精品91| 超碰在线91| 欧美亚洲se91| 天天干天天燥| 亚洲中文字幕日产无码久久| 97av,com| 久久久久九九九| 强乱老妇中文字幕| 性色av蜜臀av色欲aV| 91麻豆天美传媒HD| 欧美亚洲国产91在线| 色噜噜国产在线| 国产精品乱码久久| 久久久激情| 新怡红院| 凹凸视频特色日本特黄| 后入日本1234| 欧美亚洲玖玖玖| 淫淫综合网| 可以免费观看的av| 精品无码秘 人妻一区二区 | 久草电影网| 国产人妻天天干精品| 色老久久| 国产成人网站在线观看| 中文字幕综合人妻| 99久久99九九99九九九| 网友自拍第1页| 97操碰| 久久精品国产Aⅴ| 99精品无码| 97综合| 白丝少妇一区二区| 五月婷婷丁香中文字幕| 少妇淫妇久久久久久久| 日韩精品人妻系列无码天堂| 久久免费99精品久久久久久| 日本黄页视频在线观看| 欧美美女自慰一区二区三区| 91搞逼视频| 亚洲AV在线资源| 99久久精品无码一区二区| 一级AAA片一区二区三区| 久久丁香五月婷婷| 20cm女自慰在线日韩欧美| 日韩三级性| AV中文在线| 精品一区二区国产日韩| 欧美日韩亚洲少妇寂寞影院正在播放| 91精品久久久久五月天精品| 不卡六六在线91| 久久精品一区| 性色av婷婷久久一区二区点复制| 青青草视频导航官网| 大地资源在线观看中文第二页| 精品176精品2| 五月天婷婷基地| 三级精品三级在线观看| 97国产精品一区二区传媒公司| 国产www色在线观看| 亚洲丝袜在线观看| 91成人久久| 伊人97色天使| 欧美日韩99| 色官网色综合| 男女啪啪啪18禁网站| 91色伦| 一区二区三区无卡视频在线观看| 色y情视频免费看| 78m成人视线| 国产天美欧美| 强奸国产精品视频| 国产女上位好爽在线| 久久久久国产精品久久久| 国产久久男人天堂| 色欧美天天| 亚洲国产一区二区三区四区国产| 少妇三P| 丁香五月影院| 中文字幕一区二区三区字幕| 啊啊啊啊啊啊好多水| 97人妻人人躁人人玩人人| 超碰97男人| 97二区四区| 99亚洲精品| 国产激情在线| 亚洲超碰在线| 717影院理论午夜伦八戒| 高潮的A片激情扒开一区| 久久受www免费人成| 97免费在线| 久久精品区| 茄子社区国产精品| 安微少妇操BBB| 久久久久久少妇| 人妻激情在线视频| 亚洲精品久久一区二区三区蜜桃臀| 超碰成人最新最好看| 妇女性内射冈站HDWWWCOM| 亚洲天堂男人网| 大香久久| 精精品人妻一区二区三区| 色逼综合| 久久久久久性爱免费视频| 精品视频久久| 一区二区三区美女超清| 国产亚洲色停停久久99精品91| 日日干男人的天堂| 在线小说视频一区| 五月天人妻综合| 国产精品色| 91亚洲网站| 91天美| 久久夜黄色无码A级大片| 激情婷婷| 日韩97视频!在线| 91网站18+| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 亚洲AV小说| 秋霞怕怕片| 精品一级毛片在线观看| 日本女人操逼| 综合网欧美在线| 又大又大又大又粗爽高潮观看| 日韩精品一区二区三区色欲| 婷婷精品国产一区二区三区日韩| 精品久久久久,69国产成人精| 日本中文字幕在线电影| 黄色网址在线免费观看| 亚洲图片色图欧美另类| 国产高清亚洲日韩一区| 欧美一区二区三区日韩| 极品AV网站在线观看| 操屄不卡视频| 福利视频网站| 五十路成人在线视频二区三区| 亚洲色欲天天人妻无码系列专区| 能直接看AV的网站| 99热8| 精品二999| 免费97视频| 亚洲无码视频免费在线观看网址! J?P?NESEHD熟女熟妇伦 | 色色色热| 激情熟女12P| 97香蕉碰碰人妻国产欧美| 亚洲国产剧情少妇激情| 夜夜骑日日| www.伪伪| 男人的天堂激情| 熟妇女伦乱视频视频| 人人弄人人摸| 大香蕉碰| 亚州五月| 99在线免费公开视频| 日韩精品一区二区三区四虎影视| 久热精品在线| 中文字幕乱码人妻二区三区| 日韩无码a片| 91青视频| 天天综合官网| 国产h小视频在线观看免费| 日韩人妻中文视频| 国产精品经典一卡久久久 | 91粉嫩萝控精品福利网站_精品影音先锋国 | 操人人| 日本在线一二 | 精品久久久久久中文| 亚洲午夜AV| 51一区二区三区| 中文字幕国产| 日韩二三区| 国产粉嫩蜜臀av一区二区三区| 秋霞一集毛片观看| 国产熟女少妇一区| 日本道人妻久久久在线不卡色视频| 日日不卡av| 亚洲综合激情五月久久| 亚洲男人的天堂网| 精品无码一区二区三区| 亚洲精品欧洲精品| 欧美福利视频啊啊啊啊| 嗯啊啊啊轻点视频 | 97一区二区蜜臀| 久久精品一区二区三区四区五区| 国产精品99精品视频网站| 亚洲 欧美 中文 日韩超碰| 老女人综合网| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 偷拍 亚洲 欧美| www.狠狠操| 呦呦一区| 伊人久久国产免费观看视频| 本道在线| 大香蕉九九| 91观看 国产白丝| 射 色综合| 亚洲国产一级精品毛一级精品看免费视频| 性色av婷婷久久一区二区点复制| 国产原创精品| 欧美不卡五十路| 久久国色天香香蕉| 国产特级毛片AAAAAA高潮流水 | 四虎 精品 WWW| 中文字幕日韩人妻视频| 亚洲精品1区| 欧美亚洲尤物久久| 日人妻视频91| 美国日韩黄片| 亚洲一二三精品久久网| 尤物视频一区| 97在线资源| 日本综合色图| 中文字幕丰满人妻日本| 99成人| 精品国产乱码| 骚货 中文字幕 av| 久久a久久| 成人日韩3| 国产视频第2页| AV中文在线| 亚洲av无码国产精品字幕| 久久久禁| 丁香六月婷婷久久综合| 久久久久久亚洲Av无码| 久久偷偷色综合蜜桃| 长长久久88视频| 国产狂喷潮在线精品| 韩日精品福利视频一区不卡在线免| 蜜桃狠狠色伊人亚洲综合 | 超AV色女| 伊人黄色视频免费观看| 精品人妻一区二区三区免费视频| 国产精品探花视频| 久久六六| wuyechaopeng| 超碰在线国产| 精品国产人成在线| 欧色网址| 无码操逼天堂| 日韩乱码Av| 玖草在线视频| 青草精品视频一日本久久久久网站| 国产成人欧美一区二区三区的国产| 国产黄色动态精品| 秋霞一级视频在线观看免费| 午夜男女爽爽大片免费观看| 老熟女综合网| 午夜精品久久久久| 天堂资源欧美| 中文字幕在线观看视频www| av午夜影院在线播放| 国产无吗在线播放| 欧美97爱| 26uuu性| 99蜜桃臀亚洲成人在线观看| 亚洲国产第一页综合视频| 国产精品岛国片在线观看| 婷婷激情四射| 无卡一区=区| 91精品免费| 大香蕉国产中文自拍| 国产AV天美传媒一区二区三区| 婷婷香网站| 国产极品999| 欧美亚洲尤物久久| 青草草免费网站av| 操逼无码操逼| 老女人综合网| 五十路三区在线| 啊啊啊啊好多水| 精品久久久av| 亚洲日本男人天堂网| 操九九九九九九| 99精品网| 丰满人妻-区二区三区免费| 亚洲五月天激情| 99自拍视频在线| 大香樵伊人网| 久久xx| 丝袜美腿欧美| 久久,精品一二三| 丰满欧美少妇| 日韩一区二区熟女| 亚洲一二三精品久久网 | 天天做天天爱| 1024精品在线| 91视频综合网| 亚洲熟妇一,二,三期| 精品午夜福利| 啊啊啊在线观看| 黄骗免费网站| 久久久亚洲Av| 色呦呦呦在线观看视频| 成人片在线播放| 九九在线视频| 天天爽夜夜操| 麻豆AV一区二区| 97精品国产97久久久久久免费| 日亚韩精品视频二区三| 黄片无码在线制服| 开心五月婷婷激情| 精品久久一区二区三区四区五区| 777AV电影| 国产日本久久免费精品| 久青草影院| 五十路熟女工口 | 久久人人爽爽爽人久久久| 日韩av三四区| 日韩97精| 网友自拍第一页| 人人操人人摸人人看人人干| 亚洲二区精品在线观看| 亚洲色欲天天人妻无码系列专区| 国产在线观看91精品一区| 美国精品国产精品| 色婷五月天| 天天综合香 ld视频| 天堂综合| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区 | 天天日夜夜爽| 福利天堂| 久久久久久十| 日va操| 国产原创自拍| 9久久9综合| 午夜精品久久久久久久| 亚洲天天更新| 精品性爱无码在线播放| 欧美亚洲丝袜人妻制服99| 日欧毛片久久| 麻豆天美一区二区| 97摸视频| 亚洲精品欧洲精品| 不卡在线观看视频| 国产第25页在线观看| 丰满人妻一区二区三区免费,| 国产丝袜视频| 无码操逼天堂| 欧美日韩性爱电影在线| 99视频内射三四| 老鸭窝日丰县女人| 一级性爱视频免费观看| 日本久久网| 综合性视频99| 东京热视频网| 精品一区二区啪啪啪| 亚洲色图综合网| 久久久97| 操逼www.| 日韩激情视频| 久久婷婷一区| 亚洲国产麻豆一区二区三区| 国产白嫩精品久久| 少妇综合网| 天天做天天爽| 大香交| 国产高清在线观看欧美| 欧美后入视频| 中日韩免费看男女操逼大全| 欧美老熟另类| 久久二| 青青草九九九九九| 无码粉嫩白虎一线天b区| 99久久久久久亚洲精品不卡| 中文字幕少妇色| 欧美天天干| 久久久久成人蜜桃精品| 天天舔日美女视频| 亚洲高潮少妇| 欧美性色欧美| www.天天干| 综合五月天| 亚洲五月丁香花狠狠干一区二区三区 | 69精品在线| 日韩综合色图| 欧美中文字幕男人天堂久久精品 | 日本高清视频xxxx| 丝袜制服字幕在线| 久久性爱视频99| 国产人伦精品一区二区三区| CCYY草草影院地址入口| 国产人妻精品久久久一区二区三区| 91大胆欧美| 中文字幕丰满子伦无码专区在线视频最新 | 久草资源在线视频官方总站日韩丝袜美腿| 天天天天天天天天综合| 国产v片在线免费观看| 999久久久九| 成人av在线播放| 熟妇艹鸡八| 一级A片女人高潮叫床| 丝袜高跟澳门91视频| 中文字幕在线观看视频www| 深喉吞精| 久久人妻丝袜一区二区三| 91在线欧美| 五月色综合| 国产乱伦亚洲色图高清无码| 素颜老阿姨乱情色| 欧美激色| 人人操人人色人人摸| 亚洲。日韩。欧美| 国产狂喷潮在线精品| 成人一级二级| 色99色| 夜夜爽夜夜摸夜夜操免费视频| 91A欧美电影网站| 久久久久久午夜男人的天堂| 中文字幕国产在线天堂| 99re95| · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 | 日本一本道A级黄色毛片试看60分钟| 宅男午夜在线视频| 性爱乱伦视频免费| 日本不卡免费二区| 中文字幕乱碼在线| 大香网站| 国产精品黑人一区二区三区| 黑人与人妻| 色婷婷丁香五月| 69一区二区三区| 91啪9色| 国产精品色片一区二区| 美女骚尻视频| 91欧美网| 激情色色| 91熟女熟妇视频网站| a级理论午夜日本| 久久久久久无码人妻中文字幕| 老妇女91| 中文在线久久字幕| 激情99| 99久久精品无码一区二区毛片免费| 性爱av网站| 90后后入| 国产精品色片一区二区| 丁香六月激情综合| 久久久性爱视频| 综合欧美亚洲| 国产成人综合网| 国产少妇内射| 亚洲欧美一区二区三区一猛片| 丝袜喷水在线| 国产美女91视频| 伊人激情| 国内精品伊人久久久久影院会| 色婷婷婷五月天激情四射| 国产 码在线成人网站| a'v在线资源| 天天综合,91入口| 夜草欧美| 欧美熟妇乱码在线一区| 人人色人人操在线| 欧美人妻久久精品二区三区| 日韩精品在线视频在线观看| 超碰97国产欧美| 91美女精品| 东北操逼| 久久久久96| 怡红院成人av| 人妻少妇精品久久久| 婷婷综合激情| 色五月综合网| 超碰精品日韩欧美国产| 99久久久无码国产精品性啊聊| 婷婷15月天青娱乐| 禁止观看美女黄| 91超级碰碰| 毛片电影一区二区三区| 色婷婷五月综合激情中文字幕| 精品无码少妇| yazhououmeizongya| 中亚黄色三级大片 | 人人人人人人少妇| 好吊妞转入那个网| 99热婷婷| 高凊专区人人操| 97在线免费看| 97超碰热线| 99操| 物业黑人 AV一区| 狠肏骚人妻| 先锋精品av色鲁| 丁香色婷婷| 五月天综合在线| 日韩在线观看中文字幕视频| 亚洲精品久久久久久久蜜桃臀| 午夜视频久久久久一区| 91视频伊人| 国产视频一区二区三区在线免费观看 | 92久久| 秋霞午夜成人福利片片| 欧美18老人禁| 做爱A级亚欧| 黄色小视频日本txt| 久久精品性| 五月天偷拍| 久偷拍| 青青草好吊| 久久男人的天堂| 精品无码一区二区三区色欲| yellow网站免费观看日韩高清无码| 美欧色综合| 人妻无一区二区三区| 亚洲日韩人妻中文字幕一区| 无码操逼网| 首页亚洲国产高跟丝袜诱惑视频| 午夜一级免费毛片| 成人性爱电影一区二区| 婷婷综合五月天| 欧美另类自拍 | 亚洲激情深爱文学小说网站| 天天干人人乐| 91福利网在线观看| 久艾草在线精品视频在线观看| 精品少妇99| 中文字幕视频在线观看| 成人性爱免费播放| 狠狠色伊人亚洲综合网站色| 精品久久久久久中文| 欧美日韩精品一区二区三区高清| 97超碰人妻| αⅴ天堂| 色女女女导航| 好舒服视频| a'v在线资源| 操逼逼福利视频| 亚洲欧美爆| 干妹子| 翔田千里无码一区| 日本3级一区二区免费| 日韩美一区| 亚州国产成人精品女人久久 | 99re热| 婷婷超| 亚洲天堂 视频你懂的| 国产精品欧美激在线| 九九九九一区| 日本熟女中文字幕一区| 亚洲精品男人的天堂| 天天综合网亚洲综合网| 三上悠亚在线毛片91| a级成人毛片免费视频高清| 热热色国产一二区AV| 精品午夜福利国产一区二区在线观看| 丰满翘臀美女影院视频| 欧美日韩天堂| 夜夜操美女| 国产成人网站在线观看| 欧美国产操逼| 亚洲色图尤物视频 | 噜噜噜无码AV一级一级久久影院| 3p国产色噜噜一区| 日韩精品三区四区| 亚洲国产精品无石码久久| 日韩电影在线观看网址| 色性综合| 日韩欧美中文字幕搭讪巨乳美人妻视频| 精品久久97| 人人考人人摸人人干| 秋霞午夜视频一区二区| 97超碰人人操人人操| 伊人激情| 蜜臀久久久99久久久久 | 中文字幕精品一区二| 91婷婷| 欧美熟女妇同| 国产一区二区免费福利片| 97操97色| 蜜桃av色偷偷av老熟女| 射 色综合| 久操免费观看| 2020视频1区2区3区| 淫荡网址| 日韩三级一区 | 欧美色图亚洲色图成人在在线| 日本爽爽爽爽爽爽免费视频| 欧洲无码一区二区| 久久透逼视频| 夜夜夜夜爽| 韩国女主播青草在线| 91neishe| 青青操综合网| 在线观看无码三级少妇| 一区AV| 精品人妻一二三| 婷婷超| 亚洲成a人在线观看久| 嗯~啊~快点 死我视频免费看网站| 毛片视频白嫩| 大香蕉伊人网WWWn0n| 日日夜夜国产综合| www.99中文字幕| 欧美日韩天堂| 国产女人成人精品视频| 欧美综合中文| 色av中文字| 免费精品AB| 夜夜操天| 久操com| 97免费视频在线观看视频| 操操啪| 91热| 中文字幕88av在线| 久久香蕉综合一本到3atv| 综合大香蕉美。| 天天日日舔舔| 亚洲成人精品在线一区| 免费网站观看www在线观| 看日韩操逼| 97亚洲在线| 怡红院成人av| 久久国产视频性吧| 国产高清午夜成人在线观看| 97精品在线| 五月婷婷六月色| 欧美大香蕉同搞| 日韩猛交| 久插综合| a网站免费观看| 人人操人人爽人人操人人| 一摸二插三插| 九九夜精品九九在线| 国产精品视频一区二区三区八戒| 97精品视频免费| caoni国产亚洲av| 免费人成毛片乱码| 中文字幕欧美精品亚洲日韩蜜臀| 欧美1区二区三区公司| 欧美97免费| 一区麻豆 高清中文字幕| 色色婷婷五月天| 日韩欧美综合激情| 亚洲图片欧美色| 亚洲精品国产熟女久久久| 亚洲91色在线| 91精品国产高清久久久久久,亚洲成人 | 涩涩这里只有精品视频| 另类欧美色| 啊啊啊轻点在线观看| 91色噜噜狠狠| 熟女啪啪视频| 思思热在线视频免费| 97超碰大| 亚州高清AV| 久久国产精品熟女人妻| 偷拍欧美激情| 日日干夜夜干| 播播亚洲小说亚洲| 顶级丝袜熟女一区二区三区| 91色伦综合| 97精品国产97久久久| 狠狠综合网| 久久专区| 欧美日韩国产精品久久色婷婷| 99操逼| 亚洲AV无码AV吞精久久久久| www.亚洲黄色| 亚洲色人阁| 99热线麻豆 | 91被操| 97超碰超碰| 九九夜精品九九在线| 白丝AV网站| 亚洲图片欧美制度| 91大胆欧美| 插入综合网| 裸体美女免费看网站青草| 欧美在线观看综合国产| 国产成人免费观看在线视频| 亚洲天堂中文字| 豆花视频操逼网址 | 亚洲成人美女无吗| 男女做爰猛烈动高潮A片免费应用| AV男人天堂网| 天天舔天天日天天射| 久久婷婷欧美| 91撸色网 玖玖网 欧美| 夜夜操天天肏| 大香蕉欧美日韩| 国产不卡精品91| 美女97超碰|