Avatar billede jansoe Nybegynder
25. februar 2001 - 16:08 Der er 21 kommentarer

preload html sider

kan man preloade html sider på en eller anden måde feks i flash eller på en anden måde??
jeg har lavet en masse sider med lidt store billeder på som tager en del tid før de bliver vist.
Avatar billede jakoba Nybegynder
25. februar 2001 - 16:34 #1
billeder er nemme at preloade:

<script language=\'javascript\'> <--
var prepic = new Image();  // lav et billedobjekt at loade billedet ind i.
prepic.src = \"url_for_dit_billede_som_efter_href.jpg\";
// --> </script>

begunder det billede at loade såsnart scriptet er udført.

hvis du fx lægger scriptet på siden FØR den billedet skal bruges på vil loaded gå hurtigere fordi der allerede er modtaget en stor del eller hele billedet.

mvh JakobA
Avatar billede olebole Juniormester
25. februar 2001 - 16:36 #2
<ole>
Du kan lave et frameset med en skjult frame og så loade dine sider der:

<frameset rows=\"100%,*\">
  <frame src=\"dit.html\">
  <frame src=\"enSideDerPreloades.html\">
</frameset>

/mvh
</bole>
Avatar billede engrob Nybegynder
25. februar 2001 - 16:40 #3
Du kan også lave det med et frameset med en frame på 100% og en anden på 1 pixel. Så lægger du din side med billederne på i den lille frame og en preloader side i den store frame, og ved onload i den lille frame skriver du top.navnpaaframe.location = \'sidemedbilleder.htm\'
Avatar billede olebole Juniormester
25. februar 2001 - 16:42 #4
engrob >> Du kan endda bare lade den lille frame skallere...så bliver den helt væk :)
/mvh
Avatar billede engrob Nybegynder
25. februar 2001 - 17:10 #5
Ja, jeg vidste bare ikke lige hvordan jeg skulle forklare det så det kunne forstås.
Avatar billede jakoba Nybegynder
25. februar 2001 - 17:29 #6
mener jeg hørte et sted at mac vil have et vist antal pixel i rammen før det duer. Nogen der kan be/af-kræfte det?
Avatar billede jes_petersen Nybegynder
25. februar 2001 - 18:37 #7
Du kan også vælge at lægge hele sitets indhold ind i layers, som vi har gjort på http://www.vip-productions.dk

