Wie ändere ich den Quelltext eines html5-Videos über Javascript, ohne dass entweder Chrom oder Leak-Speicher abstürzt?

9

Ich arbeite an einer Anwendung, die nur in Chrome ausgeführt wird.

Ich muss in der Lage sein, die Quelle von einem Video abzuspielen.

Ich habe JavaScript (& amp; jQuery) verwendet, um das Attribut src zu ändern:

%Vor%

Es funktioniert ein paar Mal, aber mein Chrom (versuchte Beta & amp; dev-Kanäle) stürzt ab (Seite reagiert nicht mehr).

Wenn ich versuche, ein neues Element vor dem letzten Codeblock zu erstellen:

%Vor%

Jeder Video-Schalter erhöht den Arbeitsspeicher um 20Mo, ohne jemals wieder herunterzufahren.

Gibt es eine Möglichkeit, Chrome crash en src update zu verfolgen / zu verhindern? Gibt es eine Möglichkeit, freien Speicher zu erzwingen?

    
Olivier 14.01.2011, 18:24
quelle

4 Antworten

2

Ich war das gleiche Problem.
Ich lese in einigen Foruns, dass ein Chrom-Fehler mit Speicherverlusten ist (einige Leute sagen, dass gerade passiert in Chrom 8 und in Chrom 6 funktioniert gut, aber ich habe es nicht getestet).

Ich habe auch gelesen, dass die Verwendung eines Schlafes hilft. Ich habe versucht und es ist wahr, wenn ich einen Schlaf vor Änderung URL-Attribut und Aufruf load () die Anzahl der Abstürze verringert. Aber stürzt immer noch nach vielen Änderungen ab.

Dann habe ich versucht, setTimeout zu verwenden (im Gegensatz zu sleep, es bluq CPU nicht, so dass es für Chrome frei bleibt).

Und es funktioniert jetzt. Versuche zu sehen, ob mein Code hilft.

%Vor%     
Zé Carlos 18.01.2011, 17:02
quelle
2

Ich hasste all diese Antworten, weil sie zu kurz waren oder sich auf andere Frameworks stützten.

Hier ist eine "one" Vanilla JS Methode, die in Chrome funktioniert. Bitte testen Sie sie in anderen Browsern:

Ссылка

HTML:

%Vor%

JS:

%Vor%     
mattdlockyer 26.08.2013 23:00
quelle
1

Ich würde annehmen, dass der erste Weg gut funktionieren sollte, und Chrome% <video> Implementierung ist immer noch fehlerhaft. Fühlen Sie sich frei, es in ihren Bug-Report-Foren zu erwähnen.

    
Blindy 14.01.2011 18:35
quelle
0

Ich hatte dieses Problem, also habe ich nur den Video-Tag entfernt und dann einen weiteren mit der aktuellen URL "on the fly" hinzugefügt.

    
quelle