Avatar billede avminarm Juniormester
14. januar 2003 - 14:09 Der er 16 kommentarer og
1 løsning

ur skal virke uden body onLoad

Jeg har snippet dette ur her på exp, Men det skal virke uden parametren body onLoad -det bliver nemlig inkluderet på en anden side via php.

Kan man få det til det ?

<HTML>
<HEAD>
<TITLE>Script: Digitalt ur</TITLE>

<!-- SCRIPT STARTER HER -->

<SCRIPT LANGUAGE="JavaScript">
<!--Gamle browsere springer over herfra
function visKlokken() {
var tid = new Date();
var time = tid.getHours();
var minut = tid.getMinutes();
var sekund = tid.getSeconds();
var klokkeSlet = ((time < 10) ? "0" : "") + time;
klokkeSlet  += ((minut < 10) ? ":0" : ":") + minut;
klokkeSlet  += ((sekund < 10) ? ":0" : ":") + sekund;
document.getElementById('tidsFelt').innerHTML= klokkeSlet;
timerID = setTimeout("visKlokken()", 1000);
}
// Gamle browsere springer over hertil-->
</SCRIPT>
</HEAD>
<BODY onLoad="visKlokken()">

Klokken er nu:<P>

<div id ="tidsFelt"></div>

</BODY>
</HTML>
Avatar billede angam Nybegynder
14. januar 2003 - 14:12 #1
Kan du ikke bare indsætte:
<script>visKlokken();</script>

på siden et sted?
Avatar billede nikolajdu Nybegynder
14. januar 2003 - 14:14 #2
Som angam er inde på så smid det nederst på din side :)=
Avatar billede avminarm Juniormester
14. januar 2003 - 14:28 #3
hmm det her virker ikke ?? - heller ikke uden <div> feltet ?

<HTML>
<HEAD>
<TITLE>Script: Digitalt ur</TITLE>

<!-- SCRIPT STARTER HER -->

<SCRIPT LANGUAGE="JavaScript">
<!--Gamle browsere springer over herfra
function visKlokken() {
var tid = new Date();
var time = tid.getHours();
var minut = tid.getMinutes();
var sekund = tid.getSeconds();
var klokkeSlet = ((time < 10) ? "0" : "") + time;
klokkeSlet  += ((minut < 10) ? ":0" : ":") + minut;
klokkeSlet  += ((sekund < 10) ? ":0" : ":") + sekund;
document.getElementById('tidsFelt').innerHTML= klokkeSlet;
timerID = setTimeout("visKlokken()", 1000);
}
// Gamle browsere springer over hertil-->
</SCRIPT>
</HEAD>
<BODY>

Klokken er nu:<P>

<script>visKlokken();</script>

<div id ="tidsFelt"></div>
</BODY>
</HTML>
Avatar billede nikolajdu Nybegynder
14. januar 2003 - 14:29 #4
Du skal have dit <script>visKlokken();</script> helt ned i bunden....

nu har du det før dit "tidsfelt" overhovedet er loadet og så giver det fejl når det prøver at tilgå det...
Avatar billede angam Nybegynder
14. januar 2003 - 14:31 #5
Det her virker (akkurat som jeg skrev i første løsning):

<HTML>
<HEAD>
<TITLE>Script: Digitalt ur</TITLE>

<!-- SCRIPT STARTER HER -->

<SCRIPT LANGUAGE="JavaScript">
<!--Gamle browsere springer over herfra
function visKlokken() {
var tid = new Date();
var time = tid.getHours();
var minut = tid.getMinutes();
var sekund = tid.getSeconds();
var klokkeSlet = ((time < 10) ? "0" : "") + time;
klokkeSlet  += ((minut < 10) ? ":0" : ":") + minut;
klokkeSlet  += ((sekund < 10) ? ":0" : ":") + sekund;
document.getElementById('tidsFelt').innerHTML= klokkeSlet;
timerID = setTimeout("visKlokken()", 1000);
}
// Gamle browsere springer over hertil-->
</SCRIPT>
</HEAD>
<BODY>

Klokken er nu:<P>

<div id ="tidsFelt"></div>

<script language=javascript>visKlokken();</script>
</BODY>
</HTML>
Avatar billede avminarm Juniormester
14. januar 2003 - 14:34 #6
angam>> Yahoo - men er det en helt "lovlig" måde at gøre det på (jeg ved ikke en pind om det - men prøver at lære)
Avatar billede nikolajdu Nybegynder
14. januar 2003 - 14:37 #7
Det er en fuldt ud lovlig måde og skal det være helt korrekt så anbefales language=javscript ikke, men i stedet :

<script type="text/javascript">
Avatar billede angam Nybegynder
14. januar 2003 - 14:42 #8
Det er ikke et hack at starte javascript på den måde. Det underståttes af alle (javascript-enablede) browsere.
Avatar billede angam Nybegynder
14. januar 2003 - 14:43 #9
Mikolajdu > Virker den måde i ældre browsere? (ie3, ns4 etc - jeg spørger fordi jeg ikke ved det :-)
Avatar billede avminarm Juniormester
14. januar 2003 - 14:46 #10
et lille sidste hurtigt sprg - skal selve javascript koden altid stå i head ? - eller kan den stå midt i koden?

angam får points - håber det er ok med dig nikolajdu!
Avatar billede nikolajdu Nybegynder
14. januar 2003 - 14:50 #11
Mikolaj her ;-)

IE 3 skal du godt nok langt tilbage for at finde - Tvivler på at jeg med mine 31 år ikke alligevel havde en alder dr gjorde at jeg ikke ville kunne huske det. Virker fint i IE4 og fremaf.
Avatar billede angam Nybegynder
14. januar 2003 - 14:51 #12
Det mest rigtige er at smide det i head - men i praksis har det ingen betydning. Nogle gange kan det være nødvendigt (som i dette tilfælde) at lægge det i selve koden.
Avatar billede nikolajdu Nybegynder
14. januar 2003 - 14:52 #13
Du kan stort set skrive koden hvor du vil.

Dog er det pænest at skrive den del af koden der kan stå der i <head></head>

Som du selv har opdaget er det ikke altid muligt. Det er dog ligeså lovligt at skrive det andre steder - Det andet er mere overskueligt dog.

Jo det er fint med pointene.

/Nikolaj
Avatar billede angam Nybegynder
14. januar 2003 - 14:53 #14
Ja undskyld min atavebøf nicolajdu ;-)
Ok - msie3 kan jeg sagtens se bort fra (dem er der vel næppe nogle brugere tilbage af). Det er dog stadigvæk utroligt at der er så "mange" ns4'ere aktive endnu...
Avatar billede angam Nybegynder
14. januar 2003 - 14:53 #15
nikolajdu (argh - jeg lærer det _aldrig_)
Avatar billede avminarm Juniormester
14. januar 2003 - 14:56 #16
TAK ;o)
Avatar billede nikolajdu Nybegynder
14. januar 2003 - 18:18 #17
:))
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester