Gå til innhold

Hva er feil med min html kode?


Anbefalte innlegg

Hei, har følgende kode på webside (Oracle Mod-plsql, så bare ignore HTP.P kommandoene, dere ser html koden fint :) )

	HTP.P('<HEAD>');
HTP.P('<LINK href="DaStyle.css"  type="text/css" rel="stylesheet">');
HTP.P('</HEAD');
HTP.p('<BODY>');
HTP.P('<div align="center"><br><br><br><br><br><H2>Finner fram informasjonen.<br><br><img src="../../bilder/wait-animation.gif"><br><br>Vennligst vent.</H2></div>');
HTP.P('</body>');
HTP.P('</html>');
HTP.P('<script LANGUAGE="JavaScript">location.href = "' || REPLACE(REPLACE(streng,'xQuestx',chr(63)),'xANDx',chr(38)) || '"</SCRIPT>');

 

Dens funksjon er kun å lage en "vennligs vent mens databasen henter data" side (databasen kan bruke opp til 15 sekunder på å lage sin side..)

 

I MS IE7 så blir siden først skrevet ut på siden, så kjører den Java koden. Da får jeg opp "vennligs vent siden" på skjermen. Alt er greit

 

Men i Firefox tror jeg at den kjører Java koden før den skriver ut siden til brukerene, som gjør at de kun får en blank side.. og innen de 15 sekunder har gått for database siden kommer, så har de for lengst klikket seg en annen plass.

 

Har Firefox eller HTML4 standaren en "render" funksjon som betyr "vis informasjonen nå på skjermen før du går videre". Eller er det en bedre måte jeg kan gjøre dette på?

 

BB

Lenke til kommentar
Videoannonse
Annonse

Alle skal få en sjanse, også du:

HTP.P('<html>');
HTP.P('<head>');
HTP.P('<link href="DaStyle.css"  type="text/css" rel="stylesheet">');
HTP.P('<script type="text/javascript">location.href = "' || replace(replace(streng,'xQuestx',chr(63)),'xANDx',chr(38)) || '"</script>');
HTP.P('</head>');
HTP.p('<body>');
HTP.P('<h1>Finner fram informasjonen.</h1>');
HTP.P('<img src="../../bilder/wait-animation.gif" alt="Teit ventebilde">');
HTP.P('<p>Vennligst vent.</p>');
HTP.P('</body>');
HTP.P('</html>');

Det beste jeg kunne gjøre for deg sånn i farten.

 

Dette skal du ha i CSS:

body{text-align:center;}

Endret av atomtissetasen
Lenke til kommentar

Hmm. Ja gikk igjennom raskt W3Schools og HTML dog nå, og så at store bokstaver osv er nå politisk ukorrekt... Fiksa header tagget, formaterte all html i små bokstaver, samt flytta Java scriptet opp til headeren, og gjorde det meste som atomtissetasen sa. (Fikk valget mellom avansert database programmering eller css / html formatering ved uni.. skulle kanskje ha valgt begge).

 

Men nå vil heller ikke IE vise "Vennligst vent" siden. Den går vel til headeren, finner scriptet som sender den til den treige sida, kjører det med en gang, og gir blaffen i resterende tekst og bilder på siden.

 

Flytta scriptet nederst igjen under </html>, og da tar IE og viser tekst og bilde, før den går til den treige siden.

Men firefox gjør det ikke.. Den kjører koden før den sender tekst og bilde til skjermen, som gir meg bare en blank skjerm for 15 sekunder.

 

Hmm.. alle flyplass booking system har da en slik "Vennligst vent" side. Må finne ut hvordan de har gjort det. Kanskje jeg kan låne litt kode fra de.

Lenke til kommentar

Fant tilslutt en løsning med Javascript som fikset venteskjermen for både FF og IE: (Denne tråden skulle kanskje ha vært på Javascript området siden løsningen var i javascript og ikke i html / css)

 

	<head>
<link href="http://intranett/sites/mybiz/css/mybiz.css"  type="text/css" rel="stylesheet">
	<META HTTP-EQUIV="Refresh" CONTENT="1000; URL=' || REPLACE(REPLACE(streng,'xQuestx',chr(63)),'xANDx',chr(38)) || '">
	<script>
	<!--
	function gogogo()
	{
		location.replace("slowpage.go");
	}
	//-->
	</script>
</head>
<body>
<div style="DaStyle"><h2>Finner fram informasjonen.</h2><img src="../../bilder/regner.gif"><p>Vennligst vent.</p></div>
<script language="JavaScript">setTimeout("gogogo()",10);</script>
</body>
</html>

 

Her venter siden 10 millisekunder før den kjører sideforandringen, som nå er en javascript funksjon. Vet ikke om jeg trenger meta HTTP REFRESH tagget ovenfor, eller hva det gjør for den sags skyld. Men det fungerer, og ser fint ut :)

Lenke til kommentar

Hmm. Tror html har blitt mer kompleks i de 8 siste årene.. En typisk prosedyre, pakke eller funksjon ser noe slikt ut (forenklet):

 

CREATE OR REPLACE PROCEDURE okorap IS
CURSOR resultat_c IS
	select oppdrag, sum(regnskap) as regnskap, sum(budsjett) as budsjett
	from okonomitabell
	group by oppdrag;
rec	INTEGER;
BEGIN
HTP.P('<html>');
HTP.P('<head>');
HTP.P('<link href="http://intranett/sites/mybiz/css/mybiz.css"  type="text/css" rel="stylesheet">');
HTP.P('</head>');
HTP.P('<body>');
HTP.P('<table>');
FOR rec IN resultat_c LOOP
	HTP.P('<tr>');
	HTP.P('<td>' || rec.oppdrag || '</td>');
	HTP.P('<td align="right">' || rec.regnskap || '</td>');
	HTP.P('<td align="right">' || rec.budsjett || '</td>');
	HTP.P('</tr>');
END LOOP;
HTP.P('</table>');
HTP.P('</body>');
HTP.P('</html>');
END okorap;
/
show errors

Dette kan være, for eksempel, et lite portlet som viser økonomi informasjon for et prosjekt.

 

I tillegg bruker jeg widgets fra objectplanet for grafer og slikt. Vet ikke helt hvilke doctype dere ville ha satt dette under?

 

Jeg må tydlighvis få tak i en bok, eller minikurs for å oppdatere meg hva som har skjedd med html og css de siste 8 årene.

Endret av Bluez71
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...