Ich habe seit kurzem Joomla (Version 1.7.0) für mich entdeckt und bin auf dem Gebiet noch ein blutiger Anfänger.
Ich möchte auf meiner Homepage Javas*****, oder genauer gesagt eine Canvas-Animation einbinden.
Der Code steht und funktioniert auch:
[Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...]
Doch auf meiner von Joomla verwaltetetn Seite funktioniert es nicht.
Folgende Editoren habe ich ausprobiert:
- JCE (Javas***** auf "erlaubt" gesetzt)
- TinyMCE (Javas***** aus der Liste der verbotenen Elemente gelöscht)
- Kein Editor
Doch ich habe immer nur einen Auszug aus dem Javacode auf der Website gesehen
Dann habe ich noch die Globalen Beitragsoptionen angepasst. Die lassen Javas***** jetzt auch zu.
Jetzt habe ich keine Codeschnipsel mehr, sondern einfach nur noch einen leeren Kasten.
So sieht es momentan aus:
[Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...]
Ein weiteres Problem ist, dass ich bei meiner alten Seite (komplett selber gecodetes html&css) im <body> via "onload" meine Funktion aufgerufen hab, die mein Canvas animieren sollte. :
Code:
<body onload="drawcanvas();">
Aber in Joomla, habe ich keinen Zugriff auf das <body>-Element und im <canvas> element kann ich (soweit ich weiß) besagte Funktion nicht aufrufen.
Code:
<canvas onload="drawcanvas();">
Ich hoffe ihr könnt mir helfen, dass ich meine Animation auch auf meiner neuen Seite genießen kann :P
Abschließend noch der Code:
Code:
<s***** type="text/javas*****">
var changeRectangle1 = 20;
var changeRectangle2 = 20;
var changeCircle1 = -20;
var changeCircle2 = 20;
var colour1 = 20;
var colour2 = 0;
var colour3 = 10;
var circleOpacity = 0.5;
function Rectangle(x, y, width, height, borderWidth) {
this.x=x;
this.y=y;
this.width = width;
this.height = height;
this.borderWidth = borderWidth;
}
function Circle(x, y, rad) {
this.x = x;
this.y = y;
this.rad = rad;
}
function drawme() {
var elem = document.getElementById("myCanvas");
if (elem.getContext) {
myCircle = new Circle(20, elem.getContext("2d").canvas.height-20, 20);
myRectangle = new Rectangle(0,0,100,50,2);
setInterval(draw,10);
}
}
function drawLine(ctx,elem){
ctx.moveTo(0,0);
ctx.lineTo(elem.width, elem.height);
ctx.stroke();
}
</s*****>
<article onload="drawme();">Here is a small canvas animation</article>
<p><br />
<canvas id="myCanvas" width="584" height="300"></p>
<p>Sry, but your browser isn't supporing canvas.<br /> Here should appear some moving objects.</p>
</canvas>
<p> </p>
Oder einfach auf der funktionierenden Seite den Seitenquelltext aufrufen ;)
rvb1337
18.11.11 09:17
Das liegt daran, das Onload für das Element Artikel nicht zur Verfügung steht.
Setze einfach mal folgenden Code direkt unter dem Canvas:
Zitat:
<s*****>drawme();</s*****>
Getestet mit Firebug und es funktioniert.
Mephist0
18.11.11 12:26
Das ist natürlich schlau ;)
Und das beste daran: es funktioniert!!
Ein kleines Problem hab ich aber immernoch:
Das Canvas-Element ist ja folgendermaßen aufgebaut:
<canvas irgendwelche Paramenter>
Fallback Text, falls Canvas nicht angezeigt werden kann
</canvas>
Ich bekomme aber den Fallbacktext immer angezeigt! Auch hier gilt: bei der alten Version hat es funktioniert, unter Joomla nicht...
Mephist0
18.11.11 12:56
Ok. hab den fehler.
Ich hatte den öffnende und den schließenden Canvas-Tag jeweils in nem <p> drinnen. Also:
Code:
<p> <canvas bla> </p>
text
<p> </canvas> </p>
Vielen Dank für die schnelle Hilfe!
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:50 Uhr.