Toon posts:

Javascript 2 frames verwisselen (uitdaging)

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,

Ik weet hoe ik een javscript moet maken om 2 (of meerdere) frames tegelijk te verwisselen. Maar mijn probleem ligt ergens anders. Als ik de frames verwisseld heb en via de back button van internetExplorer terug wil verwisseld ie eerst frame 1 en dan frame 2. Dit moet dus niet. Hij moet dan in 1 keer klikken beide frames 'terugbladeren'.

Ik weet niet zeker of dit mogelijk is maar als het mogelijk is dan help je een heleboel internetgebruikers. Op verschillende sites vragen ze er namelijk naar....

  • Dries Arnolds
  • Registratie: Mei 2000
  • Laatst online: 23-08 16:42

Dries Arnolds

*bling bling*

history.go(-2) ?

edit: ow de standaard back-button.. Sorry, zat niet te lezen. Ik vermoedde al dat het niet zo simpel was :P

[ Voor 91% gewijzigd door Dries Arnolds op 13-02-2003 10:20 ]


  • akakiwi
  • Registratie: September 2000
  • Laatst online: 20-03 11:13

akakiwi

I believe in the ruling class.

Dat lukt je niet met de back button, maar alleen met een eigen geprogrammeerde button.
Dat komt namelijk omdat elke Explorer eerst het ene frame, en daarna het andere inlaad.
Dat zijn dus 2 history events, en dus moet je 2 keer klikken om terug te komen bij je uitgangs situatie.

Helaas voor je.

P.S. Mocht het toch lukken, dan ben ik ZEER benieuwd over de (jou) oplossing

| Life is a game (and games are fun) | homepage |


Verwijderd

Javascript wordt gewoon uitgevoerd bij het laden van een pagina in de history.
Als een paar frames bij elkaar horen, dan zou je gewoon in een frame dit kunnen zetten:
parent.frames["andereframe"].replace("anderepagina_die_er_bij_hoort.html");
De andere frame wordt dan geladen nadat de ene is geladen.
Replace is er dan voor om geen history aan te maken voor die ene frame.

Verwijderd

Topicstarter
Mijn script ziet er als volgt uit:

<b>Waar moet ik dan die regel inplaatsen?</B>

<code>
<script language="JavaScript">
if (navigator.appVersion.indexOf("2.") != -1){
check = false;
}
if ((navigator.appVersion.indexOf("3.") != -1) && (navigator.appName.indexOf("Explorer") != -1)){
check = false;
}
else {
check = true;
}

if (check == true){

welk_ = new Image();
welk_.src = "../images/menu_homeknop.jpg";
welk_on = new Image();
welk_on.src = "../images/menu_homeknop.jpg";
welk_stay = new Image();
welk_stay.src = "../images/menu_homeknop.jpg";

knot_ = new Image();
knot_.src = "../images/menu_praktijkknop.jpg";
knot_on = new Image();
knot_on.src = "../images/menu_praktijkknop.jpg";
knot_stay = new Image();
knot_stay.src = "../images/menu_praktijkknop.jpg";

knod_ = new Image();
knod_.src = "../images/menu_nieuwsknop.jpg";
knod_on = new Image();
knod_on.src = "../images/menu_nieuwsknop.jpg";
knod_stay = new Image();
knod_stay.src = "../images/menu_nieuwsknop.jpg";

cont_ = new Image();
cont_.src = "../images/menu_contactknop.jpg";
cont_on = new Image();
cont_on.src = "../images/menu_contactknop.jpg";
cont_stay = new Image();
cont_stay.src = "../images/menu_contactknop.jpg";

}

imageStay = ""
function imageon(name){
if (imageStay != name){
document[name].src = eval(name + "on.src");
}
}
function imageoff(name){
if (imageStay != name){
document[name].src = eval(name + ".src");
}
}

function on(name,tekst){
if (check == true){
imageon(name);
self.status=tekst;
}
}
function off(name){
if (check == true){
imageoff(name);
self.status='';
}
}

function stay(name){
if (check == true){
document[name].src = eval(name + "stay.src");
if (imageStay != name){
if (imageStay != ""){
document[imageStay].src = eval(imageStay + ".src");
}
}
imageStay = name
}
}
<!-- end of functions -->
// stop hiding -->

function Welk(){
parent.links.location="../html/links_top.html";
parent.main.location="../html/main.html";
parent.oog1.location="../html/links_under.html";
parent.oog2.location="../html/links.html";
parent.oog3.location="../html/onder.html";
}

function Knot(){
parent.links.location="../html/links_sub.html";
parent.main.location="../html/praktijk.html";
parent.oog1.location="../html/links_under.html";
parent.oog2.location="../html/links.html";
parent.oog3.location="../html/onder.html";
}

function Knod(){
parent.links.location="../html/links_sub.html";
parent.main.location="../html/nieuws.html";
parent.oog1.location="../html/links_under.html";
parent.oog2.location="../html/links.html";
parent.oog3.location="../html/onder.html";
}

function Cont(){
parent.links.location="../html/links_sub.html";
parent.main.location="../html/contact.html";
parent.oog1.location="../html/links_under.html";
parent.oog2.location="../html/links.html";
parent.oog3.location="../html/onder.html";
}

</SCRIPT>
</code>

[ Voor 11% gewijzigd door Verwijderd op 13-02-2003 11:27 . Reden: moest nog iets vragen ]


  • OnTracK
  • Registratie: Oktober 2002
  • Laatst online: 21:47
1. ik zie dat oog1, oog2 en oog3 altijd hetzelfde blijven, schrap die dan in ieder geval, anders is het hele nut van frames weg.
2. maak van de link dit:
code:
1
<A href="link1" target="targetlink1">Link</A>
en zet bij het HTML bestand dat bij "link1" geladen wordt:
code:
1
2
3
<SCRIPT language="JavaScript">
    window.top.andereframenaam.document.location.replace('andereframesrc');
</SCRIPT>

volgens mij moet dan als je op de back button drukt, beide frames terug veranderd worden.

oh ja, en de meeste mensen hier vinden het niet leuk als je gewoon je script dumpt, schrap in ieder geval het overbodige bovenste gedeelte.

[ Voor 21% gewijzigd door OnTracK op 13-02-2003 11:42 ]

Not everybody wins, and certainly not everybody wins all the time.
But once you get into your boat, push off and tie into your shoes.
Then you have indeed won far more than those who have never tried.


Verwijderd

Topicstarter
Die oog1,oog2,oog3 moeten blijven staan anders werkt het niet. Ik heb namelijk verderop in mijn script deze ogen andere pagina's gegeven. Zal het is proberen.

Verwijderd

Topicstarter
btw ik moet 3 frames verwisselen kan dat ook?
Pagina: 1