Zum Inhalt springen

Javascript einbinden

Erstellt am 1. März 2007 · 21 Antworten · letzte Antwort am 15. Juli 2013 · Seite 1 von 2

Tags: Frage

gino ·

Ich wollte mal etwas Javascript in meine Site einbinden. Aber folgendes (einfache) Probescript löst auf meiner Page nichts aus:

<HTML>
  <HEAD>
    <TITLE>REINART</TITLE>
    <META http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <META http-equiv="language" content="de" />
    
  <script type="text/javascript">
  function fenster() {
  	var win;
  	win=window.open("","NeuesFenster","width=50,height=50");
  	win.document.write("<H3>Mein erstes Fenster!</H3>");
  	}
  </script>
    
  </HEAD>
<BODY onload="dialog()">
</BODY>

Kann mir jemand sagen, wo der Hund begraben ist? Ich benutze nur Browser der neuesten Generation und trotzdem erscheint kein Fenster beim Aufruf der Page. Was muss ich also machen, damit in meinen Pages Javascript ausgeführt wird?

Danke 😉

einpraegsam.​net ·

Versuchs mal so

<HTML>
  <HEAD>
    <TITLE>REINART</TITLE>
    <META http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <META http-equiv="language" content="de" />
   
  <script type="text/javascript">
  function fenster() {
        var win;
        win=window.open("","NeuesFenster","width=50,height=50");
        win.document.write("<H3>Mein erstes Fenster!<\/H3>");
        }
  </script>
   
  </HEAD>
<BODY onload="fenster()">xx
</BODY>
gino ·

Klappt leider auch nicht. Das Script erscheint nicht einmal im Quellcode. Also scheine ich das nicht am richtigen Ort einzubinden. Obwohl ich eigentlich das entsprechende HTML genommen habe. Wenn ich dort aber den HEAD-Bereich überschreibe, erscheint das Script trotzdem danach nicht im Code????? 😢

ronnie ·

Hi gino
Hast Du eine Lösung für Dein Problem gefunden? Ich möchte nämlich auch ein kleines JavaScript im main-template einbinden, aber es wird im Quellcode nicht angezeigt...

Danke
Ronnie

gino ·

Habe leider noch immer keinen Plan, wie ich Javascript in Typo3 einbinde, so dass es auch ausgeführt wird. Kann mir kaum vorstellen, dass dies eine unlösbare Angelegenheit sein soll.

Hat denn hier draussen irgend jemand dieses Problemchen bereits gelöst und kann mir auf die Sprünge helfen?

just2b ·

TS

 	page.headerData.15 = TEXT
 	page.headerData.15.value (
 	<script type="text/javascript">
 		<!--
 		function obscureAddMid() {
 		        document.write('@');
 			}
 		function obscureAddEnd() {
 		        document.write('.');
 			}
 		// -->
 	</script>
 	)

georg

gino ·

Vielleicht stelle ich mich nun besonders blöd an oder es ist einfach noch etwas zu früh für mich.
Habe gerade Dein kleines Skriptchen bei mir auf der Einstiegsseite ins SETUP eingetragen. Aber da geschieht noch immer nichts.

Und da muss man ja dann irgend wie noch einen <body onload="">
eingeben???

just2b ·

sorry hatte mich in meinem code verschrieben (in page.headerData.15.value fehlte der Punkt)

ein onload brauchst du nur, wenn du ein onload eben brauchst... bekommst du zB so

page.bodyTag = <body onload="flfx()">

georg

gino ·

habe den punkt nun auch eingesetzt. Es erscheint nun im Quelltext, führt aber nichts aus. Blöde Frage am Ende, was sollte nun bei einem Seitenaufruf geschehen?

Wenn ich untenstehendes Skript im SETUP einsetze geschieht ebenfalls nichts:

page.headerDATA.15 = TEXT
page.headerDATA.15.value (
<script type="text/javascript">
<!--
function dialog() {
alert ("Sie betreten meine Page");
}
//-->
</script>
)

page.bodyTag =<body onload="dialog()">
gino ·

