최근 변경
최근 토론
특수 기능
파일 올리기
작성이 필요한 문서
고립된 문서
고립된 분류
분류가 되지 않은 문서
편집된 지 오래된 문서
내용이 짧은 문서
내용이 긴 문서
차단 내역
RandomPage
라이선스
IP 사용자
216.73.216.170
설정
다크 모드로 전환
로그인
the wood/개발노트
(r20 문단 편집)
[오류!]
편집 권한이 부족합니다. 로그인된 사용자 OR geoip:KR(이)여야 합니다. 해당 문서의
ACL 탭
을 확인하시기 바랍니다.
닫기
RAW 편집
====# 동영상 매크로 #==== {{{#!syntax javascript // 동화상 for(let finc of (data.match(/\[(youtube|kakaotv|nicovideo|vimeo|navertv)[(](((?![)])(.|<spannw>[)]<\/spannw>))+)[)]\]/gi) || [])) { let inc = finc.match(/\[(youtube|kakaotv|nicovideo|vimeo|navertv)[(](((?!([)]))(.|<spannw>[)]<\/spannw>))+)[)]\]/i); let vid = inc[1].replace(/<spannw>[)]<\/spannw>/, ')'); let id = inc[2].replace(/<spannw>[)]<\/spannw>/, ')').split(',')[0].replace(/^(\s+)/, '').replace(/(\s+)$/, '').replace(/[&]quot;/g, '"').replace(/[&]amp;/g, '&').replace(/[&]lt;/g, '<').replace(/[&]gt;/g, '>'); let paramsa = inc[2].replace(/<spannw>[)]<\/spannw>/, ')').split(',').slice(1, 99999); let params = {}; for(let item of paramsa) { let pp = item.split('=')[0].replace(/^(\s+)/, '').replace(/(\s+)$/, '').toLowerCase(); params[pp] = item.replace(pp + '=', '').replace(/^(\s+)/, '').replace(/(\s+)$/, ''); } let d; switch(vid.toLowerCase()) { case 'youtube': { d = `<iframe allowfullscreen src="//www.youtube.com/embed/${encodeURIComponent(id)}${params.start ? `?start=${encodeURIComponent(params.start)}` : ''}${params.end ? ((params.start ? '&' : '?') + 'end=' + encodeURIComponent(params.end)) : ''}" loading=lazy width="${params.width || 640}" height="${params.height || 360}" frameborder=0></iframe>`; } break; case 'kakaotv': { d = `<iframe allowfullscreen src="//tv.kakao.com/embed/player/cliplink/${encodeURIComponent(id)}" loading=lazy width="${params.width || 640}" height="${params.height || 360}" frameborder=0></iframe>`; } break; case 'nicovideo': { d = `<iframe allowfullscreen src="//embed.nicovideo.jp/watch/sm${encodeURIComponent(id)}" loading=lazy width="${params.width || 720}" height="${params.height || 480}" frameborder=0></iframe>`; } break; case 'vimeo': { d = `<iframe allowfullscreen src="//player.vimeo.com/video/${encodeURIComponent(id)}" loading=lazy width="${params.width || 640}" height="${params.height || 360}" frameborder=0></iframe>`; } break; case 'navertv': { d = `<iframe allowfullscreen src="//tv.naver.com/embed/${encodeURIComponent(id)}" loading=lazy width="${params.width || 640}" height="${params.height || 360}" frameborder=0></iframe>`; } } data = data.replace(finc, d); } }}} 여기서 nicovideo.jp를 정상화해야한다 아주 간단하게 sm(id 8자리)와 (id 8자리) 둘 다 작동하게 수정해보자 {{{#!syntax javascript break; case 'nicovideo': { id = id.startsWith('sm') ? id : `sm${id}`; d = `<iframe allowfullscreen src="//embed.nicovideo.jp/watch/${encodeURIComponent(id)}" loading=lazy width="${params.width || 720}" height="${params.height || 480}" frameborder=0></iframe>`; } }}} 이렇게 정상화하면 잘 작동할 것이다
다올위키
운영 문서
규정
규정
|
면책조항
|
개인정보 처리방침
|
이메일 무단 수집거부
도움말
소개
|
기능
|
문법
|
토론
기능
위키 엔진
|
위키 스킨
|
통계
|
연습장
(
토론
·
ACL
)
운영
관리자
(
/선출
)
|
운영 보고서
|
투명성 보고서
|
다중 계정 검사 보고서
분류
분류
|
틀
|
파일
|
템플릿
|
보존문서
닫기
사용자
216.73.216.170
IP 사용자
로그인
회원가입
최근 변경
[불러오는 중...]
최근 토론
[불러오는 중...]