Bluez71 Skrevet 4. desember 2007 Del Skrevet 4. desember 2007 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
Haraldson Skrevet 4. desember 2007 Del Skrevet 4. desember 2007 HTP.P('</HEAD'); Ser du feilen? For øvrig må jeg si at koden din skremmer meg. Lenke til kommentar
Redak Tøren Skrevet 4. desember 2007 Del Skrevet 4. desember 2007 (endret) 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 4. desember 2007 av atomtissetasen Lenke til kommentar
Bluez71 Skrevet 4. desember 2007 Forfatter Del Skrevet 4. desember 2007 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
Wattengård Skrevet 4. desember 2007 Del Skrevet 4. desember 2007 De bruker nok Ajax. Du laster siden med venteanimasjon og setter samtidig i gang et XMLHttpRequest kall som skal hente data. Når det returnerer med data, fjerner du venteanimasjonen og putter inn dine data istedet. -C- Lenke til kommentar
Haraldson Skrevet 4. desember 2007 Del Skrevet 4. desember 2007 Du kan ikke ha scriptet under </html>. Prøv rett før </body>. Lenke til kommentar
Bluez71 Skrevet 7. desember 2007 Forfatter Del Skrevet 7. desember 2007 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
Redak Tøren Skrevet 7. desember 2007 Del Skrevet 7. desember 2007 (endret) Meget bra. Hvilken doctype bruker du? Hvis du bruker xhtml så kan du ikke ha store bokstaver i html-koden Endret 7. desember 2007 av atomtissetasen Lenke til kommentar
Vindstille Skrevet 7. desember 2007 Del Skrevet 7. desember 2007 Meget bra. Hvilken doctype bruker du? Hvis du bruker xhtml så kan du ikke ha store bokstaver i html-koden Lurt å fjerne dem uansett. Så slipper man å havne i uforutsatte problemer. Lenke til kommentar
Bluez71 Skrevet 14. desember 2007 Forfatter Del Skrevet 14. desember 2007 (endret) 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 14. desember 2007 av Bluez71 Lenke til kommentar
mikk- Skrevet 14. desember 2007 Del Skrevet 14. desember 2007 Bok er ok, men du kommer også langt med HTMLdog. Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå