使用 PHP 通过 jquery 创建的文件


Using a file created by PHP with jquery

我正在使用jquery将字符串发布到php文件,如下所示:

$.ajax({
        type: "POST",
        url:"save0.php",
        data: {data:subtitle},
success: function() { 
      console.log("message sent!")} 
});

然后,php 文件将其写入 .vtt(字幕(文件,并将该文件加载回循环 html5 视频的轨道元素中。现在,每次视频循环播放时,它都有不同的字幕:

$("#subtitles").attr("src", "subtitle/sub1.vtt");

我使用以下行删除最后一个轨道 src(否则视频不会循环(:

$("#subtitles").removeAttr("src");

不幸的是它不起作用,似乎字幕只能在刷新浏览器时使用。当视频尝试循环播放时,它就会卡住,可能是因为它找不到 track src 元素(我已经调试了一段时间(。难道新写入的文件只能在刷新后使用吗?或者有没有另一种方法来"加载"新写入的文件?

我通过在字幕文件之间交替修复了它:

$("#subtitles").removeAttr("src");
if (subcounter == "ae"){    
            $.ajax({type: "POST",url:"save0.php",data: {data:subtitle},success: function() {console.log("message sent!")}});
            $("#subtitles").attr("src", "subtitle/sub1.vtt");
            console.log("true");
};
if (subcounter == "ea"){
            $.ajax({type: "POST",url:"save1.php",data: {data:subtitle},success: function() {console.log("message sent!")}});
            $("#subtitles").attr("src", "subtitle/sub0.vtt");
            console.log("false");
};

然后在循环结束时,它反转子计数器字符串:

function reverse(s){
    return s.split("").reverse().join("");
    };
subcounter = reverse(subcounter);