Skip to content

Commit 9d636fd

Browse files
committed
Merge pull request mediaelement#660 from markomarkovic/feature-postroll
Feature postroll
2 parents be2d85b + fca8c8d commit 9d636fd

13 files changed

Lines changed: 192 additions & 3 deletions

build/mediaelement-and-player.js

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4609,4 +4609,39 @@ $.extend(mejs.MepDefaults,
46094609
});
46104610

46114611
})(mejs.$);
4612+
/**
4613+
* Postroll plugin
4614+
*/
4615+
(function($) {
4616+
4617+
$.extend(mejs.MepDefaults, {
4618+
postrollCloseText: mejs.i18n.t('Close')
4619+
});
4620+
4621+
// Postroll
4622+
$.extend(MediaElementPlayer.prototype, {
4623+
buildpostroll: function(player, controls, layers, media) {
4624+
var
4625+
t = this,
4626+
postrollLink = t.container.find('link[rel="postroll"]').attr('href');
4627+
4628+
if (typeof postrollLink !== 'undefined') {
4629+
player.postroll =
4630+
$('<div class="mejs-postroll-layer mejs-layer"><a class="mejs-postroll-close" onclick="$(this).parent().hide();return false;">' + t.options.postrollCloseText + '</a><div class="mejs-postroll-layer-content"></div></div>').prependTo(layers).hide();
4631+
4632+
t.media.addEventListener('ended', function (e) {
4633+
$.ajax({
4634+
dataType: 'html',
4635+
url: postrollLink,
4636+
success: function (data, textStatus) {
4637+
layers.find('.mejs-postroll-layer-content').html(data);
4638+
}
4639+
});
4640+
player.postroll.show();
4641+
}, false);
4642+
}
4643+
}
4644+
});
4645+
4646+
})(mejs.$);
46124647

build/mediaelement-and-player.min.js

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

build/mediaelement.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1801,7 +1801,8 @@ window.MediaElement = mejs.MediaElement;
18011801
exports.de = {
18021802
"Fullscreen" : "Vollbild",
18031803
"Go Fullscreen" : "Vollbild an",
1804-
"Turn off Fullscreen" : "Vollbild aus"
1804+
"Turn off Fullscreen" : "Vollbild aus",
1805+
"Close" : "Schließen"
18051806
};
18061807

18071808
}(mejs.i18n.locale.strings));

build/mediaelement.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

build/mediaelementplayer.js

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2801,3 +2801,38 @@ $.extend(mejs.MepDefaults,
28012801
});
28022802

28032803
})(mejs.$);
2804+
/**
2805+
* Postroll plugin
2806+
*/
2807+
(function($) {
2808+
2809+
$.extend(mejs.MepDefaults, {
2810+
postrollCloseText: mejs.i18n.t('Close')
2811+
});
2812+
2813+
// Postroll
2814+
$.extend(MediaElementPlayer.prototype, {
2815+
buildpostroll: function(player, controls, layers, media) {
2816+
var
2817+
t = this,
2818+
postrollLink = t.container.find('link[rel="postroll"]').attr('href');
2819+
2820+
if (typeof postrollLink !== 'undefined') {
2821+
player.postroll =
2822+
$('<div class="mejs-postroll-layer mejs-layer"><a class="mejs-postroll-close" onclick="$(this).parent().hide();return false;">' + t.options.postrollCloseText + '</a><div class="mejs-postroll-layer-content"></div></div>').prependTo(layers).hide();
2823+
2824+
t.media.addEventListener('ended', function (e) {
2825+
$.ajax({
2826+
dataType: 'html',
2827+
url: postrollLink,
2828+
success: function (data, textStatus) {
2829+
layers.find('.mejs-postroll-layer-content').html(data);
2830+
}
2831+
});
2832+
player.postroll.show();
2833+
}, false);
2834+
}
2835+
}
2836+
});
2837+
2838+
})(mejs.$);

build/mediaelementplayer.min.js

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

demo/index.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ <h1>MediaElement.js</h1>
1919
<li><a href="mediaelementplayer-youtube.html">MediaElementPlayer - YouTube</a> - controls on YouTube video</li>
2020
<li><a href="mediaelementplayer-responsive.html">MediaElementPlayer - Responsive</a> - 100% player with YouTube</li>
2121
<li><a href="mediaelementplayer-events.html">MediaElementPlayer - Events</a> - example of attaching events</li>
22+
<li><a href="mediaelementplayer-postroll.html">MediaElementPlayer - Postroll</a> - showing something when video ends</li>
2223

2324
</ul>
2425

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
<div class="postroll">
2+
<h3>Postroll content</h3>
3+
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa.</p>
4+
</div>
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5+
<title>HTML5 MediaElement</title>
6+
7+
8+
<script src="../build/jquery.js"></script>
9+
<script src="../build/mediaelement-and-player.min.js"></script>
10+
<link rel="stylesheet" href="../build/mediaelementplayer.min.css" />
11+
</head>
12+
<body>
13+
14+
<h1>MediaElementPlayer.js</h1>
15+
16+
<p>Recommended Setup</p>
17+
18+
19+
<h2>MP4/WebM video</h2>
20+
<video width="360" height="203" id="player2" controls="controls">
21+
<source src="../media/echo-hereweare.mp4" type="video/mp4" title="mp4">
22+
<source src="../media/echo-hereweare.webm" type="video/webm" title="webm">
23+
<source src="../media/echo-hereweare.ogv" type="video/ogg" title="ogg">
24+
<p>Your browser leaves much to be desired.</p>
25+
26+
<link rel="postroll" href="./mediaelementplayer-postroll-content.html" />
27+
</video>
28+
29+
<script>
30+
$('audio,video').mediaelementplayer({
31+
features: ['playpause','progress','volume','postroll']
32+
});
33+
</script>
34+
<style>
35+
.postroll {
36+
padding: 5%;
37+
color: #fff;
38+
}
39+
</style>
40+
41+
</body>
42+
</html>

src/Builder.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@
4444
mep_files.append('mep-feature-fullscreen.js')
4545
mep_files.append('mep-feature-tracks.js')
4646
mep_files.append('mep-feature-contextmenu.js')
47+
mep_files.append('mep-feature-postroll.js')
4748
# mep_files.append('mep-feature-sourcechooser.js')
4849

4950
code = ''

0 commit comments

Comments
 (0)