PageSourceSearch

https://smartworld.co.kr/js/site_video.js?1787728248

js smartworld.co.kr collected 2026-09-24 15:05:50 UTC 2,910 bytes, 101 lines download raw bytes

1$(function(){
2	if(LIMIT_API_LIST.indexOf('youtube') === -1){
3		var $youtube_player_api = $('#youtube_player_api');
4		if($youtube_player_api.length === 0){
5			$youtube_player_api = $('<script src="https://www.youtube.com/iframe_api" id="youtube_player_api" />');
6			var $first_script = $('script').eq(0);
7			$first_script.before($youtube_player_api);
8		}
9	}
10});
11
12var SITE_VIDEO = function () {
13	var code;
14	var data = {};
15	var $video;
16	var $cover_layer;
17	var $is_mo_video;
18	var tv;
19
20	var init = function(c,d){
21		code = c;
22		data = d;
23		$video = $('#video_' + code);
24		$cover_layer = $video.find('._cover_layer');
25		if(data.autoplay == 'Y' && data.video_type == 'vimeo' ){
26			play();
27		}
28	};
29	var play = function () {
30		$is_mo_video = $('.mobile_section').find('#video_' + code).length;
31		var window_width = $(window).width();
32
33		if(typeof data.video_id == 'undefined')
34			return;
35		if(typeof data.video_type == 'undefined')
36			data.video_type = 'youtube';
37		if(data.video_type == '')
38			data.video_type = 'youtube';
39		if(data.video_id == '')
40			return;
41		if(data.video_type == 'vimeo'){
42			//vimeo
43			var options;
44			options = {
45				'id' : data.video_id,
46				'loop' : data.loop == 'Y',
47				'title' : data.hide_title != 'Y',
48				'muted' : data.mute == 'Y',
49				'controls': data.hide_controls != 'Y',
50				'autoplay' : true,
51				'transparent' : false,
52				'autopause' : false,
53			};
54			if(window_width > 991 && $is_mo_video){
55				options.autoplay = false;
56				options.autopause = true;
57			}
58			ensureVimeoSDK(() => {
59				tv = new Vimeo.Player(`img_box_${code}`, options);
60				tv.on('loaded', () => {
61					$(`#img_box_${code}`).find('iframe').css({width: '100%', height: '100%', margin: '0'});
62					$(`#img_${code}`).remove();
63				});
64			});
65		}else{
66			//youtube
67			var options = {
68				'loop' : data.loop=='Y'?1:0,
69				'rel': 0,
70				'playlist' : data.video_id,
71				'showinfo' : data.hide_title=='Y'?0:1,
72				'controls' : data.hide_controls=='Y'?0:'',
73				'mute' : data.mute=='Y'?1:0,
74				'autoplay' : 1
75			};
76
77			tv = new YT.Player('img_' + code, {videoId: data.video_id, playerVars: options, events: {'onReady': onPlayerReady}});
78			$('#img_' + code).css({width: '100%', height: '100%', margin: '0'});
79		}
80		// $cover_layer가 남아있을 경우 화면 resize 시에 다시 block 되는 문제 있어 재생 시에 제거
81		// (autoplay는 cover_layer를 기준으로 resize하여 자동재생하므로 video/index.sub에서 따로 처리
82    if(data.autoplay !== 'Y')
83			$cover_layer.remove();
84
85	};
86
87	// loadPlaylist 는 mute playerVar 로 건 음소거를 해제하고, loadVideoById 는 loop 컨텍스트를 무너뜨린다.
88	// 영상은 생성자의 videoId 로 싣고, 반복은 playerVars 의 loop + playlist 조합이 처리한다.
89	var onPlayerReady = function(event){
90		event.target.playVideo();
91	};
92
93	return {
94		'play': function () {
95			play();
96		},
97		'init': function (c, d) {
98			init(c, d);
99		}
100	}
101};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.