Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

hoe laat ik een frameset pas zien als alles geladen is

Anoniem
arnow
10 antwoorden
  • Beste forum gebruiker,
    Ik heb me verdiept in preload etc Maar body onload stelt alleen vast dat de pagina geladen is.
    Maar ik wil dat mijn begin pagina pas getoond word wanneer alle plaatjes geladen zijn. En ik wil mijn flasch pas starten als het kader van html met plaatjes op zijn plaats staan. en alle frames zijn opgebouwd.

    Ik heb al diverse sites gekeken maar of het gaat in jsp etc etc. En de site is al geheel klaar om gepubliceerd te worden (heel veeel uren) dus om alles te herschrijven zie ik niet zo zitten. Weet iemand een oplossing binnen javascript?

    groetjes arno.
  • Probeer eens alles in een 'hidden' div te zetten en deze onload van de pagina weer zichtbaar te maken.
    Onderstaande is ongetest! Maar op internet moet voldoende te vinden zijn wat wel werkt ;)
    [code:1:4a69fa5936]
    <html>
    <head>
    <script type="text/javascript">
    window.onload = function () {
    document.getElementById("container").style.visibility = "visible";
    }
    </script>
    </head>
    <body>
    <div id="container" style="visibility:hidden;">

    <!– de rest van je pagina –>

    </div>
    </body>
    </html>
    [/code:1:4a69fa5936]
  • Beste annie lief dat je zo belangenloos mijn mailtjes beantwoord.
    Bedankt voor je antwoord hier kom ik wel iets verder mee maar naar mijn weten geeft de onload functie al zijn (go) bij dat de pagina geladen is.
    En maakt het vervolgens niet uit of het plaatje er al staat. Want voor de flasch had ik in het laatste frame wat geladen wordt met de onload functie de flash aangeroepen in het middenste frame. Maar de flash begint al voordat mijn kader getekent is.

    Een voorbeeld staat op http://www.jdullaartbeleggingenoz.nl/stout/index.html

    Let op alles is nog geheel zonder preloads dus duurt even voordat alles werkt. Kraak het aub niet te veel af dit is erg slecht voor mijn ego. Groetjes en bedankt arno.
    :oops:
  • Het ziet er mooi uit, maar je hebt wel erg veel frames.
    Als je het herdesigned in divjes en css is het waarschijnlijk een stuk makkelijker wat jij wil.
  • Ik weet dat er veel frames zijn. Het zijn er zelfs al veel minder dan voorheen. Dit is gekozen om op een resolutie van 1024 een perfect billboard te krijgen maar voor 800 is het nog goed. Ook zijn er al problemen geweest met mac en pc weergave deze zijn opgelost en zoals ik in het eerste stukje schreef zitten er zoveel uren in , dat ik de boel nu wil afronden met een oplossing die hiervoor werkt.

    In ieder geval bedankt voor je reactie en zal dit zeker meenemen indien ik weer aan iets soorts gelijks begin.
    Maar op dit moment komen er gewoon te veel nieuwe dingen op me af (php,javascript,flah)

    Groetjes en hopend op een nieuw antwoord

    Arno
  • Nog even voor de duidelijkheid:
    Mijn vraag gaat nu over de functie onload.
    Deze geeft toch een vrij (go) als de pagina geladen is, of de plaatjes er nu staan of niet.

    Want als dit probleem er niet zou zijn zou de oplossing van annie volgens mij werken.

    Rest uitleg zie tweede stukje

    Groet arno :-?
  • Ik snap dat je het wil oplossen met al die frames, maar doordat je zoveel frames gebruikt, wordt dat nogal moeilijk.
    Je zou in iedere frame een onload handler moeten plaatsen met een functie die checkt of alle plaatjes zijn geladen en vanuit de top window zou je dan weer een functie moeten hebben die dat allemaal weer bijhoudt.

    Ik heb een voorbeeldje gemaakt hoe ik het zou doen zonder frames.
    Ik weet alleen niet of dit inderdaad ook goed wordt weergeven in IE/Mac.
    http://home.hccnet.nl/m.wargers/test/voorbeeldje/anders.htm

    Het vreemde is, is dat doordat ik de plaatjes laadt als achtergrondplaatjes van divjes, dat ik waarschijnlijk heel moeilijk erachter kom wanneer de hele content is geladen. In IE zou het nog wel lukken denk ik.
    Een scriptje die dan de boel onzichtbaar houdt, totdat alles is ingeladen, wordt daardoor iets moeilijker.

    edit: het kan toch wel (via een js-omweg) in alle browsers.
  • Bedankt voor al je moeite die je genomen hebt.
    Voor een vervolg zal ik dit zeker zo doen.

    Nu is het voor deze site alleen van belang dat ik het kader afvraag dus dat is dan nog wel te doen. Maar ja de vraag blijft hoe check je of een achtergrond plaatje geheel geladen is.
    Op een andere site zag ik een voorbeeld waarbij het unload achter een img geplaatsd werd.

    <BODY onLoad="document.img0.src=pics[0];">
    <IMG SRC="images/blank.gif" NAME=img0 [u:7c98cea99e][b:7c98cea99e]onload="[/b:7c98cea99e][/u:7c98cea99e]update(0);" HEIGHT=375 WIDTH=500>
    <IMG SRC="images/blank.gif" NAME=img1 onload="update(1);" HEIGHT=223 WIDTH=400>
    <IMG SRC="images/hiking.french13.jpg" HEIGHT=333 WIDTH=250>
    </BODY>

    dit verbaast mij omdat mijn javascript boek zegt dat dit niet kan met plaatjes zoals ik in bovenstaande mailtjes ook zeg.
    zou dit dan toch werken en zo ja hoe dan met een background image die ook al geladen word in de zelfde regel als body unload

    de site waar ik dit gevonden heb is
    http://www.angelfire.com/nv/davepage/javascript.perf.html (dit moet ik nog verder bestuderen)

    Ps bij de mac werkt het niet als je % gebruikt in afstanden althans bij een grote nesting van frames. Een andere reden waarom er frames zijn is omdat ik niets zo iriitant vind dat waaneer je menu wijzigd het geheel weer refreshed.

    groetjes Arno :wink:
  • Even 1 ding. Zet ze ook via een onload op hidden of display:none; anders zien mensen die javascript uit hebben staan niks. Slaat natuurlijk nergens op.
  • onload mag je ook voor images gebruiken.

    Je moet inderdaad aan elk plaatje een onload event handler hangen en dan een functie uitvoeren die bijhoudt of alle plaatjes geladen zijn.
    Ik heb zelf nog een poging gedaan om dit in de top window via de dom te doen, maar het lukte me niet. Toen ben ik gestopt, want het werd me teveel moeite en ik vind de hoeveelheid frames een beetje teveel.

    Succes ermee!

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.