Articles

Divers

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).

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.