opdracht "insert"

Status
Niet open voor verdere reacties.

HansVol

Gebruiker
Lid geworden
6 apr 2007
Berichten
118
Ik heb een probleem met de opdracht "Insert file= ''
De software van de site is ingedeeld in diverse mappen. Ik heb éénmalig een file opgebouwd las kop voor de site, waarin ook knoppen met de bijbehorende hyperlinks. Die knoppen zijn images.jpg, samengebracht in een aparte map "knoppen". Per pagina de kopfile inserten, rechtstreeks in de index of met een of meer ../ voor onderliggendfe mappen, is geen probleem. Maar de knoppen die dan elders in hun file staan, worden niet herkend, en de hyperlinks naar andere pagina's worden evenmin herkend .
indeling.JPG


De vraag is dus hoe de indeling moet worden als vanuit een file die op diverse niveaus is ingevoegd, diverse images in mappenn op andere niveaus worden gevonden, met behoud van de verwijzingen/hyperlinks bij die images.
Alvast bedankt
Hans
 
Laatst bewerkt:
Hoi Hans,
Dit valt op te lossen door de links niet relatief te maken, zoals:
Code:
[FONT="Courier New"][SIZE="2"]<img src="../../images/knop1.jpg" width="..." height="..." alt="">[/SIZE][/FONT]
maar ze met hun absolute pad aan te geven:
Code:
[FONT="Courier New"][SIZE="2"]<img src="http://www.jedomeinnaam.nl/submap5/images/knop1.jpg" width="..." height="..." alt="">[/SIZE][/FONT]
Op welke pagina dit ook komt te staan, de bron moet dan altijd opgehaald worden vanaf het begin van je site: en dan gaat het goed. :)

Met vriendelijke groet,
CSShunter
 
insert

Ja, bedankt, dat lijkt te werken.
Maar de insert lukt nog niet. Ik heb ingevuld: <!--#include file="http://www.h-a-web.nl/kopfile.html" --> Als ik die url direct in invul in Google IE krijg ik keurig de kop te zien.
Op de gewenste pagina krijg ik geen kop, maar [an error occurred while processing this directive]
Daarna volgt de tekst van de gewenste pagina.
Het vreemde is dat ik die melding ook terug zie in de broncode.
 
Laatst bewerkt:
Hoi Hans,
Yep, dat zie ik ook. Wat ook te zien is:
  • In de (samengestelde) openingspagina in de browser wordt (zie broncode in de browser) na de <body> op regel 14 een komplete html-pagina ingevoegd, t/m </body></html> op regel 107/108. Daarna loopt de html-code van het begin gewoon door.
  • Dat klopt, want de in te voegen header heb je er als complete html-pagina kopfile.html ingeplakt: met een eigen <head> en <body>.
  • En daar struikelt de server over, want een include is géén frame (kijkgat in de pagina waardoor je een andere komplete pagina kunt zien), maar alleen een verwijzing naar een code-fragment dat ergens ingevoegd moet worden. De server timmert de pagina met de verwijzing en het code-fragment in elkaar, en stuurt het resultaat als één pagina naar de bezoeker.
  • Als een include als eigen html-pagina is gemaakt, komt er dus in het resultaat 2x een <head> en 2x een <body>. En dat kan/mag niet.
Wat je doet, is:
de kopfile.html pagina strippen, zodat alleen het gedeelte vanaf regel 13 overblijft:
HTML:
<table width="100%" border="0">
   <tr>
      <td width="25%" align="center">
         <img src="http://www.h-a-web.nl/Hemigrammus-bleheri.jpg" alt="mijn aquarium">
tot het eind, maar dan met ook de slotregels
HTML:
</body>
</html>
er af geknipt.
Want dat is het codefragment dat ingelast moet worden in elke pagina.
Denkelijk gaat het dan gewoon goed (het fragment kan gewoon kopfile.html blijven heten, dat maakt niets uit). - Misschien zit er ergens anders ook nog een foutje, maar dat hengelen we er later dan wel uit.

Succes!
CSShunter

PS dat je de [error occured...] ook terugziet in de broncode, is niet zo vreemd. Want de "broncode" die de browser laat zien, is de code die gebruikt is om alles op het scherm te zetten (de van de server ontvangen code), en niet per definitie de code (de "echte broncode") die op de server zelf staat. Bij een pagina met een include zie je bv. in de "broncode" van de browser ook niet het regeltje met verwijzing naar de include (dat op de pagina van de server staat), maar rechtstreeks het codefragment op die plek.
Als de server ontdekt dat er iets niet klopt in de "echte broncode", dan maakt de server een foutmelding en stuurt die mee met het pakketje van de pagina, zodat je de foutmelding op scherm ziet en dus óók in de "broncode" van de browser.
 
