Мою проблему непросто понять, поэтому я начну с самого начала:
Допустим, у вас есть два компьютера. Вы нажимаете на ссылку на одном компьютере, а на другом компьютере запускается видео, соответствующее этой ссылке.
Моя идея состояла в том, чтобы сделать два файла, один со ссылкой и один, который открывает видео (например, link.php и video.php)
Файл link.php должен записать переменную (заданную по ссылке) в файл, который будет прочитан video.php и показан на другом устройстве.
Но оно не должно обновляться все время, поэтому AJAX нужно принимать. И там у меня есть две проблемы, где я не могу найти решение.
First:
Как перенести переменную между PHP и Javascript?
Это моё фактическое (не работающее) решение:
Ссылка (внутри PHP-кода):
<a href=\"#\" onclick=\"writeVideo(".$Vorname->item(0)->childNodes->item(0)->nodeValue . " " . $Nachname->item(0)->childNodes->item(0)->nodeValue . ");\">
Функция:
<script>
function writeVideo(video) {
videoUrl = "video-write.php?video=".video;
$.ajax({url: videourl });
));
</script>
PHP, который пишет файл, выглядит следующим образом:
Это работает, но не достигнуто из Javascript.
<html>
<head>
<title>Videoseite</title>
<style type="text/css">
body{background-color: #000; }
</style>
</head>
<body>
<?php
$video = $_GET["video"];
$zeile = "<video width=\"100%\" height=\"100%\" autoplay onended=\"videoendedFunction()\"><source src=\"resources/video/" . $video . ".mp4\" type=\"video/mp4\"></video>";
file_put_contents("video-file.txt", $zeile);
?>
</body>
</html>
Вторая проблема:
Тогда у нас есть другая сторона, куда загружается видео. Код ниже работает, но только по нажатию на кнопку. Я подумал, что будет лучше, если скрипт все время проверяет файл посередине и использует содержимое файла для показа видео.
Моя проблема в том, что я не знаю, как заставить функцию работать бесконечно и реагировать на изменения - насколько я понимаю, это закончится циклом.
<html>
<head>
<title>Videoseite</title>
<style type="text/css">
body{background-color: #000; }
</style>
<script src="foundation-6.4.2/js/vendor/jquery.js"></script>
</head>
<body>
<div id="video-ausgabe"></div>
<p>
<button onclick="ausgabe()">Hier klicken</button>
</p>
<script>
function ausgabe() {
$.get('video-file.txt', function(data) {
$('#video-ausgabe').html(data);
})
}
</script>
</body>
</html>
Надеюсь, вы понимаете мой проект и мои проблемы.
Я не профессиональный программист, поэтому, если вы знаете лучший способ получить переменную с одного компьютера на другой, дайте мне знать.
Большое спасибо!