/Jes_Petersen
/jes@vip-productions.dk
Avatar billede engrob Nybegynder
25. februar 2001 - 19:31 #8
Jakoba > Er det ikke nok bekræftelse at olebole har en mac og han siger det virker? Hvilken browser mener du i øvrigt? Alle?
Avatar billede jakoba Nybegynder
25. februar 2001 - 20:26 #9
Jeg har ingen browsertype at hægte på den. Men hvis olebole har mac og tilråder \"100%,*\" så må det nok snarere være en afkræftelse af rygtet :)
Avatar billede jakoba Nybegynder
25. februar 2001 - 20:29 #10
jansoe >> De fleste billeder kan komprimeres ganske gevaldigt. Prøv at lægge et af din ud på nettet og giv en url så vi kan se om dine også kan gøres lettere at loade på den måde.
Avatar billede engrob Nybegynder
25. februar 2001 - 22:00 #11
Ehm, nå ja. AFkræftelse :)
Avatar billede olebole Juniormester
26. februar 2001 - 00:53 #12
Jamen, så lad mig bekræfte, at jeg kan afkræfte rygtet om, at en pixel er nødvendig på Mac.
rows=\"100%,*\" klarer det. rows=\"100%,0\" derimod, giver 1 pixel - hvor der egentlig burde være 0.
/mvh
Avatar billede sorbis Nybegynder
26. februar 2001 - 17:11 #13
Det gør du bare ved at sætte denne kode ind:

    <SCRIPT LANGUAGE=\"JavaScript\">
    <!--  --
        if (ns4 || ie4) {
            document.write(\'<CENTER><IMG SRC=\"ditbillede.gif\" WIDTH=\"344\" HEIGHT=\"141\" ALT=\"\" BORDER=\"0\"></CENTER>\');
        }
        if (ie4) {
            document.all[\"Epreload\"].style.left = \"30%\";
        }
    // -->
    </SCRIPT>

Avatar billede olebole Juniormester
26. februar 2001 - 17:36 #14
sorbis >> Lidt forklaring...?
Avatar billede engrob Nybegynder
26. februar 2001 - 18:55 #15
Sorbis, det i sig selv giver jo ikke en preloading, men det er flot du kan kigge i koden på eksperten. Det beundrer jeg dig for...
Avatar billede jansoe Nybegynder
26. februar 2001 - 18:58 #16
det er muligt at jeg har formuleret spørgsmålet forkert
det jeg gerne vil er følgende:
jeg befinder mig på minside.html(kan jeg sætte kode ind her??)
jeg skal preloade side1.html+side2.html+side3.html osv
kan det lade sig gøre og hvordan??
Avatar billede jansoe Nybegynder
26. februar 2001 - 19:00 #17
ehhh.
olebole det ser ud som jeg har afvist dit svar selvom du har svaret mest rigtigt
kan du ikke lige svare igen
Avatar billede jansoe Nybegynder
26. februar 2001 - 19:02 #18
jeg forstår sgu ikke helt de andre svar
Avatar billede jansoe Nybegynder
26. februar 2001 - 19:04 #19
engrob er jo også inde på det rigtige
Avatar billede jakoba Nybegynder
27. februar 2001 - 07:28 #20
Det ser ud som du ønsker at give minside.html oplysning om hvad der skal prelodes. er det korrekt?

Det kan du gøre med en queryparameter idet du loader den:

<a href=\"java script:self.location=\'minside.html?url1=\'+escape(\'side1.html\')+\'&url2=\'+excape(\'side2.html\')\">

lang linie uden linieskift. på siden minside.html henter du så parametrene med et lille script i head:

var parametre;
if ( location.href.indexOf(?) >0 ) {
  parametre = location.search.substring(1);
  parametre = parametre.split(\"&\");
  for (var i=0; i<parametre.length; i++) {
      parametre[i] = parametre[i].split(\"=\");
      parametre[i][1] = unescape(parametre[i][1]);
  }
}; //endif

Jeg går ud fra du allerede har fulgt oles råd så minside.html blev loadet ind i den synlige ramme af er frameset med en skjult ramme. Læg en name= parameter ind i taggen på den skjulte rammer:

  <ole>
Du kan lave et frameset med en skjult frame og så loade dine sider der:

<frameset rows=\"100%,*\">
  <frame src=\"dit.html\">  <!-- den ramme \"minside.html?...\" blev loaded ind i -->
  <frame name=\"den_skjulte_ramme\" src=\"enSideDerPreloades.html\">
</frameset>

/mvh
</bole>

nu kan du fortsætte scriptet ovenfor med:

var timeHandle = 0;
function preloadSide ( nr ) {
  if ( nr < parametre.length ) {
      parent.den_skjulte_ramme.location = parametre[nr][1];
      timeHandle = setTimeout(\"preloadSide(\"+(nr+1)+\")\", 5000);
  }
}; //end preloadSide( Integer )

preloadSide(0);

den der linie med  \"timeHandle = setTimeout(...)\" starter preload af næste side der skal loades efter 5 sekunder, men checker ikke om forrige side er færdigloaded. Det kan gøres bedre, ved at lave en onload event på den side der hentes. Desværre husker jeg ikke hvordan. det ved ole utvivlsomt :)

mvh JakobA
Avatar billede demaweb Nybegynder
25. april 2001 - 18:25 #21
**Du skal hente filen:**
http://www.eksperten.dk/javascript/splash.js og
http://www.eksperten.dk/javascript/pointshare.js.js

**OG i din header skriver du:**

<SCRIPT LANGUAGE=\"JavaScript\" SRC=\"/javascript/splash.js\"></SCRIPT>
<SCRIPT LANGUAGE=\"JavaScript\" SRC=\"/javascript/pointshare.js\"></SCRIPT>
    <!-- Eksperten.dk --
    window.onerror = null;
    var pointialt, currvalue;
        // Eksperten.dk -->
    </SCRIPT>

**Og efter \"<BODY>\" skal du indsætte ( du skal erstatte \"LOADINGLOGO.GIF\" med det billed der skal komme frem:**

<DIV ID=\"E\" STYLE=\"visibility:show;\" ALIGN=\"center\">
<DIV ID=\"Epreload\" STYLE=\"position:absolute;visibility:show;top:20%;\">
    <SCRIPT LANGUAGE=\"JavaScript\">
    <!-- Eksperten.dk --
        if (ns4 || ie4) {
            document.write(\'<CENTER><IMG SRC=\"LOADINGLOGO.GIF\" ALT=\"\" BORDER=\"0\"></CENTER>\');
        }
        if (ie4) {
            document.all[\"Epreload\"].style.left = \"30%\";
        }
    // Eksperten.dk -->
    </SCRIPT>
</DIV>
<DIV ID=\"Emain\" STYLE=\"visibility:show;\" ALIGN=\"center\">

**Og nederst på din side skal du så indsætte dette:**

</DIV>

<SCRIPT LANGUAGE=\"JavaScript\">
<!-- Eksperten.dk --
preload();
// Eksperten.dk -->
</SCRIPT>

</BODY>
</HTML>

**Du vil der komme et billed frem imends siden loger, håber det er nok svar?**
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