【问题标题】:How to reload a video everytime web page is reloaded每次重新加载网页时如何重新加载视频
【发布时间】:2021-11-13 02:28:06
【问题描述】:

我想要一个可以在每次重新加载页面时更改背景的功能,但它不起作用。


 <script  type="text/javascript">
  var source = document.getElementById('video-source');
  var videos = [
  "videos/vid1.mp4",
  "videos/vid2.mp4",
  "videos/vid3.mp4"
];

  var randomVideo = videos[Math.floor(Math.random() * 3)];

source.setAttribute('src', randomVideo);
</script>
  

【问题讨论】:

  • 不工作是什么意思?
  • @Someone_who_likes_SE 不影响网页,重新加载后视频还是一样。
  • @HunainAhmed 。 您的视频播放相同的意思 ** - 在某些 Timestamp 喜欢:02:33 , 03:22 **或相同的视频一次又一次地播放。

标签: javascript html css arrays


【解决方案1】:

实际上,似乎代码在每次页面刷新时都会运行并更新您的视频源,但由于数组太小(尽管您的随机方法为每个元素提供了机会)它可能总是选择一个相同的
您可以尝试使用arr[Math.floor(Math.random() * 10000) % arr.length] 从小数组中选择随机元素。如果它不起作用,请将行 debugger; 添加到您的 js 的开头并逐步调试它,这样您就可以确保您的代码在页面重新加载时再次运行。

如果您想确保选择的视频与上一个不同,您可以使用以下代码选择视频网址:

function selectRandomElement(arr) { //assume arr contains at least two elements
    var res;
    while((res = arr[Math.floor(Math.random() * 10000) % arr.length]) == localStorage['lastVideo']);

    localStorage['lastVideo'] = res;
    return res;
}

【讨论】:

  • 您的代码也不起作用。我应该在 arr.length 的位置写什么?
  • “arr”的意思是数组,你应该把你的数组发送给我写的函数,以便随机选择一个视频,例如var randomVideo = selectRandomElement(videos);
猜你喜欢
  • 2023-02-18
  • 2018-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多