ugrás a tartalomhoz

Video lejátszási idő (teljes) kinyerése-2

kovzoli · 2016. Dec. 9. (P), 02.48
Már azt hittem, minden rendben van, a teljes lejátszási időt ki tudom írni a honlapra, de ahhoz, hogy az adatot feldolgozni tudjam minimum egy változóba be kell olvasnom.

A video - hoz rendelt eseménykezelő függvénye ( a durationchange eseményt figyeli) viszont másképp kezeli a lokális változókat, mint egy rendes függvény. Azaz ebből a függvényből a globális változók csak olvasásra nyithatók meg, a tartalmukat nem tudom megváltoztatni. A window.status is csak addig őrzi meg az értéket, amíg az eseménykezelő függvényen belül van a végrehajtás. Ha egy Id-vel azonosított <p -be íratom ki, kiírja, de visszaolvasni csak a függvényen belül tudom, azon kívül üres értékkel tér vissza. Félmegoldás, ha cooki-ként rögzítem, mert az oldal kétszeres újraindítása után (F5, F5) jelenik meg az érték, nyilván akkor, amikor a szerver a klienstől visszakapja. Form elemek value értékének sem tudtam átadni.
Biztos vagyok benne, hogy kinyerhető az adat feldolgozáshoz, csak még azt nem tudom, hogyan. Ha tudtok, segítsetek
Kováts Zoli
 
1

Tudnál kódot mutatni?

Poetro · 2016. Dec. 9. (P), 12.25
Nem tudom pontosan, mit értesz azon, hogy másképp kezeli a lokális változókat. Tudnál kódot mutatni?

Az én példámban teljesen jól viselkedik.
2

A példakód:

kovzoli · 2016. Dec. 9. (P), 21.05
Az alábbi példakód egy az apache munkakönyvtárában lévő teszt könyvtárba elhelyezett index.html állomány, és az amellé másolt 8 perc 39 másodperces film.mp4 állománnyal dolgozik
  1. <doctype html>  
  2. <html>  
  3. <head>  
  4. <title> </title>  
  5. <meta charset="utf-8">  
  6. </head>  
  7. <body>  
  8. <center>  
  9.   
  10. <video src="/teszt/film.mp4" id="video" preload="metadata" controls autoplay ></video><br>  
  11. <script>  
  12.   
  13. function jatido(jatekido){  
  14.     maxjatekido=jatekido;  
  15.     }  
  16. // A film 8 perc 39 s hosszú, a játékidőnek 519 s -nak kell lenie   
  17. uzenet="A játékidő: ";    
  18. maxjatekido=0;  
  19. // az alábbi függvény átírja a 0-át 120-ra  
  20. jatido(120);  
  21.   
  22. var video = document.getElementById("video");  
  23. video.addEventListener("durationchange", function() {      
  24.     document.getElementById("uzen").innerHTML=uzenet;  
  25.     leido=video.duration.toString();  
  26.     // kiírja a max játékidőt  
  27.     document.getElementById("jido").innerHTML=leido;   
  28.     // átírom a globális változót  
  29.     jatido(leido);  
  30.     //  Az innen hívott függvény     
  31.     // látszólag átírta, mert alább azt íratom ki  
  32.     document.getElementById("jido2").innerHTML="A max játékidő="+maxjatekido;  
  33. }, true);  
  34.     
  35.   document.writeln(video.src);  
  36.   document.writeln("<br>");  
  37.   
  38. </script>  
  39. <p>  
  40.   <button type="button" onclick="video.play();">Play</button>  
  41.   <button type="button" onclick="video.pause();">Pause</button>  
  42.   <button type="button" onclick="video.currentTime = 0;"><< Rewind</button>  
  43. </p>  
  44.   
  45. </center>  
  46.   
  47. </table>  
  48.   
  49. <p> Lábléc </p>  
  50. <p id="uzen">Eredetileg uzen</p>  
  51. <p id="jido">eredetileg jido</p>  
  52. <p id="jido2">eredetileg jido2</p>  
  53. <p id="uzen2">eredetileg uzen2</p>  
  54. <p id="jido3">Eredetileg jido3</p>  
  55. <p>Writeln kiírások</p>  
  56. <script>  
  57. document.getElementById("uzen2").innerHTML="A maximális játékidő a függvényen kívülről=";  
  58. document.getElementById("jido3").innerHTML=maxjatekido;  
  59. // A maxjatekido globális változó tartalma: 120  
  60. document.writeln("A maximális játékidő: ");  
  61. document.writeln(maxjatekido);  
  62. document.writeln("<br>");  
  63. //  a jido azonosítójú paragrafusból nem lehet visszaolvasni   
  64. // az eseménykezelőből kiírt értéket  
  65. maxjatekido=document.getElementById("jido").innerHTML;  
  66. document.writeln("A maximális játékidő: ");  
  67. document.writeln(maxjatekido);  
  68. </script>  
  69. </body>  
  70. </html>  
3

kódszín

Pepita · 2016. Dec. 10. (Szo), 15.27
Légyszi használd, kiég a szeme aki át nézné...
4

jido !== jido3

Poetro · 2016. Dec. 10. (Szo), 22.05
jido !== jido3