Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 29/03/2016, à 11:30

hyppothalus

[Résolu - Débutant] Erreur Javascript

Bonjour,

Je viens de commencer mon apprentissage de Javascript et j'ai déjà un problème tongue

Voici mon code:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>Caranille</title>
        <script type="text/javascript" href="js/jquery-2.2.2.js"></script>
        <script type="text/javascript" href="js/core.js"></script>
    </head>

    <body>
    	<canvas id="canvasID" width="500" height="500">Canvas n'est pas disponible !!!</canvas>
    	<script language="Javascript" type="text/javascript">drawCanvas();</script>
    </body>
</html>

Voici le code de core.js:

function drawCanvas()
{
    var canvas = document.getElementById('canvasID');
        if(!canvas)
        {
            alert("Impossible de récupérer le canvas");
            return;
        }

    var context = canvas.getContext('2d');
        if(!context)
        {
            alert("Impossible de récupérer le context du canvas");
            return;
        }

	context.beginPath();//On démarre un nouveau tracé
	context.moveTo(0, 300);//On se déplace au coin inférieur gauche
	context.lineTo(150, 0);
	context.lineTo(300, 300);
	context.lineTo(0, 300);
	context.stroke();//On trace seulement les lignes.
	context.closePath();
}

Lorsque j'ouvre ma page je vois:
Uncaught ReferenceError: drawCanvas is not defined

Alors que si j'écris le script en dur en bas de la page cela fonctionne...

Savez-vous d'où vient le problème tongue, merci de votre aide

Dernière modification par hyppothalus (Le 29/03/2016, à 18:44)


La radio du libre c'est Radio-Virtuelle
http://www.radio-virtuelle.fr

Hors ligne

#2 Le 29/03/2016, à 16:57

hyppothalus

Re : [Résolu - Débutant] Erreur Javascript

Vu que personne ne répond je penses que c'est un problème anormal je doit soumettre le bug auprès de Google (Car j'utilise google chrome) ?


La radio du libre c'est Radio-Virtuelle
http://www.radio-virtuelle.fr

Hors ligne

#3 Le 29/03/2016, à 17:12

cqfd93

Re : [Résolu - Débutant] Erreur Javascript

Bonjour,

Je pense surtout que ça fait à peine plus de 5 heures que tu as posé ta question et qu'il fait patienter un peu plus. Quelques heures, voire quelques jours !


cqfd93

Hors ligne

#4 Le 29/03/2016, à 17:15

hyppothalus

Re : [Résolu - Débutant] Erreur Javascript

Ha désolé je pensais que si il n'y avais pas de réponse c'est que personne ne savaient. Car les précédentes fois où j'avais posé une question j'ai toujours eu une réponse dans les 1-2 heures au delà je partais du principe que personne ne savaient (Ce qui est possible on est tous humain ^^)


La radio du libre c'est Radio-Virtuelle
http://www.radio-virtuelle.fr

Hors ligne

#5 Le 29/03/2016, à 17:22

Compte anonymisé

Re : [Résolu - Débutant] Erreur Javascript

Salut.
Ai testé le script sur Firefox, j'ai un triangle isoscèle en le sommet supérieur, c'est ce que tu voulais ?
Pour ce genre de tracé statique, mieux vaut privilégier SVG que JavaScript smile
@+

Dernière modification par Compte anonymisé (Le 29/03/2016, à 17:23)

#6 Le 29/03/2016, à 17:37

soshy

Re : [Résolu - Débutant] Erreur Javascript

Salut,
A vue de nez, je dirais que le navigateur tente d'executer la fonction JS alors que la page n'a pas finie de charger. En gros, ta page est en cours de chargement, on voit une fonction JS, on tente de l'executer. Manque de bol, l'import de la fonction depuis le fichier externalise n'est pas terminee et la fonction n'est donc pas encore connue de chrome au moment de son execution.
Probleme qui ne se pose pas si tu copie effectivement le contenu de la fonction directement dans la page.
Pour contourner ce genre de situations il y a plusieurs facon de faire...

L'une d'elles c'est :

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title>Caranille</title>
        <script type="text/javascript" href="js/jquery-2.2.2.js"></script>
        <script type="text/javascript" href="js/core.js"></script>
    </head>

    <body onload="drawCanvas()">
    	<canvas id="canvasID" width="500" height="500">Canvas n'est pas disponible !!!</canvas>
    </body>
</html>

onload dit au navigateur qu'il faut executer la fonction suivante, mais qu'une fois qu'il a finit de charger la page.

Une autre solution, c'est d'utiliser une des fonctions de Jquery (que tu as justement importe), voir dans google "document ready jquery", je ne me suis que tres peu servis de jquery donc j'ai pas vraiment d'exemple a donner mais j'imagine que google en regorge.

Hors ligne

#7 Le 29/03/2016, à 18:04

hyppothalus

Re : [Résolu - Débutant] Erreur Javascript

Bonjour,

Même avec ta solution Soshy ça fait pareil:
http://caranille.com/CODIAD/workspace/caranille/ (Voici le lien sur lequel tu peux tester)

J'ai toujours cette même erreur, j'ai même fait une fonction

window.onload() = function() 
{ 
    var canvas = document.getElementById('canvasID');
    if(!canvas)
    {
        alert("Impossible de récupérer le canvas");
        return;
    }

    var context = canvas.getContext('2d');
    if(!context)
    {
        alert("Impossible de récupérer le context du canvas");
        return;
    }

	context.beginPath();
	context.moveTo(0, 300);
	context.lineTo(150, 0);
	context.lineTo(300, 300);
	context.lineTo(0, 300);
	context.stroke();
	context.closePath();
}

et bien même ça il veut pas...

Ce serait dommage de partir sur du JS dans du code HTML

Dernière modification par hyppothalus (Le 29/03/2016, à 18:08)


La radio du libre c'est Radio-Virtuelle
http://www.radio-virtuelle.fr

Hors ligne

#8 Le 29/03/2016, à 18:37

soshy

Re : [Résolu - Débutant] Erreur Javascript

oui donc erreur de débutant :-)


<script type="text/javascript" href="js/core.js"></script>

c'est src et pas href qu'il faut mettre.

Hors ligne

#9 Le 29/03/2016, à 18:44

hyppothalus

Re : [Résolu - Débutant] Erreur Javascript

Je te remercie énormément... la honte...

Bon ben je vais mettre le sujet en résolu ^^


La radio du libre c'est Radio-Virtuelle
http://www.radio-virtuelle.fr

Hors ligne