IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Erreur IE "SCRIPT5007" lors d'un test d'animation HTML 5. [API HTML5]


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    961
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 961
    Par défaut Erreur IE "SCRIPT5007" lors d'un test d'animation HTML 5.
    Bonjour,

    J'ai essayé les fonctions d'animation de HTML 5 : un petit rectangle qui se déplace de droite à gauche dans un canvas.

    Le code suivant fonctionne parfaitement sous Firefox et Chrome :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    <!DOCTYPE HTML>
    <html>
    <head>
    	<title>Test d'animation en HTML 5</title>
    	<style  type="text/css">
    		canvas.borderLine {
    			border-style: solid;
    			border-width: 1px;
    			border-color: black;
    		}
    	</style>
    	<script type="text/javascript">
    		var xPos;
    		var rwContext;
    		var previousTime;
     
    		function init() {
    			window.requestAnimationFrame =
    					window.requestAnimationFrame
    					|| window.mozRequestAnimationFrame
    					|| window.webkitRequestAnimationFrame
    					|| window.msRequestAnimationFrame;
    			xPos = -60;
    			var rwCanvas = document.getElementById("renderWindow");
    			rwContext = rwCanvas.getContext("2d");
    		}
     
    		function render(thisTime) {
    			var elapsedTime = thisTime - previousTime;
    			xPos = (xPos + elapsedTime * 0.3) % 600;
    			rwContext.clearRect(0, 0, 600, 400);
    			rwContext.fillRect(xPos, 60, 60, 60);
    			previousTime = thisTime;
    			window.requestAnimationFrame(render);
    		}
     
    		function start() {
    			init();
    			window.requestAnimationFrame(function(thisTime) {
    				previousTime = thisTime;
    				render(thisTime);
    			});
    		}
    	</script>
    </head>
    <body onload="start()">
    	<canvas id="renderWindow" width="600" height="400" class="borderLine" />
    </body>
    </html>
    En revanche, il ne se passe rien sous IE 9. J'ai ouvert le debogueur et il dit :
    "SCRIPT5007: Objet attendu
    testAnimation.html, Ligne 39 Caractère 4"
    (C'est la ligne "scheduleFrame(function(thisTime) {" dans la fonction start.)

    J'ai essayé plusieurs variantes, sans résultat. Quelqu'un sait il ce qui se passe?

    Merci d'avance,

    BugFactory

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Peut-être parce que requestAnimationFrame() n'existe qu'à partir de IE10...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre Expert
    Avatar de Kaamo
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 165
    Par défaut
    Tu peux utiliser ce polyfill pour le rendre compatible IE < 10

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    961
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 961
    Par défaut
    Oups, je pensais que IE 9 était la dernière version. Merci.

+ Répondre à la discussion
Cette discussion est résolue.

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo