Video được đề xuất

Mối quan hệ loạn luân giữa cha và con trai: Con trai bị ép nuốt tinh dịch của cha","lastmod":"2026-07-11","duration":"","url":"/play/19206680.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZmFiNGVjNGQzZDc3MGVmZDNiODdiYTY1YjczMjU2NTkuanBn.cache","vod_id":19091053,"title":"Nữ streamer trẻ tuổi liên tục thủ dâm và xuất tinh để cải thiện thứ hạng của mình.","lastmod":"2025-03-26","duration":"2:41:10","url":"/play/19091053.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNjA2MjIvYzE3YzNjZWVmMGEyODdmNmNhZjcyOWNlM2M1ODdjNDMuanBn.cache","vod_id":19204648,"title":"Một bác sĩ tại Bệnh viện trực thuộc thứ hai của Đại học Chiết Giang, người nuông chiều con trai mình, đã tung video quay cảnh ông ta quan hệ tình dục với con trai mình lên mạng.","lastmod":"2026-06-21","duration":"0:08:31","url":"/play/19204648.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvYWViYzA0YTI4ZWZmOWZkYjMzNTViNmRhMTdkN2UzOTkuanBn.cache","vod_id":19044479,"title":"NKKD-141 Để tiết kiệm tiền, một nữ sếp ở chung phòng với nhân viên cấp dưới xuất sắc của mình. (Natsumi Imai)","lastmod":"2025-03-26","duration":"2:00:50","url":"/play/19044479.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvZmI2ZmE5ZDZiNWIxMTg5NWFjYWIxZTE3MGE5MjQ1MDUuanBn.cache","vod_id":19062330,"title":"[ABP-537] Quan hệ tình dục bị kìm nén, Mei Xiangka hoang dã trèo lên người một cô gái xinh đẹp không thể cử động.","lastmod":"2025-03-26","duration":"2:06:04","url":"/play/19062330.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvNjFjNjQzN2U0YjMxYmEzMTNhMTZiOTk4MDM0MTI2NTQuanBn.cache","vod_id":19191423,"title":"\"Hinata Natsu là tài sản của tôi.\" Để ngăn chặn điều này, cô chuyển đến sống chung trong một căn hộ, nhưng lại bị nhầm là người yêu của cô và trở thành gánh nặng. (CAWD-800-C)","lastmod":"2026-04-07","duration":"1:58:49","url":"/play/19191423.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMTQvMmZlODI1NTE4ZGJkMmU2ODNmYTI4NDJmYmM3NzQyM2YuanBn.cache","vod_id":19167906,"title":"Tội phạm tình dục trong trò chơi tổng bằng không (phụ đề tiếng Trung)","lastmod":"2025-12-14","duration":"0:29:51","url":"/play/19167906.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA3MjIvZmEyYjhhYmI2ZDdiOWEwOTM3ZmMzOTM1NGM3MjFmOWMuanBn.cache","vod_id":19145292,"title":"Cuộc sống loạn luân giữa hai người con trai và mẹ của họ ở Quảng Đông","lastmod":"2025-07-21","duration":"0:27:21","url":"/play/19145292.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA0MDMvN2U4M2EwZTM4MjFmODYzN2YwMmU2ZTY1YjAyN2U3NzQuanBn.cache","vod_id":19129685,"title":"Mẹ của những người bạn 3 ~Người mẹ để con trai và bạn bè mình bị ướt quần lót~ Hirose Yuka NSFS-107-C.","lastmod":"2025-04-03","duration":"2:04:03","url":"/play/19129685.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvNGIzODE5MzFiNmJjMjkyOWFlYTAxYzIwMGM5ZDI5NDQuanBn.cache","vod_id":19044508,"title":"OBA-320 Bà mẹ biến thành một người phụ nữ lăng loàn, ăn thịt người khi đến kỳ kinh nguyệt (tác giả Yumi Anno)","lastmod":"2025-03-26","duration":"1:59:48","url":"/play/19044508.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvYTdjYTk0ZjEwYmUxMzZiZTkyNTQ1ZWU0YjY4MzRkNmUuanBn.cache","vod_id":19196912,"title":"KAWD-754 Khám phá những gương mặt mới: Những cô gái miền Nam yêu thích phim khiêu dâm cũng đã gia nhập ngành công nghiệp phim người lớn! Mika Kobayashi, Haruhi Hanano, kawaii","lastmod":"2026-05-04","duration":"2:55:15","url":"/play/19196912.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly9zYnp5dHBpbWc0LmNvbTozNTE5L3VwbG9hZC92b2QvMjAyNjAyMjMtMS9lYTE3MmM1ZWYxYTc4NDJkYjc2ZDM2ZWZkMDcxY2QzMy5qcGc=.cache","vod_id":19182396,"title":"Muốn thay đổi tính cách nhạy cảm và hướng nội của mình, cô gia nhập câu lạc bộ bơi lội, nhưng lại bị một cố vấn biến thái đánh đập và tra tấn bằng thuốc kích dục và xuất tinh. (IPZZ-742)","lastmod":"2026-02-23","duration":"2:15:35","url":"/play/19182396.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvODFhZTRiNGIxMjI5NTkwMjQyMzhkNGUxYTY4NzQxNDAuanBn.cache","vod_id":19102070,"title":"Để giúp con gái vào được trường tốt, một người mẹ đã quan hệ tình dục qua đường hậu môn và xuất tinh vào bên trong hậu môn của con gái, làm giãn hậu môn đến mức tối đa, và đó là một đời sống riêng tư!","lastmod":"2025-03-26","duration":"2:30:15","url":"/play/19102070.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzEvOWUyM2E5YTA2MmI3YmE3NGExMjQ1OTE4MTM4YzU5NzIuanBn.cache","vod_id":19088804,"title":"\"Ơ! Anh vừa xuất tinh vào trong em, phải không?\" Để che giấu việc xuất tinh sớm, anh ta tiếp tục thúc mạnh sau cơn bộc phát đột ngột, không rút ra, và lại xuất tinh vào trong mình lần nữa!","lastmod":"2025-03-26","duration":"2:01:48","url":"/play/19088804.html"}]}, videoTitle: 'Mẹ kế và con trai. Để cứu con trai mình khỏi tội ác xâm hại tình dục. Yumika Saeki NSFS-115-C.', language: 'vi', dataKey: '01', loadingPlayer: true, showShare: false, pageUrl: '', // RecommendedMovies 组件状态 isSingleColumn: false, pageSize: 8, currentPage: 1, // 计算属性(使用 getter) get layoutIconClass() { return this.isSingleColumn ? 'icon-view-list' : 'icon-grid'; }, get layoutClass() { return [ 'row', 'g-3', 'row-cols-1', this.isSingleColumn ? '' : 'row-cols-2', 'row-cols-lg-4' ].filter(Boolean).join(' '); }, // 方法 onAppMounted() { // 设置页面 URL this.pageUrl = window.location.href; // 保存观看历史 this.saveWatchHistory(); // 更新标签统计 if (this.videoData.tag && this.videoData.tag.length > 0) { this.updateTagStats(this.videoData.tag); } // 发送点击统计 this.hitVideoId(this.videoData.id); // 从 Cookie 读取布局偏好 const layoutCookie = this.getCookie('list_layout'); if (layoutCookie === 'single') { this.isSingleColumn = true; } // 监听 iframe 加载完成,隐藏骨架屏 // 使用 setTimeout 确保 DOM 已完全渲染 setTimeout(() => { const iframe = document.getElementById('v2-player'); const skeleton = document.getElementById('player-skeleton'); if (iframe && skeleton) { // 定义隐藏骨架屏的函数 const hideSkeleton = () => { skeleton.style.transition = 'opacity 0.3s ease'; skeleton.style.opacity = '0'; setTimeout(() => { skeleton.style.display = 'none'; }, 300); }; // 检查 iframe 是否已经加载完成 if (iframe.contentDocument || iframe.contentWindow) { try { // 如果 iframe 已加载,直接隐藏骨架屏 if (iframe.contentWindow.document.readyState === 'complete') { setTimeout(hideSkeleton, 500); return; } } catch (e) { console.log('[Video] 跨域 iframe,无法检查状态:', e.message); // 跨域情况下无法访问 contentWindow,继续监听 load 事件 } } // 监听 load 事件 iframe.addEventListener('load', () => { console.log('[Video] iframe load 事件触发'); setTimeout(hideSkeleton, 500); }); // 添加超时保护,确保骨架屏最终会被隐藏 setTimeout(() => { if (skeleton.style.display !== 'none') { console.log('[Video] 超时保护触发,强制隐藏骨架屏'); hideSkeleton(); } }, 5000); // 5秒后强制隐藏 } else { console.error('[Video] 未找到 iframe 或 skeleton 元素'); } }, 0); }, // 随机跳转 async jumpToRandomVideo() { try { const response = await fetch(`/api/qun/randomid?t=${Date.now()}`, { headers: { 'x-data-key': this.dataKey, 'x-api-key': 'dagexxx.com' } }); const data = await response.json(); if (data?.status === 1 && data?.data?.id) { window.location.href = `/${this.language}/play/${data.data.id}.html`; } else { console.error('获取随机视频失败:', data?.message || '未知错误'); } } catch (err) { console.error('获取随机视频失败:', err); } }, // 复制分享链接 copyShareLink() { const input = this.$refs.shareInput; if (input) { input.select(); input.setSelectionRange(0, 99999); // For mobile devices // 尝试使用现代 API if (navigator.clipboard && navigator.clipboard.writeText) { navigator.clipboard.writeText(this.pageUrl).then(() => { alert('Đã sao chép liên kết!'); }).catch(() => { // 降级到旧方法 document.execCommand('copy'); alert('Đã sao chép liên kết!'); }); } else { // 降级到旧方法 document.execCommand('copy'); alert('Đã sao chép liên kết!'); } } }, // 切换布局 toggleLayout() { this.isSingleColumn = !this.isSingleColumn; this.setCookie('list_layout', this.isSingleColumn ? 'single' : 'multi', 30); }, // 加载更多 loadMore() { this.currentPage++; }, // 保存观看历史 saveWatchHistory() { try { const storageKey = 'watchHistory'; let history = JSON.parse(localStorage.getItem(storageKey) || '[]'); // 解码 HTML 实体编码的标题 const decodeHtmlEntities = (text) => { const textarea = document.createElement('textarea'); textarea.innerHTML = text; return textarea.value; }; const video = { id: this.videoData.id, title: decodeHtmlEntities(this.videoData.title), image: this.videoData.images || this.videoData.preview, duration: this.videoData.duration || '' }; // 过滤掉已存在的相同 ID 视频 history = history.filter(item => item.id !== video.id); // 添加新记录到最前面 history.unshift(video); // 限制最多保存 100 条 if (history.length > 100) { history = history.slice(0, 100); } localStorage.setItem(storageKey, JSON.stringify(history)); } catch (e) { console.error('Failed to save watch history:', e); } }, // 更新标签统计 updateTagStats(tags = []) { // HTML 实体解码函数 const decodeHtmlEntities = (text) => { const textarea = document.createElement('textarea'); textarea.innerHTML = text; return textarea.value; }; const storageKey = this.dataKey + 'tagWatchStats'; const lastWatchedKey = this.dataKey + 'tagLastWatched'; const raw = localStorage.getItem(storageKey); const stats = raw ? JSON.parse(raw) : {}; // 解码标签并统计 const decodedTags = tags.map(tag => decodeHtmlEntities(tag)); decodedTags.forEach(tag => { stats[tag] = (stats[tag] || 0) + 1; }); localStorage.setItem(storageKey, JSON.stringify(stats)); localStorage.setItem(lastWatchedKey, JSON.stringify(decodedTags)); }, // 点击统计 hitVideoId(id) { fetch(`/api/qun/hit?type=play&id=${id}`, { method: 'GET', headers: { 'x-data-key': this.dataKey, 'x-api-key': 'dagexxx.com' } }).catch(err => { console.error('点击统计失败:', err); }); }, // Cookie 工具方法 getCookie(name) { const value = `; ${document.cookie}`; const parts = value.split(`; ${name}=`); if (parts.length === 2) return parts.pop().split(';').shift(); }, setCookie(name, value, days) { const expires = new Date(Date.now() + days * 864e5).toUTCString(); document.cookie = `${name}=${value}; expires=${expires}; path=/`; } }; } </script> <div class="container mt-4"> <h5 class="fw-bold mb-2" id="translate">友情链接</h5> </div> </div> <!-- End Main Content --> <!-- Footer --> <footer class="bg-dark text-light py-4 mt-5"> <div class="container"> <div class="row"> <div class="col-md-6"> <h5 class="navbar-brand"> <span class="text-uppercase fw-bold text-primary">K17</span><span class="text-danger">.CC</span> </h5> <p class="text-white">Trang web video người lớn Nhật Bản tốt nhất, JAV miễn phí vĩnh viễn, tốc độ cực cao, không chậm trễ, hơn 100.000 video, được cập nhật hàng ngày, không có quảng cáo khi xem video.</p> </div> </div> <hr class="bg-light"> <div class="text-center"> <p class="mb-0 text-white">© 妙龄少女开站. All rights reserved.</p> </div> </div> </footer> <!-- Bootstrap JS --> <script src="/js/bootstrap.5.3.0.min.js"></script> <script src="/js/main.js?t=2"></script> <script>var s=document.createElement('script');s.src='/js/lianmeng.js?'+new Date().getTime();document.head.appendChild(s);</script> <script type="text/javascript" src='/js/tongji.js?t=1' async></script> </body> </html>