PageSourceSearch

https://tanip.ru/wp-content/plugins/bg-rutube-embed/js/bg_rutube.js?ver=1.6.3

js tanip.ru collected 2026-10-07 11:52:58 UTC 4,580 bytes, 110 lines download raw bytes

1jQuery(document).ready(function(){
2	
3	// Если на странице нет Видео, не выводить
4	if (!jQuery('.bg_rutube_playlistContainer')[0]) {
5		return false;
6	}
7	var rutube_url = 'https://rutube.ru/video/embed/';
8
9	jQuery('.bg_rutube_playlistContainer').each(function() {
10		var uuid = jQuery(this).attr('data-uuid');
11		var movieID = jQuery(this).attr('data-movie');
12		var mode = jQuery(this).attr('data-mode');
13		var startTime = jQuery(this).attr('data-start');
14		if (startTime) movieID += '/?t='+startTime;
15		jQuery('div#bg_rutube_videoContainer'+uuid).append('<iframe id="bg_rutube_player'+uuid+'" class="bg_rutube-video" webkitAllowFullScreen mozallowfullscreen allowfullscreen frameborder="0" allow="autoplay" loading="lazy"></iframe>');
16		var iframe = jQuery('iframe#bg_rutube_player'+uuid);
17
18		switch (mode) {
19		  case 'load':
20		// Вставляем первое видео во фрейм 
21			iframe.attr('src',rutube_url+movieID);
22			
23			break;
24		  case 'play':
25		// Вставляем первое видео во фрейм и воспоизводим его
26			iframe.attr('src',rutube_url+movieID);
27			bg_rutube_play(uuid);
28			break;
29		  case 'preview':
30		  default:
31		// Вставляем первое видео во фрейм после клика на заставку и воспоизводим его
32			jQuery('div#bg_rutube_thumbnail'+uuid).on('mousedown, mouseup, click', function(e){
33				e.preventDefault();
34				iframe.attr('src',rutube_url+movieID);
35				bg_rutube_play(uuid);
36				jQuery(this).slideUp();
37			});
38		}
39
40	// Если в списке больше одного видео, показываем список
41		if (jQuery('.bg_rutube_showRuTubeVideoLink'+uuid).length > 1) {
42		// Следующий фильм
43			jQuery('#bg_rutube_next_movie'+uuid).click(function(){
44//				var movieID = jQuery('iframe#bg_rutube_player'+uuid).attr('src').replace(rutube_url,'');
45				var movieID = jQuery('div#bg_rutube_playlistContainer'+uuid).attr('data-movie');
46				var el = bg_rutube_findMovie(movieID, uuid);
47				if (el === false) return false;
48				el = el.next('.bg_rutube_showRuTubeVideoLink'+uuid);
49				if (!el.length) el = jQuery('.bg_rutube_showRuTubeVideoLink'+uuid).first();
50				bg_rutube_showMovie(el, uuid);
51				return false;
52			});
53		// Предыдущий фильм
54			jQuery('#bg_rutube_prev_movie'+uuid).click(function(){
55//				var movieID = jQuery('iframe#bg_rutube_player'+uuid).attr('src').replace(rutube_url,'');
56				var movieID = jQuery('div#bg_rutube_playlistContainer'+uuid).attr('data-movie');
57				var el = bg_rutube_findMovie(movieID, uuid);
58				if (el === false) return false;
59				el = el.prev('.bg_rutube_showRuTubeVideoLink'+uuid);
60				if (!el.length) el = jQuery('.bg_rutube_showRuTubeVideoLink'+uuid).last();
61				bg_rutube_showMovie(el, uuid);
62				return false;
63			});
64		// Выбор видео из плейлиста
65			jQuery('.bg_rutube_showRuTubeVideoLink'+uuid).click(function(){
66				bg_rutube_showMovie(jQuery(this), uuid);
67				return false;
68			});
69		}
70
71	// Найти элемент по индексу фильма
72		function bg_rutube_findMovie(id, uuid) {
73			var el = false;
74			jQuery('.bg_rutube_showRuTubeVideoLink'+uuid).each(function() {
75				this_id = jQuery(this).first().attr('data-movie');
76				if (this_id == id) {
77					el = jQuery(this);
78					return false;
79				}
80			});
81			return el;
82		}
83	// Показать фильм из списка
84		function bg_rutube_showMovie(el, uuid){
85			movieID = el.first().attr('data-movie');
86			jQuery('iframe#bg_rutube_player'+uuid).attr('src',rutube_url+movieID);
87			jQuery('div#bg_rutube_playlistContainer'+uuid).attr('data-movie',movieID);
88		// Перемещаемся вверх к фрейму. Фрейм по центру экрана
89			var margin = (jQuery(window).height() - jQuery('iframe#bg_rutube_player'+uuid).height())/2;
90			var scrollTop = jQuery('#bg_rutube_playlistContainer'+uuid).offset().top - margin;
91			if (scrollTop < 0) scrollTop = 0;
92			jQuery( 'html, body' ).animate( {scrollTop : scrollTop}, 800 );
93			jQuery('div#bg_rutube_thumbnail'+uuid).slideUp();
94			bg_rutube_play(uuid);
95		}
96		
97	// Воспроизвести видео
98		function bg_rutube_play(uuid){
99			setTimeout(function() {
100				var player = document.getElementById('bg_rutube_player'+uuid);
101				if (player) {
102					player.contentWindow.postMessage(JSON.stringify({
103						type: 'player:play',
104						data: {}
105					}), '*');
106				}
107			}, 800);
108		}
109	});
110});

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.