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)

telkens terugkerende links in 1 bestand mogelijk?

spiderned
19 antwoorden
  • Hallo,

    Ik heb een site welke volledig zonder frames is opgebouwd.

    Nou is het zo dat op elke pagina, en dat begint ondertussen aardig op te lopen, een zelfde menu aanwezig is met links waaruit gekozen kan worden.

    Nou is mijn vraag:
    Is er misschien een mogelijkheid om al de links ergens in een bestand te 'parkeren' waarna ik ze in elke pagina oproep met 1 regel?
    Is zoiets misschien ook mogelijk met css?

    Met vriendelijke groet,

    W. Tulp
  • Met css kan dat dacht ik niet.
    Met php in ieder geval wel. Dan moet je wel een host hebben die php ondersteunt.
    Je maakt een html-bestand met je menu. In het bestand waar je menu moet komen zet je

    [code:1:e4f261c19b]<?php
    include ("jouwmenu.html");
    ?>
    [/code:1:e4f261c19b]

    en klaar is Klara.
    O ja, het bestand met de php-code heet nu "jouwbestand[b:e4f261c19b].php[/b:e4f261c19b]".
  • Kan ook met javascript:

    html:
    <script src="links.js"></script>

    links.js:
    document.write("<a href="link.html">link</a>")
  • Vraagje over Javascript:

    Hoe wordt dit ondersteund door verschillende browsers?

    Ik heb wel eens gehoord dat Javascript slecht ondersteund werd door verschillende browsers, waaronder browsers onder Linux, en dat de ene browser weer anders met Javascript om ging dan de andere.

    Is dit nog steeds zo? Of is dat al weer achterhaald.

    Ik zou zelf graag meer gebruik maken van Javascript maar door de genoemde nadelen ben ik daar nog niet toe overgegaan. Dit omdat ik het noodzakelijk vind dat alle browsers zonder problemen mijn webpagina moeten kunnen bekijken zonder dat er weer noodzakelijke updates nodig zijn.

    Kan je me daar meer over vertellen?

    Met vriendelijke groet,

    W.Tulp
  • [quote:168f799d9f="wtulp"]Hoe wordt dit ondersteund door verschillende browsers?[/quote:168f799d9f]Als je je aan het JavaScript Document Object Model (DOM) houdt dan werkt het in alle recente browsers ongeacht platform. Het heeft echter toch andere nadelen, ik zou me eerder richten op Server Side Includes (SSI) of PHP.

    - Bas
  • Php en ssi moeten door de server ondersteund worden, en zorgen voor extra serverbelasting. Alles heeft zijn voor- en nadelen.
  • [quote:04206dcb15="wtulp"]Hallo,

    Ik heb een site welke volledig zonder frames is opgebouwd.

    Nou is het zo dat op elke pagina, en dat begint ondertussen aardig op te lopen, een zelfde menu aanwezig is met links waaruit gekozen kan worden.

    [/quote:04206dcb15]
    Dat probleem heb ik nou ook.
    Ik heb van narigheid de links pagina's maar uitgevoerd met 1 link en wel het woordje "terug".
    Maarja, dat vind ik zo kinderachtig.
    Ik ga dat scripje van Gerben proberen, omdat ActiveISP geen php en SSI ondersteund. (ja, als je meer betaald :lol: )

    En Bas; wat zijn de nadelen dan van JavaScript.
    Voordat ik mijn hele site weer gaat ombouwen?
  • [quote:a7fb538d07="spiderned"]
    En Bas; wat zijn de nadelen dan van JavaScript.
    Voordat ik mijn hele site weer gaat ombouwen?[/quote:a7fb538d07]
    Javascript kan uitgeschakeld zijn bij de bezoeker waardoor een gedeelte van je site niet zichtbaar is (maar daarvoor kan je een noscript melding geven).

    Bovendien weten (wisten) niet alle user-agents goed raad met javascript. Maar aangezien je het hier wel erg basic houdt met alleen document.writes zal je je daar waarschijnlijk niet al te druk over hoeven te maken.
  • Bij het omzetten van m'n thuispagina naar xhtml, liep ik dus ook tegen dat probleem op.
    Bij een van m'n pagina's dacht ik slim te zijn, door met layers visbility te spelen (hidden,visible) maar dat werkte dus niet overal. Bij Mozilla gebeurde in ieder geval niets.

    Toen ik de tip van Gerben las, dacht ik: 'waarom heb ik daar niet eerder aan gedacht' :D Dankje, Gerben!
  • [quote:63aa157fca="WillyF"][…] maar dat werkte dus niet overal. Bij Mozilla gebeurde in ieder geval niets.[/quote:63aa157fca]Dat ligt waarschijnlijk eerder aan jouw JavaScript dan aan Mozilla. Zoals ik al eerder zei: je dient je natuurlijk wel aan de standaard te houden, het JavaScript DOM.

    - Bas
  • [quote:273441fc81="gerben"]Kan ook met javascript:

    html:
    <script src="links.js"></script>

    links.js:
    document.write("<a href="link.html">link</a>")[/quote:273441fc81]

    Nou, ben er ff mee bezig geweest; halve dag :oops: maar ben er nog niet uit.

    Dat woordje link (met daarachter de pagina link.html) staat nu wel in de juiste tabelcel, maar ik wil juist dat in die cel meteen het bestand link.html komt te staan.
    Of kan dat niet?

    Ik heb denk ik alle mogelijke combinaties geprobeerd, maar ik krijg ; of een foutmelding; of er gebeurt niets.
    Ik heb ook al geprobeerd: document.open; ik dacht misschien moet ik dat wel doen…………..
    Ik weet het ff niet meer, en in de tutorials op internet komt zoiets specifieks niet voor.
    Of wel?
  • Inlezen van bestanden kan niet. Tenminste niet op de manier zoals jij wil. Je komt dan toch weer uit op server-side technieken (client-side xml inlezen kan ook wel, maar is weer niet bij alle browser gelijk geimplementeerd afaik).

    Kan je de definitie van de table niet opnemen in het stukje javascript? Dus iets als:
    [code:1:cf58b4ec7c]
    with (document)
    {
    write('<table>');
    write('<tr><td><a href="eenlinkje.html">klikkerdeklik</a></td></tr>');
    write('</table>');
    }
    [/code:1:cf58b4ec7c]
  • Hmmm; misschien heb ik het niet goed uitgelegd.

    Ik heb een site gemaakt met CSS en ipv frames in het stylesheet document oa dit gezet:

    div.table-cell .right {
    }[/color:d7fdfd5140]

    In deze cel moeten de links komen naar de pagina's.
    De pagina's die geladen worden door op een link te klikken bevatten ook weer deze links.
    Nu is dat natuurlijk makkelijk door op al deze pagina's deze links te zetten.
    Maar als ik dan wat wil veranderen of erbij zetten, dan moet ik het op al die pagina's doen.
    Dus ik dacht als ik nou met Gerben's scripje:

    <script language="JavaScript" src="links.js"></script>[/color:d7fdfd5140]

    op de index.htm pagina te zetten waar dus eigenlijk al de links komen te staan in:
    <div class="table-cell right">
    <div class="inner"><br>
    bla bla bla[/color:d7fdfd5140]

    en dan in links.js dan dit scripje van Gerben:
    document.write("<a href="links.html">link</a>")[/color:d7fdfd5140]

    Maar dan krijg ik een [b:d7fdfd5140]hyperlink[/b:d7fdfd5140] daar naar links.htm ipv het document links.htm

    Doe ik nu iets fout of zoals je al zei is dat onmogelijk.
  • Begrijp ik het goed dat je een bestand hebt (links.htm) waarin allemaal links staan? Zo ja, dan kan je deze niet plaatsen via een javascriptje.

    De tip van Gerben houdt in dat je de inhoud van de links.htm file vertaald naar allemaal regels in de [i:a10ad1eede]document.write()[/i:a10ad1eede]-vorm, bijv:

    [code:1:a10ad1eede]
    with (document)
    {
    write('<a href="http://www.computertotaal.nl/">C!T</a><br />');
    write('<a href="http://www.alistapart.com/">A list apart</a><br />');
    }
    [/code:1:a10ad1eede]
    En dit op te slaan als een js-file.

    Zo kan je in je pagina's deze links tonen door de javascript te includen, bijv:
    [code:1:a10ad1eede]
    <div class="table-cell right">
    <div class="inner">
    <script type="text/javascript" src="links.js"></script>
    </div>
    </div>
    [/code:1:a10ad1eede]

    btw. als je je links allemaal op dezelfde manier wil tonen via javascript is het misschien aan te raden om de links in een array te plaatsen en deze middels een loopje weg te schrijven. Ik vind dat zelf altijd iets overzichtelijker en bovendien is het wat makkelijker te onderhouden.
    Onderstaande geeft dezelfde output als het stukje javascript eerder.
    [code:1:a10ad1eede]
    var aLinks = [
    ['http://www.computertotaal.nl/', 'C!T'] ,
    ['http://www.alistapart.com/', 'A list apart']
    ];

    for (var i = 0; i < aLinks.length; i++)
    {
    document.write ('<a href="', aLinks[i][0], '">', aLinks[i][1], '</a><br />');
    }
    [/code:1:a10ad1eede]
  • Hartstikke bedankt voor het antwoord.
    Hoef ik iig niet verder te zoeken; ik werd al bijna gek.

    Dan ga ik voor de array. :P
  • Nou, ben dus bezig, maar stuit op een ander probleem.
    Mijn stylesheet word nu niet aangesproken :evil:

    Kan dat ook aangeroepen worden in javascript?
  • In principe dient een stylesheet gewoon toegepast te worden op dynamische content, dus ook als het met JavaScript wordt geschreven. Als het niet werkt klopt waarschijnlijk je CSS niet helemaal. Zo weet ik bijvoorbeeld niet of je twee classes als decendant selectors kan declareren, voor zoiets moet je even bij termin8or zijn. Mocht je het helemaal niet aan de praat krijgen, dan kan je ook via JavaScript dynamisch CSS aan je code toewijzen, hiervoor moet je even zoeken met Google.

    - Bas
  • dynamisch CSS ?
    Oke, bedankt; ga ik later ff opzoeken.
    (of mijn stylesheet ff checken)

    Bedankt voor het opweg helpen.
  • Dat is een bekend probleem bij internet Explorer :). Bij echt goed javascripten, volgens het DOM (dus zonder die onzinnige niet geldige enz. document.write) wil het nog wel is lukken. Zie m'n weblog / menubalk. Waar time staat met daaronder de internet tijd, dat is gemaakt met javascript op deze manier: http://www.annevankesteren.nl/weblog/item/28

    Daarnaast is dit soort dingen met JavaScript doen naar mijn mening waardeloos. Op deze manier geef je google helemaal niet de kans je pagina's te doorzoeken :D aangezien google css/scripts negeert (client-side). Dit moet je gewoon doen met php oid, of gewoon een pagina offline goed maken en dan de menu code een paar keer kopieren, voor een paginaatje of 10 is dat niet zo'n probleem lijkt me. Dankzij je stylesheets kost het ook bijna geen extra laadtijd.

    Anne

Beantwoord deze vraag

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