PageSourceSearch

https://driven.dckap.com/wp-content/plugins/meks-audio-player/assets/js/main.js?ver=1.3

js dckap.com collected 2026-09-24 18:17:55 UTC 5,297 bytes, 171 lines download raw bytes

1(function($) {
2
3    "use strict";
4
5    $(document).ready(function() {
6
7
8        if (!$('.meks-ap-player').length) {
9            return;
10        }
11
12        if ( !$('.meks-ap-player').hasClass('meks-void-player') ) {
13           window.meks_ap_detect_audio($('body'));
14       }
15
16
17
18        /* Toggle the player */
19
20        $('body').on('click', '.meks-ap-toggle', function(e) {
21            e.preventDefault();
22            $('.meks-ap').toggleClass('meks-ap-collapsed');
23        });
24
25         /* Hide volume button on mobile devices */
26        var isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);
27        if (isMobile) {
28           $('.meks-ap .mejs-volume-button').hide();
29        }
30
31    });
32
33    window.meks_ap_detect_audio = function(container) {
34
35        window.meks_ap_player_status = '';
36
37        /* Detect first playable source and initialize the player */
38        $.each(meks_ap_settings.selectors, function(selector, item) {
39           
40            if (!container.find(selector).length) {
41                return;
42            }
43
44            var source = '';
45
46            if (selector == 'iframe') {
47
48                // var elements_to_check = Array.from( item.match );
49                // elements_to_check = elements_to_check.join( ',' );
50                var type = '';
51
52                item.match.forEach(function(element, item){
53                    var found = container.find( element );
54                    if ( found.length ) {
55                        source = found;
56                        type = element;
57                        return;
58                    }
59                    return;
60                })
61
62                if ( source == '' || source == undefined ) {
63                    return
64                }
65
66                source = source.first();
67                
68                type = type.match(/'(.*\.)/);
69                if ( type != null ) {
70                    item.type = type[1].slice( 0, (type[1].length - 1) );
71                }
72
73                item.type += ' custom';
74
75            } else {
76
77                if (item.element == 'self') {
78                    source = container.find(selector).first();
79                } else {
80                    source = container.find(selector).first().hide().find(item.element);
81                }
82            }
83
84
85            if (item.type == 'audio') {
86                window.meks_ap_player_status = 'audio';
87            } else if (item.type == 'custom') {
88                window.meks_ap_player_status = 'custom';
89            } else {
90               window.meks_ap_player_status = item.type;
91            }
92
93            window.meks_ap_player_init(source);
94
95            return false;
96
97        });
98
99
100    };
101
102
103    window.meks_ap_player_init = function(source) {
104
105        source.appendTo('.meks-ap-player').attr('id', 'meks-ap-player-source').attr('preload', 'auto').attr('width', '').attr('height', '').removeClass();
106
107        var player = '';
108
109        if ($('.meks-ap-player audio').length) {
110
111            player = new MediaElementPlayer('meks-ap-player-source', {
112                'classPrefix': 'mejs-',
113                'isVideo': false,
114                'setDimensions': false,
115                'alwaysShowControls': true,
116                'audioVolume': 'vertical',
117                'startVolume': meks_ap_settings.player.volume,
118                'skipBackInterval': 15,
119                'jumpForwardInterval': 15,
120                'timeAndDurationSeparator': '<span> / </span>',
121                'features': Array.from(meks_ap_settings.player.controls),
122                'speeds': ['2', '1.5', '1.25', '0.75'],
123                'defaultSpeed': '1',
124                success: function(mediaElement, originalNode, instance) {
125
126                    mediaElement.addEventListener('ended', function(e) {
127                        $(document).trigger('meks_ap_player_ended');
128                    }, false);
129
130                }
131            });
132
133        }
134
135        window.meks_ap_player = player;
136
137        /* Player jump on specified time */
138        $(document).on('click', '.meks-jump-player', function() {
139
140            var $this = $(this);
141            var minutes = $this.data('minutes') * 60 * 1000;
142            var seconds = $this.data('seconds') * 1000;
143            
144            var total = minutes + seconds;
145            total =  Number(total / 1000).toFixed(3);
146
147            window.meks_ap_player.media.setCurrentTime( Math.min( player.media.duration, total ));
148                       
149            // paly
150            if ( window.meks_ap_player.media.getPaused() ) {
151                window.meks_ap_player.media.play();
152            }
153
154            // marker play functionality when player is 100% ready
155            var playerInterval = setInterval(() => {
156                if (window.meks_ap_player.media.getReadyState() === 4 ) {
157                    $('body').find('#meks-ap-player .mejs-playpause-button').trigger('click');
158                    window.meks_ap_player.media.play();
159                    clearInterval(playerInterval);
160                }
161            }, 500);
162
163        });
164
165        $(document).trigger('meks_ap_player_loaded');
166    };
167
168
169
170
171})(jQuery);

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.