Back et frames en javascript
Par Mathieu Godart - Publié le
Je possède un site avec deux frame : une a droite (les pages) et une a gauche (le menu). Je voulais pouvoir mettre une touche back dans mon menu car ma fenetre n'en contenait pas (ouverture popup). Tout le monde connait la fonction history de javascript mais malheuresement elle ne fonctionne pas sous NN (le boutton back essai de revenir en arrière dans la frame ou le javascript est situé et donc la frame de droite n'était pas prise en compte).
Tout dabord, placer ce javascript après le /HEAD du fichier html parent :
function frameBack() {
frames['body'].history.go(-1);
}
Ensuite, on met une fonction d'appel de JS pour aller chercher notre javascript que nous avons placé dans notre "parent".
A mettre dans la page du menu (frame de gauche) entre HEAD et /HEAD :
function MM_callJS(jsStr) {
v2.0
return eval(jsStr)
}
Et pour finir on met un lien back dans la page pour appeler la fonction "callJS" :
‹a href=# onClick="MM_callJS('parent.frameBack()')›
Et voilà, ça marche. Notez que la frame a changée, elle doit s'appeler "Body" on peut bien sûr changer les parmetres afin de faire coller le script a ses désires.
Proposé par Q.
Dans HEAD
Tout dabord, placer ce javascript après le /HEAD du fichier html parent :
function frameBack() {
frames['body'].history.go(-1);
}
L'appel à la fonction
Ensuite, on met une fonction d'appel de JS pour aller chercher notre javascript que nous avons placé dans notre "parent".
A mettre dans la page du menu (frame de gauche) entre HEAD et /HEAD :
function MM_callJS(jsStr) {
v2.0
return eval(jsStr)
}
La petite touche finale
Et pour finir on met un lien back dans la page pour appeler la fonction "callJS" :
‹a href=# onClick="MM_callJS('parent.frameBack()')›
Et voilà, ça marche. Notez que la frame a changée, elle doit s'appeler "Body" on peut bien sûr changer les parmetres afin de faire coller le script a ses désires.
Proposé par Q.