Условная загрузка видео для разных устройств — JavaScript

Я хотел бы загружать разные видео в зависимости от устройства пользователя с помощью javascript. Но я не могу этого сделать, видео не отображается :-/

Мой HTML:

<div id = "fullsize-video-bg">
  <video id = "video-bg-test-mobile" preload = "metadata"></video>
  <video id = "video-bg-test-desktop" preload = "metadata"></video>
</div>

Мой javascript:

function loadVid(){

  if (window.matchMedia("(min-aspect-ratio: 1/1)").matches) {

    var videourl = 'https://example.com/video-bg-test-desktop.mp4';
    var videocontainer = '#fullsize-video-bg';
      var parameter = new Date().getMilliseconds();

      var video = '<video width = "1920" height = "1080" id = "video-bg-test-desktop" autoplay loop muted playsinline src = "' + videourl + '?t=' + parameter + '"></video>';

      $(videocontainer).append(video);

      video = $(document).find('#video-bg-test-desktop')[0];

      video.load();
    }

  else {

    var videourl = 'https://example.com/video-bg-test-mobile.mp4'; 
    var videocontainer = '#fullsize-video-bg';
      var parameter = new Date().getMilliseconds();

      var video = '<video width = "768 " height = "1366" id = "video-bg-test-mobile" autoplay loop muted playsinline src = "' + videourl + '?t=' + parameter + '"></video>';

      $(videocontainer).append(video);

      video = $(document).find('#video-bg-test-mobile')[0];

      video.load();
  }
}

Я также сделал ручку: https://codepen.io/mcmc/pen/YBJeqd

Если я добавлю библиотеку JQuery в ваш codepen и вызову функцию loadVid(), видео запустится. Поэтому убедитесь, что ваша HTML-страница правильно импортирует JQuery и что вы действительно вызываете функцию там. codepen.io/anon/pen/LqgmrO

Shilly 15.02.2019 12:02

Большое спасибо @Shilly, это наконец-то работает :)

may 18.02.2019 10:51
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
2
80
0

Другие вопросы по теме