• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

js auslagern mit Einbindung auf HP

Status
Für weitere Antworten geschlossen.

Jago

Neues Mitglied
Hi!

Es ist ja immer das Gleiche. Will man eine kleine Spielerei auf seiner HP haben, ist der Griff auf ein JS-Schnipsel nicht weit. Will man seine HP dann aber validieren lassen, gibts immer Ärger. Leider!

Also, ich will einen kleinen NewsTicker haben. Den Quelltext würde ich jedoch gerne als"ticker.js" abspeichern, um hiermit die Validierung zu umgehen. Aber, wie binde ich nun einen Befehl ein, der diesen Ticker nun zur Anzeige bringt? Mit: "
Code:
<script type="text/javascript"> <!--
onLoad="runTicker('ticker.js')"
//-->
</script>
" funktioniert dies leider nicht.

Hat da jemand einen Rat für mich? Ich würde mich sehr freuen und bedanken.

Jago
 
js auslagern mit Einbindung auf HP funzt immer noch nicht

Hi!

Ich könnte weinen :cry:!

Es will einfach nicht klappen und kann mir einfach nicht erklären: WARUM?

Also, in meinen HEAD habe ich nun
Code:
<script src="htm/ticker02.js" type="text/javascript"></script>
eingestzt und im BODY:
Code:
<form name="ticker" action=""></form>
.

Also genau so, wie bei; SELFHTML erklärt.
Code:
<input type="text" name="Eingabe" size="3">
<input type="button" value="Quadrat errechnen" onclick="Quadrat()">
habe natürlich heraus gelassen. Ich will ja nicht rechnen, sondern einen Ticker zeigen.

Was ist da bei mir falsch ???

Jago in Not !
 
Du musst die gewünschte JavaScript-Funktion starten, was in dem Beispiel was du weggelassen hast mittels

Code:
 onclick="Quadrat()"

geschieht. Welche die von dir gewünschte Funktion ist müsstest Du wissen.
 
Hi!

Leider, eben nicht! Keine Ahnung, was ich an Stelle von
Code:
onclick="Quadrat()"
einsetzen soll. Wie schon gesagt, soll autom. ein NewsTicker gestartet werden, wenn sich die Seite öffnet.

Gruß
Jago
 
Wenn Du nicht weißt, wie die Funktion heißt, die die News ausgibt, woher sollen das andere wissen?

Gruß thuemmy
 
Hi!

Also, was ich nun von dieser Aussage halten soll, ist mir nicht wirklich klar.

Logisch, dass ich weiß, wie meine ausgelagerte Datei heißt. Dies habe ich doch (wie zuvor beschrieben) in meinem Headbereich eingesetzt.

Code:
<script src="htm/ticker02.js" type="text/javascript"></script>

Mir ist doch nur nicht klar, was ich an Stelle von:

Code:
<form name="ticker02" action=""></form><input type="text" name="Eingabe" size="3">
<input type="button" value="Quadrat errechnen" onclick="Quadrat()">

einsetzen soll.

Zur Darstellung (Aufruf des Tickers) benötige ich doch kein "Eingabefeld" und auch keinen "Button". So muss ich doch für "onclick" etwas anderes einsetzen. Ebenso ist (so denke ich mal) ein"type=button" unsinnig. Oder etwa nicht?

Gruß
Jago
 
Du sollst an der Stelle eine Funktion aufrufen. Nicht Quadrat(), sondern Deine eigene, die Du starten willst. Wie die heißt, solltest Du wissen. Du hast doch den Code geschrieben, oder?
Und wenn Du keinen Button willst, um etwas zu starten, dann nutzt Du das onload-Event, das Du am besten beim body-Tag einträgst. Und rufst dann die Funktion auf, die Deinen Code startet.
 
Hi liebe Leute !

Ihr könnt mich ja gerne zusammenfalten! Doch ist mir leider nicht damit geholfen. Wenn ich wüsste, wie so eine Funktion aussieht bräuchte ich wohl kaum fragen.

Das "Quadrat()" Blödsinn ist, ist sogar auch mir klar. Den "onload-Event" kann ich jedenfalls NICHT nutzen, da mein "BODY" bereits mit einem solchen besetzt ist. Also bin ich doch gezwungen, eine andere Lösung zu finden. Mein aufzurufendes Script heißt: "ticker02.js", wie ich es bereits mehr als 5x geschrieben habe.

Wenn Ihr den Code des Scriptes benötigt, will ich den gerne liefern. Wenn Ihr mir jedoch schreibt, dass ich es wissen müsse, dann frage ich mich allen Ernstes, warum Ihr Euch HTML-Forum für Einsteiger nennt. Es ist doch durchaus möglich, dass ich ein solcher bin . Oder?

Gruß
Jago
 
Ihr könnt mich ja gerne zusammenfalten!
Nee, nicht nötig. Dann hättest Du keine Gelegenheit mehr, Programmieren im Allgemeinen und JavaScript im Speziellen zu lernen. Denn daran hapert es scheinbar augenblicklich.

Wenn ich wüsste, wie so eine Funktion aussieht bräuchte ich wohl kaum fragen.
Die steht in Deinem Script. Wenn jemand sie wissen kann, dann Du!

Mein aufzurufendes Script heißt: "ticker02.js", wie ich es bereits mehr als 5x geschrieben habe.
Grundlage der Programmierung: Wie das Script heißt, ist hier irrelevant. Der Name ist nur wichtig dafür, wie Du es in HTML einbindest. Der Einstiegspunkt ist wichtig. Hat es Funktionen, wenn ja, welche muss als erste aufgerufen werden, diese suchen wir. Wenn nein, dann ist es ein Script, das zum Zeitpunkt des Einbindens aufgerufen wird. Das kannst Du dann auch nicht bei onLoad aufrufen.

Wenn Ihr den Code des Scriptes benötigt, will ich den gerne liefern. Wenn Ihr mir jedoch schreibt, dass ich es wissen müsse, dann frage ich mich allen Ernstes, warum Ihr Euch HTML-Forum für Einsteiger nennt. Es ist doch durchaus möglich, dass ich ein solcher bin . Oder?
Wenn Du uns den Code lieferst, dann können wir selber nachsehen.
Wenn Du ein Einsteiger bist, dann erklärt das vieles. Aber Du musst immer bedenken, dass - ohne dass Du alle Hosen runterlässt - hier keiner wissen kann, was Du weißt und was nicht. Und wenn Grundlagen fehlen, dann macht das die Kommunikation natürlich ungemein schwerer und langwieriger. Das ist aber kein Grund, beleidigt zu werden (wie das manche machen, bei Dir empfinde ich das noch nicht so), man muss sich erst aneinander rantasten, bis man weiß, auf welchem Level man miteinander reden kann. Weil, bisher hast Du noch mit keinem Wort erwähnt, dass Du nicht weißt, was eine Funktion ist und wie Du sie in Deinem Code erkennst. Auf unsere Ratschläge, die Funktion da einzusetzen, bist Du nie direkt eingegangen. Und aus "was ich von dieser Aussage halten kann, ist mir nicht klar" wird nicht klar, woran es bei Dir hapert.

Also cool bleiben, Ausdauer haben, ich denke, wenn Du den Scriptcode postest, kommen wir der Sache sehr sehr nahe :-)

Aber ein bisschen in die Materie einlesen solltest Du Dich, das macht auch das Fragen leichter.

Freundliche Grüße,
-Efchen

Gruß
Jago[/QUOTE]
 
Hi Threadi !

Suuuper Tip ! Doch leider funktioniert er nicht!

Egal, wie ich es auch mache, die prompte Fehlermeldung lässt nicht lange auf sich warten. "Zeile: xy, Zeichen: 1, Fehler: Objekt erwartet, Code: 0". Toll !