Laatst bewerkt:
insert

Hallo CSSHunter

Ik heb van alles geprobeerd. Dat als gevolg van een insert 2x head en body niet toelaatbaar zijn klinkt logisch. Maar ook na strippen wordt de kop niet ingevoegd.
Het zotte is dat het in de index wel lukt als ik gewoon include file="kopfile.html" aangeef, ook in de ontwerpstand van DW. Met de volledige adres www...... lukt het niet,
Als ik in een onderliggende file, bijvoorbeeld Amano, file="../../kopfile.html" opgeef lukt het wel in DW, maar niet op het net. Als ik op het net de volledige naam www.h-a-web.nl/kopfile.html opgeef krijg ik de kop keurig te zien, ook zonder head en body etc., uiteraard zonder de regels van de style. aan de kopfile zelf zal het dus niet liggen?

Hans
 
Nee, het kopfile.html fragment is nu prima in orde, daar ligt het niet aan.
Maar oeps, mijn fout! :eek:
Misschien zit er ergens anders ook nog een foutje, maar dat hengelen we er later dan wel uit.
Nou, dat klopt! Bij mijn aanroep-code voor een shtml-fragment was ik nog iets belangrijks vergeten te vermelden.
De code:
Code:
[FONT="Courier New"][SIZE="2"]<!--#include [B]file[/B]="kopfile.html" -->[/SIZE][/FONT]
werkt prima, als de kopfile in dezelfde map staat als het aanroepend bestand.
Maar als het aanroepend bestand op een andere plek zit, moet de aanroep zijn:
Code:
[FONT="Courier New"][SIZE="2"]<!--#include [B]virtual[/B]="../../kopfile.html" -->[/SIZE][/FONT]
Ik heb het even getest, en dan gaat het goed.

Een raar en niet te begrijpen verschil van commando in shtml, want bij andere talen (html, php) gaan verwijzingen altijd op dezelfde manier. Maar stom-stom-stom dat ik dat was vergeten. Sorry!

Met vriendelijke groet,
CSShunter

PS:
In de kopfile.html zit op regel 42 voor de link naar de homepage nog de verwijzing "index.html" > moet worden: "index.shtml", want de index.html bestaat nu niet meer.
 
Laatst bewerkt:
Bedankt

Hallo CSSHunter

Dat werkt inderdaad! Enorm bedankt, zo'n insert scheelt heel wat zoeken en vervangen en de pagina's doen veel rustiger aan als de kop bijna gewoon blijft staan.

Hans
 
Ja, leuk hè, zo'n eitje van Columbus (als je 't weet).
In de browsers Firefox, Safari en Chrome blijft de kop nu zelfs helemaal vastgespijkerd op het scherm, en zie je bij een pagina-wissel alleen de tekst/foto's eronder veranderen.
Bij Internet Explorer en Opera zie je een lichte flits bij een pagina-wissel.

Maar ook daar valt waarschijnlijk nog wel wat aan te doen.
Een rem op snelle vertoning van de kop zit 'm in de images: 14 menu-knoppen, de bak, de vissen en het valid-html-embleempje. Samen 17 stuks, die allemaal apart opgehaald en in beeld moeten worden gebracht; dat vraagt kostbare laadtijd.

Als je 't leuk vindt, kunnen we van de 14 menu-knoppen één samengesteld plaatje maken (waarin dan ook nog 14 knoppen kunnen komen te zitten met een iets andere kleur voor als je over het menu heen hovert). Met css kan je die op de goede plaats rangeren. - Dan ben je meteen van de tabel in de kop af, want die vertraagt soms ook het inladen.

Zo ja, dan heb ik vast wat "huiswerk" voor als je er nog onbekend mee bent. ;)

Met vriendelijke groet,
CSShunter

PS
O ja, voor ik het vergeet. Ik zag op een paar plaatsen dat je "woord-links" naar de definitie-pagina soms niet werken: die zou ik nog even nalopen. - Dat komt doordat de link naar de pagina "Definities.shtml" verwijst, die op de server "definities.shtml" heet. Lokaal in Windows is dat hetzelfde, maar een server maakt verschil tussen hoofd- en kleine letters. Ik gebruik voor het gemak altijd kleine letters in bestandsnamen > kan ik me nooit vergissen.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan