Merge pull request #2744 from tirz/feature-fix_null_ptr_for_localStorage

fix: null ptr while retaining video time
This commit is contained in:
Samantaz Fox 2022-01-05 03:23:22 +01:00 committed by GitHub
commit edcc155482
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 46 additions and 19 deletions

View file

@ -59,6 +59,16 @@ videojs.Hls.xhr.beforeRequest = function(options) {
var player = videojs('player', options);
const storage = (() => {
try {
if (localStorage.length !== -1) {
return localStorage;
}
} catch (e) {
console.info('No storage available: ' + e);
}
return undefined;
})();
if (location.pathname.startsWith('/embed/')) {
player.overlay({
@ -386,25 +396,35 @@ function get_video_time() {
}
function set_all_video_times(times) {
const json = JSON.stringify(times);
localStorage.setItem(save_player_pos_key, json);
if (storage) {
if (times) {
try {
storage.setItem(save_player_pos_key, JSON.stringify(times));
} catch (e) {
console.debug('set_all_video_times: ' + e);
}
} else {
storage.removeItem(save_player_pos_key);
}
}
}
function get_all_video_times() {
try {
const raw = localStorage.getItem(save_player_pos_key);
const times = JSON.parse(raw);
return times || {};
}
catch {
return {};
if (storage) {
const raw = storage.getItem(save_player_pos_key);
if (raw !== null) {
try {
return JSON.parse(raw);
} catch (e) {
console.debug('get_all_video_times: ' + e);
}
}
}
return {};
}
function remove_all_video_times() {
localStorage.removeItem(save_player_pos_key);
set_all_video_times(null);
}
function set_time_percent(percent) {