folgendes Problem:
Ich habe 2 IP Cams in der Wohnung, für die ich hobby mäßig eine Website programmiert habe, die mir die beiden anzeigt. Da die keine Videos direkt in html übertragen, habe ich es so programmiert, dass alle 5 Sekunden ein Snap beider Kameras auf meinen Apache lokal gespeichert werden. Die Website soll dann ebenfalls alle 5 sekunden das neuste Bild anzeigen. Das habe ich mit Java Script HTML und PHP folgendermaßen gelöst:
<html> <head> <title>IP CAMERAS</title> <meta charset="utf-8"/> <script src="https://code.jquery.com/jquery-3.2.1.min.js" integrity="" crossorigin="anonymous"></script> <script> function sleep(ms) { return new Promise(resolve => setTimeout(resolve, ms)); } </script> </head> <style> #Cam1{ width: 680px; height: 480px; } #Cam2{ width: 680px; height: 480px; } </style> <body> <h1>Test</h1> <img src="" id="Cam1" alt='Cam1' /> <img src="" id="Cam2" alt='Cam2' /> <script> ftpurl1 = "cam1/"; weburl1 = "http://xx.xx.xx.xx/current1.php"; ftpurl2 = "cam2/"; weburl2 = "http://xx.xx.xx.xx/current2.php"; window.onload = async function(){ while(1) { $(document).ready(function() { $.get(weburl1, function(data, status) { $('img#Cam1').attr("src", ftpurl1 + data); }); }); $(document).ready(function() { $.get(weburl2, function(data, status) { $('img#Cam2').attr("src", ftpurl2 + data); }); }); await sleep(5000); } } </script> </body> </html>
Hier die PHP Dateien, die in dem Ordner eine Abfrage machen, was drin ist und welches bild das aktuellste ist:
<?php
// header('Access-Control-Allow-Origin': '*');
$dir = scandir("cam1/");
echo(array_pop($dir));
?>
Das funktioniert soweit super, allerdings nicht in jedem Browser. Firefox und Chrome absolut kein Thema, Edge und IE 11 / 10 kriegen das nicht hin. Wisst ihr zufällig, was ich hier noch ändern muss ?
Nicht wundern wegen der ftpurl. Die Bilder habe ich zuvor auf einem FTP gespeichert, dann hat Chrome und Firefox jedoch den Support für Subrecourses like ftp auf http seiten eingestellt...
Habe schon verschiedene Jquery Versionen durch probiert ohne Erfolg.
Vielen Dank für eure Antworten schon mal vorab
Dieser Beitrag wurde von spliced bearbeitet: 21. Juli 2017 - 12:27