在Windows 7上使用IE9-11在Kiosk模式下填写客户端硬盘的HTML5视频

时间:2014-12-09 21:14:17

标签: javascript jquery html5 internet-explorer kiosk

我正在浏览器中构建幻灯片,该浏览器通过Intranet的RSS源内容自动旋转。其中一些内容是视频。如果幻灯片恰好是视频,它会填充屏幕,然后播放视频X秒或视频的全长,以较短者为准,然后再转到下一张幻灯片。视频可以是任何MB大小。

幻灯片的内容在页面加载时获取,然后每5分钟刷新一次(如果需要)。

除非停电或需要升级,否则计算机永远不会关闭或重新启动。在测试中,这一切都很有效。

然后我们把它投入使用并以kiosk模式启动IE。

现在每次视频循环播放时都会创建一个新的缓存文件。这导致在几天内完全硬盘驱动器。我们确实控制了客户端计算机,但是不希望设置某种批处理文件。我们已经尝试在IE中为缓存大小设置首选项,甚至将事物设置为无缓存,但它似乎没有为此问题做任何事情。

以下是代码如何适用于视频嵌入的示例。我在vanilla javascript中尝试过这方面的变体,但它对于视频播放问题没有任何影响,而JQuery实际上在页面上移动元素时更加高效,因此它是所有JQuery。

$.ajax({
    url: SOMEURL,
    dataType: 'xml',
    type: 'GET',
    success: function (xml) { 
      $(xml).find('item').each(function () {
         var slideIndex = $this.index();
         var videoId = 'video_' + slideIndex;
         var videoSrc = $this.find('enclosure').text();

         var vidAttribs = {
            'id': videoId,
            'class': 'js-video',
            'width': '100%',
            'height': '100%',
            'controls': '',
            'preload': 'auto',
            'type': 'video/mp4',
            'src': videoSrc
         }

         var video = $('<video />').attr(vidAttribs);
         $('body').append(assembledElements);
      });
      xml = null;
    },
    timeout: 5500,
    error: function (req, status, err) {
        console.log("Whoops. I can't load the feed at" + feedUrl + " - Type of error:", status, err);
    }

});

稍后在代码中,视频在成为堆栈顶部幻灯片时播放:

video.play();

var stopVidAsNeeded = setInterval(function () {
    if (video.currentTime >= videoPlayTime) {
        video.pause();
        video.currentTime = 0;
        clearInterval(stopVidAsNeeded);
    }

}, 500);

我的问题是:

你是否看到逻辑中存在任何漏洞,或者我可以更改嵌入代码中的任何内容,以便在这方面改进IE?

同样,它似乎只影响kiosk模式下的IE。提前谢谢。

0 个答案:

没有答案