Ga naar inhoud

Aanbevolen berichten

Geplaatst:

Hallo,

Ik heb een probleempje met mijn iframe.

Dit ik mijn homepage:

Grab a Gift - Promotional Products - Heerlen, Maastricht, Sittard, Geleen, Kerkrade, Zuid Limburg

deze bevat een iframe met de naam inhoud

<iframe src="inhoud.html" name="inhoud" width="1000" marginwidth="0" height="630" marginheight="0" align="top" scrolling="no" frameborder="0"></iframe>

Om de iframes niet afzonderlijk in google te laten verschijnen heb ik dit sriptje gebruikt:

<script language="JavaScript">

if (parent.location.href == self.location.href){

window.location.href = 'home.html'

}

</script>

Maar als je dan rechtstreeks naar bijvoorbeeld http://www.grabagift.nl/kantoor.html gaat.

dan krijg je de inhoud (name = inhoud) van de homepage te zien en niet van kantoor. Enig idee hoe ik dit kan oplossen, heb me al twee dagen rotgezocht,maar kom er echt niet uit!

Alvast bedankt,

groet Pien

  • 2 weken later...
Geplaatst: (aangepast)

Het script wat je gebruik doet gewoon zijn werk.

wat je eigenlijk doet is hetvolgende:

controleert of locatie van het huidige frame/pagina gelijk is aan de locatie van de hoofd (vader/parent) pagina.

Als dit zo is verwijst hij je browser door naar home.html

Dit is om te voorkomen dat je de homepagina in een frame kan krijgen.

Als je namelijk kantoor.html bekijkt dan is de locatie van de huidige en de parent(hoofd) identiek aan elkaar, dus verwijst hij terug door naar home.html

Ik heb het script een beetje aangepast voor je, en wat uitgewerkt.

Op home.html zet je tussen je head tags hetvolgende:

<script language="javascript">
var homepage = "inhoud.html";
var iframeid = "inhoud";
function csearch(naam) {
 var str = document.cookie;
 var zstr = naam + "=";
 var start = str.indexOf(zstr, 0);
 if(start == -1) {
   return homepage;
 } else {
   start += zstr.length;
   var eind = str.indexOf(";", start);
   if(eind == -1) eind = str.length;
   return unescape(str.substring(start, eind));
 }
 cclear('lastvisited', '/');
} 
function cclear(naam, pad) {
 var now = new Date();
 document.cookie = naam+"=;expires="+now.toGMTString()+";path="+pad;
} 
var lokatie = csearch('lastvisited');
setTimeout("document.getElementById(iframeid).src=lokatie", 100);
</script>

Vervang 'var homepage' naar de pagina die standaard in de iframe moet staan.

Vervang 'var iframeid' naar het id van de iframe. (Het iframe MOET dus een id hebben, deze mag identiek zijn aan de name).

Op de pagina's zoals kantoor.html vervang je de code die je heb gebruikt door deze:

<script language="JavaScript">
if (parent.location.href == self.location.href){
   var pagina = "kantoor.html";
   document.cookie = "lastvisited=" +pagina+ ";path=/";
   window.location.href = 'home.html';
}
</script>

Vervang 'var pagina' naar de huidige pagina.

Is de pagina kantoor.html komt daar te staan: kantoor.html

Is de pagina test.html komt daar te staan: test.html

Wanneer dit gedaan is zou je wanneer je je website bezoekt op:

www.domein.nl/kantoor.html

eerst de pagina 100 miliseconden de homepagina laten zien en daarna moet de iframe vervangen naar de juiste pagina die je wilde bezoeken.

LET WEL OP! De adresbalk staat weer terug op home.html en niet op kantoor.html

Ik hoop dat het je lukt, laat even weten of het inderdaad gelukt is.

Groeten,

Leroy

aangepast door leroy
Geplaatst:

Beste Leroy,

hartelijk dank voor je uitgebreide antwoord:-) en je scripts.

Ik dacht even CTRLC en CTRLV en klaar...haha!

Maar helaas het werkt niet.

Ik zal er eerst eens rustig in moeten duiken om te begrijpen wat je doet..

Gr, Pien

Geplaatst: (aangepast)

gewoon kopieren plakken en wat waardes aanpassen zou moeten werken.

Ik zie wel dat ik nog een foutje heb gemaakt en een puntcomma (;) ben vergeten te plaatsen. (Heb hem aangepast en hij zou zo moeten werken).

Zo heb ik hem hier thuis wel werkend.

Het is niet echt een super oplossing, maar hij doet wel wat jij wilt.

Beste oplossing is geen frames maar PHP. Dit omdat google dat wel goed kan uitlezen.

Eigenlijk hetgeen wat ik doe is hetvolgende:

Wanneer je de pagina bezoekt onder zijn naam.html Maakt hij een cookie aan met de bestandsnaam.

Hierna verwijst hij automatisch door naar home.html

Home.html controleert of de cookie bestaat en returned te waarde.

Bestaat de cookie NIET, dan returned hij de waarde van de homepagina.

Hierna vernietigd hij de cookie zodat hij gereset wordt.

Dan pakt hij de waarde van de pagina (inhoud.html, kantoor.html, test.html e.d.) en stopt hij die in de source van het Iframe.

De enige wijziging die je moet maken is in je Iframe. Nu heb je alleen een name="inhoud" hier moet je nog een ID aan toevoegen: id="inhoud"

Dan zou hij gewoon moeten werken als je de stappen volgt.

Groeten,

Leroy

Groeten,

Leroy

aangepast door leroy
×
×
  • Nieuwe aanmaken...

Belangrijke informatie

We hebben cookies geplaatst op je toestel om deze website voor jou beter te kunnen maken. Je kunt de cookie instellingen aanpassen, anders gaan we er van uit dat het goed is om verder te gaan.