Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jcrop on video-视频仅在作物选择中显示_Javascript_Html_Video_Jcrop_Http Status Code 304 - Fatal编程技术网

Javascript Jcrop on video-视频仅在作物选择中显示

Javascript Jcrop on video-视频仅在作物选择中显示,javascript,html,video,jcrop,http-status-code-304,Javascript,Html,Video,Jcrop,Http Status Code 304,我有一个视频源Jcrop, html页面显示包含视频的容器,但它是一个静态图像。一旦我点击图像,它就会更新。单击/拖动以裁剪视频区域后,裁剪选择中的区域将显示视频更新 我如何获得它,以便视频流在进行作物选择之前和期间不断更新 编辑: 使用网络监视器上的Inspect Element工具,无论是否进行了选择,持续更新视频的页面的状态代码为:200 OK 而包含视频的页面的状态代码(除非单击否则不会更新)为:304未修改,为了强制每隔(比如)1秒刷新一次图像,您需要: 使用javascriptset

我有一个视频源Jcrop,
html页面显示包含视频的容器,但它是一个静态图像。一旦我点击图像,它就会更新。单击/拖动以裁剪视频区域后,裁剪选择中的区域将显示视频更新

我如何获得它,以便视频流在进行作物选择之前和期间不断更新

编辑: 使用网络监视器上的Inspect Element工具,无论是否进行了选择,持续更新视频的页面的状态代码为:200 OK


而包含视频的页面的状态代码(除非单击否则不会更新)为:304未修改

,为了强制每隔(比如)1秒刷新一次图像,您需要:

  • 使用javascript
    setInterval
  • 如果文件名未更改,请缓存图像源
  • 例如,下面的代码

    <img id="vidimg" src="Assets/img.jpg">
    <script>
      setInterval(function(){ 
          document.getElementById("vidimg").src="Assets/img.jpg" + 
          "?cachebuster=" + Math.round(new Date().getTime() / 1000).toString() },
      1000);
    </script>
    
    
    setInterval(函数(){
    document.getElementById(“vidimg”).src=“Assets/img.jpg”+
    “?cachebuster=“+Math.round(new Date().getTime()/1000).toString()”,
    1000);
    
    setInterval(…,1000)使内的函数每1000毫秒(每秒一次)重复一次-您可能需要根据正在使用的图像源的下载速度/刷新率进行调整。该函数可以是内联的,正如我在这里所做的,或者如果涉及到更复杂的逻辑,您可以将其设置为命名函数并引用它

    document.getElementById(“vidimg”).src=“Assets/img.jpg”
    只需重新加载图像源代码,如果图像与已缓存的图像相同,这可能会导致浏览器尝试智能化,因此您需要向文件名添加一个随机参数,以强制其从服务器重新获取,因此,
    +”?cachebuster=“+Math.round(new Date().getTime()/1000).toString()
    ,它只是基于当前时间添加了一个参数

    如果您的源代码没有文件名(如您问题中的示例所示),那么添加cachebuster仍然可以工作


    由于我无法访问您描述的源代码,因此我无法对其进行测试,但在理论上它应该可以工作。或者,您不能使用
    访问它吗?

    出于某种原因,它有时有效,有时无效。不知道为什么。如果您使用的是
    img
    它不会自动更新,您必须触发它(可能是源代码的javascript刷新),并且如果图像名称/metatdata保持不变,浏览器可能只使用缓存图像(因此需要cachebuster查询字符串或类似内容)@OffBeat谢谢,投票赞成使用“自动”一词。如何刷新javascript以及什么是cachebuster查询字符串?还认为这可能与需要获取的CDN脚本有关,因此使用了
    GEThttp://...cdn_link... [HTTP1.1 304未修改..ms]
    notifications。添加了一个示例,希望能对下文有所帮助