Hot Potatoes oefeningen automatisch laten framen

door Koen Van Cauwenberge

 

Zodra je begint te werken met een website met Hot Potatoes oefeningen zul je na verloop van tijd merken dat  grote zoekmachines zoals Google rechtstreeks beginnen te linken naar je oefeningen.  Natuurlijk is het aangenaam om meer bezoekers op je website te krijgen, alleen jammer dat de bezoeker via de zoekmachine direct in je Hot Potatoes oefening terechtkomt zonder kennis te maken met de rest van je website.

Dit probleem kun je oplossen door Hot Potatoes oefeningen verplicht te laten opnemen in een frame.  Dat wil zeggen dat wanneer een oefening buiten een frame opgeroepen wordt, de Hot Potatoes oefening zich automatisch zal nestelen in een frame en er bijvoorbeeld links een menubalk zal verschijnen.  Op die manier kunnen je bezoekers die de oefening via een browser gevonden hebben, doorverwijzen naar de rest van je website.

Om een oefening verplicht te laten framen heb je twee extra bestandjes nodig en moet je een klein stukje Javascriptcode toevoegen tussen de <HEAD> tags.  Een voordeel is wel dat je die twee bestanden kunt gebruiken voor de rest van al je oefeningen.  Je kunt als volgt te werk gaan:

  1. Maak het bestand left.htm aan. Dit bestand is het menu dat links van de oefening in de frame zal verschijnen.  Hier kun je een menu opnemen, links naar de rest van je website en ook eventueel copyright informatie of zelfs een teller zoals van Nedstat of Topstat opnemen.  Dit is een gewoon htmbestand.
  2. Maak het speciale frameset.htm aan met de volgende HTMLcode:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

    <HTML>

    <HEAD>

    <TITLE>Frameset</TITLE>

    <META content="text/html; charset=windows-1252" http-equiv=Content-Type>

    <META content="Hot Potatoes tutorial"

    name="description">

    <META content="Koen Van Cauwenberge, Katrien Deygers" name="author">

    <META content="Microsoft FrontPage 4.0" name=GENERATOR>

    </HEAD>

    <SCRIPT LANGUAGE="JavaScript" TYPE="TEXT/JAVASCRIPT">

    <!-- Hide script form old browers

    linkURL = "homepage.html"

    if (parent.document.URL) {

    callingURL = parent.document.URL

    if (callingURL.indexOf('?') != -1) {

    linkURL = callingURL.substring(callingURL.indexOf('?')+1,callingURL.length)

    }

    }

    document.writeln('<FRAMESET COLS="169,*" BORDER="0">')

    document.writeln('<FRAME SRC="left.htm" FRAMEBORDER="NO" NAME="left" noResize scrolling="no" target="right">')

    document.writeln('<FRAME SRC="' + linkURL + '" NAME="right">')

    document.writeln('<\/FRAMESET>')

    // End hiding script fom old browsers -->

    </SCRIPT>

    </HTML>

    Naast linkURL komt de naam van een bestand dat als reserve opgeroepen wordt, mocht de oefening zelf om welke reden dan ook niet zou verschijnen.  In dit geval koos ik voor de homepage, maar andere pagina's zijn uiteraard ook mogelijk.  

    Naast de tag FRAME SRC=" komt de naam van het bestand dat links naast je Hot Potatoes oefening moet verschijnen en dat we in stap 1 aangemaakt hadden.

  3. Stel nu dat we hotpotoefening1.htm verplicht in een frame willen laten verschijnen.  Dan volstaat het om ergens tussen de <HEAD> tags de volgende code op te nemen:

    <html>

    <head><meta name="author" content="Created with Hot Potatoes by Half-Baked Software, registered to Koen Van Cauwenberge."></meta><meta name="keywords" content="Hot Potatoes, Half-Baked Software, Windows, University of Victoria"></meta>

    <SCRIPT LANGUAGE="JavaScript" TYPE="TEXT/JAVASCRIPT">

    <!-- Hide script from old browsers

    if (top.location == self.location) {

    self.location.replace("frameset.html?hotpotoefening1.htm")

    }

    // End hiding script from old browsers -->

    </SCRIPT>

    <title>

    Hot Potatoes oefening 1

    </title>

    <script language="javascript" type="text/javascript">

    //<![CDATA[

    (...)

    Het enige stukje code dat steeds aangepast zal moeten worden is te vinden naast self.location.replace.  Voor het vraagteken moet je de naam van het framesetbestand geven dat we in stap 2 aanmaakten.  Na het vraagteken volgt de bestandsnaam van de oefening die in de frame moet verschijnen.

Op die manier kun je aan je Hot Potatoes oefeningen links in een menu allerlei verwijzingen en extra informatie toevoegen voor de bezoekers die je website via een browser gevonden hebben.

LET OP:

  1. Het script werkt niet off line, maar enkel als de bestandjes on line staan.
  2. Het script werkt enkel als het framesetbestand, het leftbestad en de automatisch te framen oefening zich in dezelfde map of directory bevinden. Anders moet je dat in de code aanduiden.

 

Terug naar introductie

Terug naar Project X 2002

 

Last update 16.09.03