我正在浏览器中构建幻灯片,该浏览器通过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。提前谢谢。