Das onload erscheint zwar, aber das skript erscheint nicht und wird dementsprechend auch nicht ausgeführt...

gino ·

ich habe irgend wie das gefühl, dass ich nicht mehr weit davon entfernt bin, dass auch bei mir javascript läuft. kann mir jemand sagen, was bei obenstehenden skripts falsch gelaufen ist?

gino ·
just2b schrieb

vergleich dein TS mit meinem! insb groß-/kleinschreibung

georg

ich habe doch dein skript kopiert und bei mir eingesetzt.... bin ich jetzt ganz blöd???

just2b ·

mein Scriptinhalt war nur Demo, da muss dann schon deins drinstehen..

scheinbar hast du aber kein onload definiert

georg

gino ·

Nun habe ich es endlich geschafft und JavaScript wird richtig ausgeführt. Vielen Dank für Deine Tips und die Geduld. Aber so ist es eben mit den Anfängern... Entdecke seit einigen Monaten immer mehr Möglichkeiten mit Typo3 und bin völlig begeistert, da können schon sich schon mal Flüchtigkeitsfehler einschleichen.

:o

zorc68 ·

Hallo, ich habe ein ähnliches Problem und finde meinen Fehler nicht.
Ich möchte gerne "javascript" in den Headbereich einbauen und ein "onload" in den Bodybereich.
Das Javascript sieht so aus:

<script type="text/javascript">
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function MM_showHideLayers() { //v9.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) 
  with (document) if (getElementById && ((obj=getElementById(args[i]))!=null)) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}
</script>

Das body onload so:

<body onload="MM_preloadImages('images/r1_2_on.png','images/r2_1_on.png','images/r2_3_on.png','images/r2_4_on.png','images/r3_2_on.png','images/r3_3_on.png','images/r4_1_on.png','images/r4_2_on.png','images/r5_2_on.png','images/r5_3_on.png','images/r5_4_on.png')">

Ich habe nun folges in das Setup meines Templates geschrieben:

page.headerData.15 = TEXT
   page.headerData.15.value. (
 <script type="text/javascript">
function MM_preloadfileadmin/images() { //v3.0
  var d=document; if(d.fileadmin/images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadfileadmin/images.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function MM_showHideLayers() { //v9.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3)
  with (document) if (getElementById && ((obj=getElementById(args[i]))!=null)) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
</script>
)
  
page.bodyTag = <body onload="MM_preloadfileadmin/images('fileadmin/images/r1_2_on.png','fileadmin/images/r2_1_on.png','fileadmin/images/r2_3_on.png','fileadmin/images/r2_4_on.png','fileadmin/images/r3_2_on.png','fileadmin/images/r3_3_on.png','fileadmin/images/r4_1_on.png','fileadmin/images/r4_2_on.png','fileadmin/images/r5_2_on.png','fileadmin/images/r5_3_on.png','fileadmin/images/r5_4_on.png')">

Im Quellcode der generierten Seite wird auch alles angezeigt, die Funktion des Bilderwechsels bei den Fotos und der Layeinblendung bei den roten Flächen funktioniert aber leider trotzdem nicht.
Hier ist noch der Link zur Seite: http://p199157.mittwaldserver.info/index.php?id=1#
Hat jemand von Euch eine Idee wo ich den Fehler habe.
Viele Grüße
Marc

Norman2k ·

Also ich seh im Quelltext nur Tabellen ... nichts als Tabellen und Javascript-Fehler ... aber kein Javascript was du ja angeblich eingebunden hast #paralyzed#
Leute, lernt doch endlich mal vernünftige zu debuggen, es gibt so schöne Tools für Browser die alle möglichen Informationen/Fehler anzeigt! Allein ein Blick in den Quellcode würde dir zeigen, dass dein Javascript überhaupt nicht eingebunden ist und mit deinem onload auch irgendwas nicht stimmt.

zorc68 ·

Hallo Norman2k,
du hast Recht. Das ist keine Einbindung des javascriptes mehr im Quellcode. Ist mir wohl beim weiteren Ausprobieren verloren gegangen,
Hast Du denn einen Tip wie ich das javascript einbinde?