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

Webdesign (HTML, CSS, Flash)

Pagina in div laden probleem

Mehere
8 antwoorden
  • Hallo allemaal

    Zit met een probleempje op deze voorbeeld site van me
    http://www.bertismy.name/ff/

    Heb de site nu 2x openstaan met firebug. Daar constateer ik dat na een reload van een pagina er rare dingen gebeuren.
    De home button is een totale refresh van de site.
    Met de 2 andere buttons laad ik de pagina die ik bij de index laad nog een keer. Opnieuw dus.
    Doe het bij elke button anders.
    Het is dus steeds dezelfde pagina die wordt geladen.

    Dan gaat het mis!!

    Wat ik zie in firebug is dat classes en sommige divs verdwenen zijn.

    Trouwens IE maakt er helemaal een zooitje van.
    Die wil de site helemaal niet laden.

    Hebben jullie een ander idee om een complete pagina in de div te laden zonder problemen?

    Ben nog een oude iframer en dit is even wat nieuw voor me.

    Graag jullie reacties
  • Zonder vervelend te willen zijn: je code is echt een zooitje. Het begint al hiermee:
    [code:1:7441e4fbfb]<div id="page_effect" style="display:none;">
    <!–[if lt IE 7]>
    <script type="text/javascript" src="unitpngfix.js"></script>
    <![endif]–>
    <!–[if lte IE 6]>
    <meta http-equiv="refresh" content="0; url=/support/" />
    <script type="text/javascript">
    /* <![CDATA[ */
    window.top.location = '/support/';
    /* ]]> */
    </script>
    <![endif]–>
    [/code:1:7441e4fbfb]
    Eh, HUH???
    Dan zien we wat scripts, en vervolgens:
    [code:1:7441e4fbfb]<!–<div id="container">–>[/code:1:7441e4fbfb]
    Ontleden we dat even, dan zien we eerst een div met display:none. Ofwel, die div toon je niet. Maar die div wordt ook pas véél later afgesloten. Ná het logo, en na de header. Daaronder zie ik nog wel een </div> staan die nu de page-effect-div afsluit, maar hoorde die niet toevallig eigenlijk bij de gecommente container-div?
    En die conditional comments voor oude IE-versies, waar is dat voor nodig? LT IE7, en vervolgens LTE IE6. Volgens mij komt dat praktisch op hetzelfde neer, aangezien er niets tussen IE6 en IE7 zit. Zeker ook met de CDATA die daar weer gecomment staat, geeft mij het idee dat je eigenlijk geen idee hebt waar je mee bezig bent. Dat bedoel ik niet lullig (kan soms een beetje lullig mijn toetsenbord uitkomen), maar als ik het zo bekijk heb je met wat basic HTML kennis wat fancy scripts bij elkaar geplakt in de hoop dat het goed zou werken.

    Ik heb dan ook eigenlijk totaal geen idee hoe ik je nu van goed advies kan voorzien, behoudens "koop een goed boek" of "volg een paar online tutorials". Maar daar zit je vast niet op de wachten…
  • Hoi

    Wat je zegt kun je gelijk in hebben. Ik moet je ook zeggen dat ik van de perl/php kant af kom. Lay-outs maken is niet mijn sterkste kant.
    Het voorbeeld is een een stuk knip en plak werk uit een bestaande site.
    Zal me er verder in gaan verdiepen. Kom uit de tijd van de iframes. Maar men zegt dat je dat niet moet doen.

    Toch een paar vraagjes over je antwoord:
    [code:1:3e8618584b]
    <div id="page_effect" style="display:none;">
    <!–[if lt IE 7]>
    <script type="text/javascript" src="unitpngfix.js"></script>
    <![endif]–>
    <!–[if lte IE 6]>
    <meta http-equiv="refresh" content="0; url=/support/" />
    <script type="text/javascript">
    /* <![CDATA[ */
    window.top.location = '/support/';
    /* ]]> */
    </script>
    <![endif]–>
    [/code:1:3e8618584b]
    Dat heb ik zo overgenomen uit de bestaande site. Gewoon eruit slopen dus?

    Dan:
    [code:1:3e8618584b]
    <!–<div id="container">–>
    [/code:1:3e8618584b]
    Is <!– niet net als in PHP // of /* …… */ of # in perl?

    de gecommente CDATA heb ik er zo tussen zitten omdat ik de site een keer door de validator van w3 org heb gegooid. Ik kreeg een foutmelding. Daar ben ik op gaan zoeken en was dit het antwoord.

    En wat je zegt met:
    Met wat basic HTML kennis wat fancy scripts bij elkaar geplakt in de hoop dat het goed zou werken.
    Heb je helemaal goed.

    Ik zal alvast een paar tips van je doorvoeren zo.

    Maar zie je dan ook wat er mis gaat?
  • [quote:b1367d29cc="Mehere"] Kom uit de tijd van de iframes. Maar men zegt dat je dat niet moet doen.[/quote:b1367d29cc]"Moeten" is een groot woord. Maar verstandig is het vaak niet. Google maar eens op "Why frames suck" ;)
    Gaat het overigens om een interne of persoonlijke website, dan is het vaak een heel ander verhaal.
    [quote:b1367d29cc="Mehere"]
    Toch een paar vraagjes over je antwoord:
    [code:1:b1367d29cc]
    <div id="page_effect" style="display:none;">
    <!–[if lt IE 7]>
    <script type="text/javascript" src="unitpngfix.js"></script>
    <![endif]–>
    <!–[if lte IE 6]>
    <meta http-equiv="refresh" content="0; url=/support/" />
    <script type="text/javascript">
    /* <![CDATA[ */
    window.top.location = '/support/';
    /* ]]> */
    </script>
    <![endif]–>
    [/code:1:b1367d29cc]
    Dat heb ik zo overgenomen uit de bestaande site. Gewoon eruit slopen dus?[/quote:b1367d29cc]Da's ook weer erg radicaal. ;)
    Kijk, die PNG-fix kan handig zijn, omdat IE transparante PNG's pas vanaf versie 7 ondersteund. Als je dus transparante PNG's gebruikt en je verwacht een significant aantal bezoekers met IE6 of lager die je een mooie site wil bieden, kun je het er gewoon in laten. Het is alleen een beetje onlogisch om de bezoekers waar je een PNG-fix voor maakt direct door te sturen naar een supportsite. Waarom dan die PNG-fix, snap je dat dit onlogisch is? Ik verwacht dat je het doorsturen doet omdat je site niet goed zal worden weergegeven door oude browsers vanwege de jQuery die je gebruikt, maar dan is het punt van die PNG-fix nogal zinloos. ;)

    [quote:b1367d29cc="Mehere"]
    Dan:
    [code:1:b1367d29cc]
    <!–<div id="container">–>
    [/code:1:b1367d29cc]
    Is <!– niet net als in PHP // of /* …… */ of # in perl?[/quote:b1367d29cc]Het is inderdaad om het te commenten, maar je hebt nu een opening gecomment maar de afsluiting ervan niet (zo te zien). Vergelijk het hiermee:
    [code:1:b1367d29cc]<?php
    if (!$foo == "bar") {
    $foo = "rab";
    // if ($oof) {
    $foo .= $oof;
    }
    }
    echo $foo;
    ?>[/code:1:b1367d29cc]
    Je zult snappen dat bovenstaande mis gaat doordat de tweede if-opening gecomment staat, maar de afsluiting ervan niet. Dat doe je nu ook met de container-div. In PHP zou dit tot een error leiden wat je script zou breken. HTML breekt niet, maar alles gaat gewoon in de soep.
    [quote:b1367d29cc="Mehere"]
    de gecommente CDATA heb ik er zo tussen zitten omdat ik de site een keer door de validator van w3 org heb gegooid. Ik kreeg een foutmelding. Daar ben ik op gaan zoeken en was dit het antwoord. [/quote:b1367d29cc]CDATA commenten heeft alleen zin als je > of < gebruikt in javascript. Dat is hier niet het geval.
    [quote:b1367d29cc="Mehere"]
    Maar zie je dan ook wat er mis gaat?[/quote:b1367d29cc]Nu ja, ik zie een hoop dingen die erg onlogisch zijn, waarvan ik er een paar in mijn eerste bericht had uitgepikt. Dat maakt de boel rommelig, en zorgt dat je het overzicht vlot kwijtraakt. Als je logische en nette code opbouwt (als je Perl/PHP ervaring hebt zal je dat best kennen) zul je vast al vlotjes zien waar de hikjes zitten.
  • Dank je voor je antwoord en geduld met me.

    Gaat het overigens om een interne of persoonlijke website, dan is het vaak een heel ander verhaal.
    Wat bedoel je met intern of persoonlijk?

    Maar:
    Het is inderdaad om het te commenten, maar je hebt nu een opening gecomment maar de afsluiting ervan niet (zo te zien)

    is de –> niet de afsluiting?

    en
    CDATA commenten heeft alleen zin als je > of < gebruikt in javascript. Dat is hier niet het geval.
    Er wordt gebruik gemaakt van "&" . Daar gaat het op fout!!!!

    Het enige wat ik wil is bovenin een paar navigatie knoppen die in de container een nieuwe pagina displayed. Deze pagina is dan weer voorzien van een kolom en een content. Dat displayen is ook niet het probleem. Alleen werkt jQuery opeens niet meer.
    Bij de 'Load again' button lijkt het ook dat het misgaat maar als je dan op een menu item klikt is het er opeens weer. Het lijkt of jQuery er achter aan komt. Jammer want zo blijft het menu uitgeklapt staan.
    Bij de andere button komt jQuery niet meer in de lucht.

    Het lijkt wel of het script vanuit een verkeerde dir zit te kijken.

    Moet zeggen dat met iframes dit makkelijker gaat. Of ik moet eigenlijk zeggen dat ik dit nog niet in het snotje heb.
    Iframes sucks: Yes I read all about it!!
  • [quote:67f762fbe8="Mehere"]
    Wat bedoel je met intern of persoonlijk?[/quote:67f762fbe8]Als het alleen voor jezelf is of voor binnen een bedrijf, heb je waarschijnlijk minder te maken met problemen van zoekmachines, mensen die verkeerd bookmarken, etc.
    [quote:67f762fbe8="Mehere"]
    Maar:
    Het is inderdaad om het te commenten, maar je hebt nu een opening gecomment maar de afsluiting ervan niet (zo te zien)

    is de –> niet de afsluiting?[/quote:67f762fbe8]Jawel, maar je opent de container-div. Je sluit de container-div ook nog ergens, maar die comment je niet.
    [quote:67f762fbe8="Mehere"]
    en
    CDATA commenten heeft alleen zin als je > of < gebruikt in javascript. Dat is hier niet het geval.
    Er wordt gebruik gemaakt van "&" . Daar gaat het op fout!!!![/quote:67f762fbe8]Klopt, maar niet in het gedeelte waar ik het over had. Daar zijn geen speciale tekens die problemen veroorzaken. Het kan geen kwaad hoor, maar nut heeft het niet en daarom noemde ik het als illustratie van "niet weten wat je doet".
    [quote:67f762fbe8="Mehere"]
    Het enige wat ik wil is bovenin een paar navigatie knoppen die in de container een nieuwe pagina displayed. Deze pagina is dan weer voorzien van een kolom en een content. Dat displayen is ook niet het probleem. Alleen werkt jQuery opeens niet meer. [/quote:67f762fbe8]Waarom wil je dat met jQuery? Waarom niet separate pagina's waar je generieke delen in include?
    [quote:67f762fbe8="Mehere"]
    Moet zeggen dat met iframes dit makkelijker gaat. Of ik moet eigenlijk zeggen dat ik dit nog niet in het snotje heb.
    Iframes sucks: Yes I read all about it!![/quote:67f762fbe8]Maar dat simuleren met jQuery lijkt me ook niet de juiste aanpak. Wat ik al zei: volgens mij kun je dit veel beter met PHP oid regelen en generieke delen includen, specifieke delen op basis van code genereren en vervolgens de boel aan elkaar plakken. Als je ervaren bent met PHP lijkt me dat toch een stuk eenvoudiger dan een spreekwoordelijk kanon pakken om een mug plat te slaan. ;)
  • Moet zeggen dat je erg veel geduld met me hebt.

    je zegt:
    Waarom wil je dat met jQuery? Waarom niet separate pagina's waar je generieke delen in include?
    Dat doe ik ook:
    [code:1:b2cad10ae5]
    <div id="page_effect" style="display:none;">
    <div id="header">
    <?
    include ("header.inc.php");
    ?>
    </div>
    <div id="container">
    <?
    require ('ff3.php');
    ?>
    </div>
    </div>
    [/code:1:b2cad10ae5]

    In ff3.php staat:
    [code:1:b2cad10ae5]
    <div id="column-one">
    <?
    require ('mnu_account.php');
    ?>
    </div>

    <div id="content">
    <?
    require ('tabfade1.php');
    ?>
    </div>
    [/code:1:b2cad10ae5]

    Dat zijn dus includes.
    Zo worden volgens mij de divs column-one en content in de container div geladen. Zie niet wat er mis mee is.

    Nogmaals ik kom uit de scripting wereld die geen output genereerd naar een browser. Puur verwerking van business logic op de achtergrond.

    Als je een tip hebt voor me graag.
  • Niemand een tip?

Beantwoord deze vraag

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