Mir ist zwar nicht klar, weshalb Ihr das Script sehen wollt, aber bitte:

Code:
<BODY onload=initiateticker()>

<script type="text/javascript">
<!-- 
// Copyright (c) 2000 Peter Gehrig and Urs Dudli. All rights reserved. 
// http://[email protected] 

//Start der Message 
var message=new Array() 
var message=new Array() 
message[0]="++ Finja wurde am 14.10.08 von Trebell Taken By Storm gedeckt." 
message[1]="++ Finja ist tragend!" 
message[2]="++ Mehr unter Wurfplanung und News."

var tickerpadding=10 //Distanz 
var fnt="Arial" //Schriftart des BG-Textes 
var fntsize=12 //Schriftgrösse des BG-Textes 
var fntcolor="CCDDCC" //Schriftfarbe des BG-Textes 
var fntsizelastletter=30 //Schriftgrösse des Scrollbuchstaben 
var fntcolorlastletter="88FF88" //Schriftfarbe des Scrollbuchstaben 
var fntweight=7 //Schriftgrösse der Message (1-9) 
var standstill=2000 //Stillstand des Tickers bevor Neustart 
var speed=40 //Ticker-Geschwindigkeit 
var leftposition=320 //Position von links 
var topposition=250 //Position von oben 
var tickerwidth = 200
var tickerheight = 25
var i_substring=0 
var i_presubstring=0 
var i_message=0 
var messagecontent="" 
var messagebackground="" 
var messagepresubstring="" 
var messageaftersubstring="" 
fntweight=fntweight*100 

function initiateticker() { 
if (document.all) { 
tickerheight = document.body.clientHeight-5 
tickerwidth = document.body.clientWidth-5 
document.all.ticker.style.posLeft=leftposition 
document.all.ticker.style.posTop=topposition 
showticker() 
} 
if (document.layers) { 
tickerheight = window.innerHeight-10 
tickerwidth = window.innerWidth-10 
document.ticker.left=leftposition 
document.ticker.top=topposition 
showticker() 
} 
} 
function getmessagecontent() { 
messagepresubstring=message[i_message].substring(0,i_presubstring) 
messageaftersubstring=message[i_message].substring(i_presubstring,i_substring) 
messagecontent="<table border=0 cellpadding="+tickerpadding+" width="+tickerwidth+" height="+tickerheight+"><tr><td valign=top>" 
messagecontent+="<span style='position:relative; font-family:"+fnt+";color:"+fntcolor+";font-size:"+fntsize+"pt;font-weight:"+fntweight+"'>" 
messagecontent+="<font color='"+fntcolor+"'>" 
messagecontent+=messagepresubstring 
messagecontent+="</font>" 
messagecontent+="</span>" 
messagecontent+="<span style='position:relative; font-family:"+fnt+";color:"+fntcolor+";font-size:"+fntsizelastletter+"pt;font-weight:900'>" 
messagecontent+="<font color='"+fntcolorlastletter+"'>" 
messagecontent+=messageaftersubstring 
messagecontent+="</font>" 
messagecontent+="</span>" 
messagecontent+="</td></tr></table>" 
} 
function showticker() { 
if (i_substring<=message[i_message].length-1) { 
i_substring++ 
i_presubstring=i_substring-1 
if (i_presubstring<0) {i_presubstring00} 
getmessagecontent() 
if (document.all) { 
ticker.innerHTML=messagecontent 
var timer=setTimeout("showticker()", speed) 
} 
if (document.layers) { 
document.ticker.document.write(messagecontent) 
document.ticker.document.close() 
var timer=setTimeout("showticker()", speed) 
} 
} 
else { 
clearTimeout(timer) 
var timer=setTimeout("changemessage()", standstill) 
} 
} 
function changemessage() { 
i_substring=0 
i_presubstring=0 
i_message++ 
if (i_message>message.length-1) { 
i_message=0 
} 
showticker() 
} 
//--> 
</SCRIPT> 

<DIV id=ticker style="POSITION: absolute"></DIV>
</body>

Denn, auf einer leeren HTML-Seite funktioniert er wunderbar. Nur, wenn ich ihn nun auslagern will, also OHNE
Code:
<script type="text/javascript"> 
<!--
und
Code:
 //--> 
</SCRIPT>

Abgespeichert habe ich es als: ticker.js . Das
Code:
<DIV id=ticker style="POSITION: absolute"></DIV>
habe ich im Body belassen.

Was muß ich nun an Stelle von:
Code:
<BODY onload=initiateticker()>
einsetzen???

Gruß
Jago
 
Hi Efchen!

Also, mein Wissen bezüglich javascript ist extrem bescheiden. Leider! Mit anderen Worten: "Keine Ahnung, davon reichlich!". HTML und CSS bereiten mir keine Probleme.

Gruß
Jago
 
Suuuper Tip ! Doch leider funktioniert er nicht!
Woher wusstest Du auf einmal, welche Funktion Du ins onLoad eintragen musst? Darüber reden wir seit einigen Postings.

die prompte Fehlermeldung lässt nicht lange auf sich warten. "Zeile: xy, Zeichen: 1, Fehler: Objekt erwartet, Code: 0". Toll !
Mir erschließt sich einfach nicht, warum Du uns die wichtigste Information in der Fehlermeldung vorenthältst! Die Zeilennummer. Und wenn wir die nicht abzählen können, dann hättest Du uns die Zeile markieren können. Dann können wir sofort sehen, wo JS ein Objekt erwartet, aber keines vorliegt.

Mir ist zwar nicht klar, weshalb Ihr das Script sehen wollt
Weil Du es nicht verstehst, aber Fragen dazu hast.

if (document.layers) {
Ist document.layers nicht Netscape 4? (Frage an die Experten).

Demnach dürfte das Script nur im IE und in NS4 funktionieren, oder überseh ich was?
 
Hi Efchen!

So leid es mir auch tut, aber ich weiß doch gar nicht, was ich ins "onLoad" eintragen muß. Was ich da als Script geschickt habe, ist kompl. abgekupfert.

Also prügelt mich nicht gleich, nur weil ich offensichtlich zu dumm zum, zum bin.

Die Fehlermeldung ist in Zeile 125. Da habe ich nämlich an Stelle von:

Code:
<body onLoad="runSlideShow()">
threadis Vorschlag
Code:
<body onload="funktion1();funktion2();">
eingesetzt.

Gruß
Jago
 
Komisch, dass Du immer was anderes erzählst, als Du dann machst.
Du hast doch gar nicht "funktion1();funktion2();" eingetragen, sondern "initiateticker()", was vermutlich auch richtig ist, zumindest, wenn ich mir den Code so ansehe.

Lies mal so nebenbei ein bisschen was über JavaScript, z.B. was Funktionen sind und wie Du sie erkennst. SELFHTML: JavaScript / Sprachelemente / Funktionen

Die Fehlermeldung ist eine JavaScript-Fehlermeldung. Die Zeile 125 bezieht sich dann also auf Zeile 125 im JavaScript-Code. Welche Zeile ist das? Sicher nicht die mit dem body drin.
 
Ohhh Efchen!

Doch, ich hatte tatsächlich "funktion1();funktion2();" beim Body eingesetzt. Nur habe ich es dann heraus genommen, weil doch diese Fehlermeldung kam.

Dieses "initiateticker()" stammt und aus dem Originalcode - nicht von mir.

Das sich die Fehlermeldung auf die Zeile 125 im JavaScript-Code bezieht ist für mich undenkbar. Hat das Script doch nur 94 Zeilen. Aber, bei Zeile 125 auf meinem HTML-Dokument hatte ich stehen:
Code:
<body onload="funktion1();funktion2();">
.

Gruß
Jago
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben