Avatar billede thkrath Nybegynder
15. marts 2000 - 16:48 Der er 9 kommentarer og
1 løsning

Netscapefejl i tooltip script

Hvis du finder og retter fejlen, så nedenstående script kommer til at virke i Netscape Navigator 4+ og Internet Explorer 4+ så vanker der 90 point hvis svaret __er postet inden kl. 18:00__
Hvis ikke ryger værdien ned på 70 point.

Scriptet indeholder flg. sammen med HTML-koden


<html>
<head>
    <title>PC Magasinet - Nettets bedste artikler</title>
</head>

<style>
<!--
{ font-family: Arial; font-size: 10 pt }
.menu-a            { text-decoration: none; color: white;}
a {color: darkblue; text-decoration: underline;}
As:hover {text-decoration: none; }
.tb {background: #6699cc;}
-->
</style>

<body bgcolor="#E0E0E0">
<SPAN ID="test" STYLE="position: absolute;"></SPAN>

        <table align="center" bgColor="#ffffff" border="0" cellPadding="0" cellSpacing="0" width="750">
            <tr>
              <td rowSpan="5" vAlign="top" width="125">
                <table width="125" border="0" cellspacing="0">
                  <tr>
                    <td bgColor="#6699CC" class="tb" height="17" width="121"><b><font size="2" face="Arial" color="#FFFFFF">&nbsp;
                      </font>
                      <a href="http://www.pcmagasinet.dk/artikler/"><font size="2" face="Arial" color="#FFFFFF">Artikler</font></a></b>
</td>
                  </tr>
                  <tr>
                    <td bgColor="#6699CC" class="tb" height="21" width="121">&nbsp;
                    </td>
                  </tr>
                  <tr>
                    <td bgColor="#6699CC" class="tb" height="18" width="121"><b><font size="2" face="Arial" color="#FFFFFF">&nbsp;
                      </font>
                      <a href="http://www.pcmagasinet.dk/nyheder/"><font size="2" face="Arial" color="#FFFFFF">Nyheder</font></a></b></td>
                  </tr>
                  <tr>
                    <td bgColor="#6699CC" class="tb" height="21" width="121">&nbsp;</td>
                  </tr>
                  <tr>
                    <td bgColor="#6699CC" class="tb" height="18" width="121"><b><font size="2" face="Arial" color="#FFFFFF">&nbsp;
                      </font><a href="http://www.pcmagasinet.dk/surfer/"><font size="2" face="Arial" color="#FFFFFF">Webanmeldelser</font></a></b></td>
                  </tr>
                  <tr>
                    <td bgColor="#6699CC" class="tb" height="21" width="121">&nbsp;</td>
                  </tr>
                  <tr>
                    <td bgColor="#6699CC" class="tb" height="18" width="121"><b><font size="2" face="Arial" color="#FFFFFF">&nbsp;
                      </font><a href="http://www.pcmagasinet.dk/konkurrencen/"><font size="2" face="Arial" color="#FFFFFF">Konkurrencen</font></a></b></td>
                  </tr>
                  <tr>
                    <td bgColor="#6699CC" class="tb" height="21" width="121">&nbsp;</td>
                  </tr>
                  <tr>
                    <td bgColor="#6699CC" class="tb" height="18" width="121"><b><font size="2" face="Arial" color="#FFFFFF">&nbsp;
                      </font><a href="http://www.pcmagasinet.dk/hotline/"><font size="2" face="Arial" color="#FFFFFF">Hotline</font></a></b></td>
                  </tr>
                  <tr>
                    <td bgColor="#6699CC" class="tb" height="21" width="121">&nbsp;</td>
                  </tr>
                  <tr>
                    <td bgColor="#6699CC" class="tb" height="18" width="121"><b><font size="2" face="Arial" color="#FFFFFF">&nbsp;
                      </font><a href="http://www.pcmagasinet.dk/ompcmag/"><font size="2" face="Arial" color="#FFFFFF">Om PC Magasinet</font></a><font size="2" face="Arial" color="#FFFFFF"><br>
                      &nbsp;&nbsp;</font></b></td>
                  </tr>
                  <tr>
                    <td bgColor="#FFFFFF" height="21" width="121">&nbsp;</td>
                  </tr>
                  <tr>
                    <td bgColor="#6699CC" class="tb" height="18" width="121"><b><font size="2" face="Arial" color="#FFFFFF">&nbsp;
                      </font>
                      <a href="http://www.pcmagasinet.dk/nyhedsbrevet/"><font size="2" face="Arial" color="#FFFFFF">Nyhedsbrevet</font></a></b></td>
                  </tr>
                  <tr>
                    <td bgColor="#6699CC" class="tb" width="121" valign="top"><form><font size="2" face="Arial" color="#FFFFFF">&nbsp;
                      Tilmeld:<br>
                      &nbsp;
                      <input name="pop_send_from" size="11" type="tekst" value="mig@udbyder.dk" onclick="this.select()"><br>
                      </font><font size="2" face="Arial"><font color="#FFFFFF">&nbsp;
                      </font><input type="submit" value=" Tilmeld "></form></font>
                    </td>
                  </tr>
                </table>

</body>
<SCRIPT LANGUAGE="JavaScript1.2">
var NS4 = (document.layers) ? 1 : 0;
var IE4 = (document.all) ? 1 : 0;
var style = ((NS4 && document.test) || IE4) ? 1 : 0;

var timerID = null;
var num = 1;

var padding = 2; // < 4 recommended
var bgcolor = "#FFFFE1";

var borWid = 1; // for no border, assign null
var borCol = "black";
var borSty = "solid";

var str = "<STYLE TYPE='text/css'>";
str += ".tooltip {";
str += "position: absolute;";
str += "visibility: hidden;";
str += "left: 0; top: 0;";
if (borWid > 0) { // if a border is specified
  str += "border-width: " + borWid + ";";
  str += "border-color: " + borCol + ";";
  str += "border-style: " + borSty + ";";
}
if (NS4) {
  if (borWid > 0 && padding <= 3) {
    str += "padding: 0;";
    str += "layer-background-color: " + bgcolor + ";";
  } else if (borWid > 0 && padding > 3) {
    str += "padding: " + (padding - 3) + ";";
    str += "background-color: " + bgcolor + ";";
  } else if (borWid == 0) {
    str += "padding: " + padding + ";";
    str += "layer-background-color: " + bgcolor + ";";
  }
} else {
  str += "padding: " + padding + ";";
  str += "background-color: " + bgcolor + ";";
}
str += "}";
str += "</STYLE>";

if (style) {
  document.write(str);
  if (NS4) window.onload = init;
}


////////////////////////////////////////////////////////////
//                HERE THE CODE COMES                    //
////////////////////////////////////////////////////////////


makeEl(150, "<font face='ms sans serif, arial' style='font-size: 8pt;' size='1'>Indeks over alle vores artikler.</font>", "http://www.pcmagasinet.dk/artikler/", "http://www.pcmagasinet.dk/artikler");

makeEl(150, "<font face='ms sans serif, arial' style='font-size: 8pt;' size='1'>Indeks over alle nyheder.</font>", "http://www.pcmagasinet.dk/nyheder/", "http://www.pcmagasinet.dk/nyheder");

makeEl(150, "<font face='ms sans serif, arial' style='font-size: 8pt;' size='1'>Indeks over alle webanmeldelser.</font>", "http://www.pcmagasinet.dk/surfer/", "http://www.pcmagasinet.dk/surfer");

makeEl(150, "<font face='ms sans serif, arial' style='font-size: 8pt;' size='1'>Denne måneds konkurrence, hvor alle kan deltage.</font>", "http://www.pcmagasinet.dk/konkurrencen/", "http://www.pcmagasinet.dk/konkurrencen");

makeEl(150, "<font face='ms sans serif, arial' style='font-size: 8pt;' size='1'>Kontaktinfo, annoncering og sponsorering, PC Magasinets historie.</font>", "http://www.pcmagasinet.dk/ompcmag/", "http://www.pcmagasinet.dk/ompcmag");

makeEl(150, "<font face='ms sans serif, arial' style='font-size: 8pt;' size='1'>Få hjælp til at løse dine computerproblemer.</font>", "http://www.pcmagasinet.dk/hotline/", "http://www.pcmagasinet.dk/hotline");

makeEl(150, "<font face='ms sans serif, arial' style='font-size: 8pt;' size='1'>Tilmelding og framelding samt en liste over alle nyhedsbrevene.</font>", "http://www.pcmagasinet.dk/nyhedsbrev/", "http://www.pcmagasinet.dk/nyhedsbrev");
////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////

function init() {
  setTimeout("window.onresize = redo", 1000);
}

function redo() {
  window.location.reload();
}

function makeEl(width, code) {
  if (!style) return;
  var id = "tip" + (num++);
  var args = makeEl.arguments;
  for (var i = 2; i < args.length; i++) {
    for (var j = 0; j < document.links.length; j++) {
      if (document.links[j].href == args[i]) {
        document.links[j].tooltip = id;
        document.links[j].onmouseover = activateEl;
        document.links[j].onmouseout = clearEl;
      }
    }
  }
  var str = "<STYLE TYPE='text/css'>";
  str += "#" + id + " {";
  str += "width: " + width + ";";
  str += "}";
  str += "</STYLE>";
  str += "<DIV CLASS='tooltip' ID='" + id + "'>" + code + "</DIV>";
  document.write(str);
}

function displayEl(left, top) {
  if (NS4) document.releaseEvents(Event.MOUSEMOVE);
  document.onmousemove = null;
  var whichEl = (NS4) ? document[active] : document.all[active].style;
  whichEl.left = left;
  whichEl.top = top;
  whichEl.visibility = (NS4) ? "show" : "visible";
}

function clearEl() {
  var whichEl = (NS4) ? document[active] : document.all[active].style;
  whichEl.visibility = (NS4) ? "hide" : "hidden";
  active = null;
  if (timerID) clearTimeout(timerID);
  if (NS4) document.releaseEvents(Event.MOUSEMOVE);
  document.onmousemove = null;
}

function activateEl(e) {
  active = this.tooltip;
  if (NS4) document.captureEvents(Event.MOUSEMOVE);
  document.onmousemove = checkEl;
  checkEl(e);
}

function checkEl(e) {
  if (timerID) clearTimeout(timerID);
  var left = (NS4) ? e.pageX : event.clientX + document.body.scrollLeft;
  var top = (NS4) ? e.pageY + 20 : event.clientY + document.body.scrollTop + 20;
  timerID = setTimeout("displayEl(" + left + ", " + top + ")", 300);
}

</SCRIPT>

</html>
Avatar billede thkrath Nybegynder
15. marts 2000 - 16:51 #1
inden 17:00 så vanker der 100
Avatar billede thkrath Nybegynder
15. marts 2000 - 17:03 #2
Hmm...
100 point frem til kl. 17:15
Avatar billede erikjacobsen Ekspert
15. marts 2000 - 20:09 #3
Måske et dumt spørgsmål, men hvad ER fejlen?
Avatar billede thkrath Nybegynder
15. marts 2000 - 21:05 #4
Aner det ikke, men Netscape 4 siger at der er en fejl og så printer den alt i bunden af HTML dokumentet :-/
Avatar billede erikjacobsen Ekspert
15. marts 2000 - 21:14 #5
Jamen, ok, så prøver vi fra en ende af:

1) Man må formelt ikke skrive en <style> udenfor <head>, det skal
altså fra <style>..</style> rykkes op før </head>

2) Du har en <input ... type="tekst"...>, men det hedder "text"

3) Du mangler at afslutte én af dine to <table>-tags og vist også et <td>

4) Dit store <script> må ikke stå efter </body>. Det bør også flyttes op
i <head>

Prøv det først. Og få dig så en HTML-validator. Det er bare guld værd.
Avatar billede thkrath Nybegynder
16. marts 2000 - 18:24 #6
Det er javascriptet der er fejlen. HTMl-koden er der kun for illustrationens skyld.

1) Hjalp ikke

2) Ingen betydning for scriptet eller browseren

3) Ingen betydning for scriptet

4) Hvis mit script står før <body> virker det ikke da det tjekker om en given <SPAN.........></SPAN> er sat, hvilket den først bliver i <body>.
Det virkede heller ikke.

Endnu nul og nikson.
Avatar billede erikjacobsen Ekspert
16. marts 2000 - 19:19 #7
Jamen, der var jo også fejl i HTML-en af betydning for Netscape-brugere. Min version
af Netscape viste en blank side formentlig pga. 3).

Der er ingen grund til bare at sætte <script> efter <body>, for hvis noget skal
laves efter siden er vist, skal det ske i en funktion kaldt på OnLoad-hændelsen.

Men hvis du vil vise eller gi' en URL til en ny version, hvor (noget af) det jeg
har nævnt er rettet, kan vi jo se på det.
Avatar billede thkrath Nybegynder
16. marts 2000 - 21:54 #8
Grunden til det halvfærdige HTML-koderi er at det er klippet ud fra en hel side jeg har, som er for stor til at vise her.
Avatar billede erikjacobsen Ekspert
16. marts 2000 - 22:26 #9
Så du vil ikke have mere hjælp - ok.
Avatar billede thkrath Nybegynder
21. marts 2000 - 19:34 #10
Spørgsmål lukket...
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