Numero di parametri addEventListener per i diversi browser

  • Creatore Discussione Creatore Discussione Al€x
  • Data di inizio Data di inizio

Al€x

Nuovo Utente
12 Set 2013
1
0
0
Salve a tutti, questo è il mio primo post :)
Ho scaricato un codice JS che visualizza lo stream video della webcam ed implementa un algoritmo di computer vision per il face detection.

Provando questo codice con diversi browser:

- con chrome (anche la versione canary) tutto funziona alla perfezione
- con.... tutti gli altri (firefox, safari, IE) ho alcuni problemi....

comportamento con IE e con Safari:

Non viene chiesto l'accesso alla webcam e viene scatenato l'evento "error" implementato in questo modo

var App = { ...
...
error: function(e) {
if (e) {
console.error(e);
}
App.info.innerHTML = 'Please enable the "MediaStream" flag (for Google Chrome go to about:flags).';
},
... }

ma non so come si abilita in IE/Safari questo flag.

comportamento con Firefox:
mi viene generato un errore di tipo "Not enough arguments to EventTarget.removeEventListener" ... il codice è il seguente

var App = {
start: function(stream) {
App.video.addEventListener('canplay', function() {
App.video.removeEventListener('canplay');
setTimeout(function() {
App.video.play();
App.canvas.style.display = 'inline';
....
....

effettivamente nella documentazione che ho trovato l'evento removeEventListener richiederebbe almeno un altro argomento ovvero il listener, ma allora perché su chrome funziona?...ho provato anche ad inserire "function(){}" come secondo parametro di removeEventListener ma mi genera altri errori più avanti.... inoltre mi sembra un po' contorto il fatto che venga fatto il remove "dentro" l' add dello stesso listener.... mi piacerebbe se qualcuno riuscisse a spiegarmelo anche in maniera sommaria....

grazie a tutti quelli che risponderanno!
 

Discussioni simili