如何将每个视频时长和网址存储在单独的本地存储变量中? (Vimeo,Jquery)

问题描述 投票:0回答:1

基本上,我正在尝试将视频网址和时长存储在本地存储中,但我想对任何视频进行存储它仅适用于一个,我不在乎本地存储将每个视频URL和持续时间分开保存多少?

jQuery(document).ready(function() {


let prev_url= localStorage.getItem('videourl');


player.getDuration().then(function(duration) {
    var minutes = Math.floor(duration / 60);
    jQuery('#total_minutes').html('<i class="fal fa-clock"></i>'+minutes+' minutes');
});

jQuery('.video_trailer_embed').each(function(){
        var href = jQuery(this).attr('src');
        if(href==prev_url || prev_url==null) {
        localStorage.setItem('videourl', href);
        let time = localStorage.getItem('videoProgress');
        player.setCurrentTime(time);
        }
        function run_url_every_2seconds(){
            localStorage.setItem('videourl', href);
            console.log(href);
        } 
        player.on('play', function() {  
            setInterval(run_url_every_2seconds,2000);
        });
});




/*player.on('pause', function() {
    player.getCurrentTime().then(function(seconds) {
        localStorage.setItem('videoProgress', seconds);

    }); 
}); */


function run_every_2seconds(){
        player.getCurrentTime().then(function(seconds) {
        localStorage.setItem('videoProgress', seconds);

        });
} 
player.on('play', function() {  
setInterval(run_every_2seconds,2000);
});
javascript jquery vimeo
1个回答
0
投票

向每个localStorage键添加索引i,以使每个页面上的名称不同。并添加window.location.pathname以区分页面。否则,您每次都将覆盖存储中的相同值。

jQuery('.video_trailer_embed').each(function(i){
        var href = jQuery(this).attr('src');
        if(href==prev_url || prev_url==null) {
            localStorage.setItem('videourl' + window.location.pathname + i, href);
            let time = localStorage.getItem('videoProgress' + window.location.pathname + i);
            player.setCurrentTime(time);
        }
        function run_url_every_2seconds(){
            localStorage.setItem('videourl' + window.location.pathname + i, href);
            console.log(href);
        } 
        player.on('play', function() {  
            setInterval(run_url_every_2seconds,2000);
        });
});
© www.soinside.com 2019 - 2024. All rights reserved.