Skip to content

Commit 505a81d

Browse files
authored
Merge pull request #2912 from MathiusD/share-with-timestamp
Add currentTimestamp in shared url by videojs-share
2 parents 857096b + 3169946 commit 505a81d

File tree

1 file changed

+32
-11
lines changed

1 file changed

+32
-11
lines changed

assets/js/player.js

Lines changed: 32 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -35,21 +35,11 @@ if (player_data.aspect_ratio) {
3535

3636
var embed_url = new URL(location);
3737
embed_url.searchParams.delete('v');
38-
short_url = location.origin + '/' + video_data.id + embed_url.search;
38+
var short_url = location.origin + '/' + video_data.id + embed_url.search;
3939
embed_url = location.origin + '/embed/' + video_data.id + embed_url.search;
4040

4141
var save_player_pos_key = "save_player_pos";
4242

43-
var shareOptions = {
44-
socials: ['fbFeed', 'tw', 'reddit', 'email'],
45-
46-
url: short_url,
47-
title: player_data.title,
48-
description: player_data.description,
49-
image: player_data.thumbnail,
50-
embedCode: "<iframe id='ivplayer' width='640' height='360' src='" + embed_url + "' style='border:none;'></iframe>"
51-
}
52-
5343
videojs.Vhs.xhr.beforeRequest = function(options) {
5444
if (options.uri.indexOf('videoplayback') === -1 && options.uri.indexOf('local=true') === -1) {
5545
options.uri = options.uri + '?local=true';
@@ -59,6 +49,37 @@ videojs.Vhs.xhr.beforeRequest = function(options) {
5949

6050
var player = videojs('player', options);
6151

52+
/**
53+
* Function for add time argument to url
54+
* @param {String} url
55+
* @returns urlWithTimeArg
56+
*/
57+
function addCurrentTimeToURL(url) {
58+
var urlUsed = new URL(url);
59+
urlUsed.searchParams.delete('start');
60+
var currentTime = Math.ceil(player.currentTime());
61+
if (currentTime > 0)
62+
urlUsed.searchParams.set('t', currentTime);
63+
else if (urlUsed.searchParams.has('t'))
64+
urlUsed.searchParams.delete('t');
65+
return urlUsed;
66+
}
67+
68+
var shareOptions = {
69+
socials: ['fbFeed', 'tw', 'reddit', 'email'],
70+
71+
get url() {
72+
return addCurrentTimeToURL(short_url);
73+
},
74+
title: player_data.title,
75+
description: player_data.description,
76+
image: player_data.thumbnail,
77+
get embedCode() {
78+
return "<iframe id='ivplayer' width='640' height='360' src='" +
79+
addCurrentTimeToURL(embed_url) + "' style='border:none;'></iframe>";
80+
}
81+
};
82+
6283
const storage = (() => {
6384
try { if (localStorage.length !== -1) return localStorage; }
6485
catch (e) { console.info('No storage available: ' + e); }

0 commit comments

Comments
 (0)