Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1719 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Adapter un script pour qu'il puisse marcher dans une frame

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Adapter un script pour qu'il puisse marcher dans une frame

n°917047
Ze-Doms
Troller c'est bien :p
Posté le 07-12-2004 à 14:54:13  profilanswer
 

Bonjour,
je souhaiterais créer une page qui me permette de naviguer rapidement au sein d'une Base SQL.
J'ai cherché des solutions genre des menus stylés tout faits en CSS/ javascript/dhtml toutefois vu la taille de la table sur laquelle la requête de navigation doit s'effectuer (plus de 1300 lignes), un script trop compliqué alourdirait le serveur de requêtes et qui plus est ralentirait la navigation...
Je suis tombé sur un script se situant sur la page de http://www.script-masters.com/ qui est certes simple mais rudement efficace.
Seulement voilà, l'espace qui m'a été alloué est une frame dans une page web. Et ce joli petit script ne semble pas vouloir marcher dans les Frames  :sweat: . N'ayant que de très vagues notions de javascript je me suis un peu penché dessus sans succès pendant une semaine.  
voici le script intégré dans un exemple:
La page contenant la Frame:

Code :
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  2. <html>
  3. <head>
  4. <title>Navagateur BDD</title>
  5. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  6. </head>
  7. <FRAMESET ROWS="100,*">
  8. <FRAME NAME="haut" FRAME SRC="page1.html" noresize scrolling="no">
  9. <FRAME NAME="bas" FRAME SRC="fastnav.html" BORDER="0" FRAMEBORDER="no" FRAMESPACING="0">
  10. </FRAMESET>
  11. </HTML>


et pour finir la page fastnav.html avec le script intégré dedans:
 

Code :
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
  2. <html>
  3. <head>
  4. <title>Navagateur BDD</title>
  5. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  6. <SCRIPT LANGUAGE="JavaScript">
  7. /* Daniel Fabien - 31/01/2003
  8. *  Double menu deroulant dynamique
  9. *  
  10. *  Pour tout renseignements :
  11. http://www.script-masters.com/home/forum/
  12. * */
  13. menu=new Array()
  14. // Rajoutez un élément au tableau menu pour chaque categorie supplémentaire
  15. // De la même façon, pensez à modifier le formulaire pour rajouter des categories.
  16. menu[0]=new Array()
  17. menu[1]=new Array()
  18. menu[2]=new Array()
  19. // Modifiez ici les variables pour les menus deroulant
  20. // la première valeur est le titre, la seconde l'url
  21. // metter l'url à "null" si vous ne souhaitez pas une redirection pour ce titre
  22. menu[0][0]=new Option("Sous Theme - Internet","null" )
  23. menu[0][1]=new Option("Actualite","http://www.script-masters.com/" )
  24. menu[0][2]=new Option("Ressources Webmaster","http://www.script-masters.com/" )
  25. menu[1][0]=new Option("Sous Theme - Informatique","null" )
  26. menu[1][1]=new Option("Programmation","http://www.script-masters.com/" )
  27. menu[1][2]=new Option("Materiel","http://www.script-masters.com/" )
  28. menu[2][0]=new Option("Sous Theme - Actualité","null" )
  29. menu[2][1]=new Option("France","http://www.script-masters.com/" )
  30. menu[2][2]=new Option("Monde","http://www.script-masters.com/" )                   
  31. // Ne rien modifié sous cette ligne
  32. function changeSousTheme(numeroMenu){
  33. for (i=document.menuDeroulant.sousTheme.options.length-1;i>0;i--){
  34.  document.menuDeroulant.sousTheme.options[i]=null
  35.  }
  36. for (i=0;i<menu[numeroMenu].length;i++){
  37.  document.menuDeroulant.sousTheme.options[i]=new Option(menu[numeroMenu][i].text,menu[numeroMenu][i].value)
  38.  }
  39. document.menuDeroulant.sousTheme.selectedIndex=0
  40. }
  41. function selectmenu(theme_prin){
  42. if (theme_prin.theme.options[theme_prin.theme.selectedIndex].value == "null" ){
  43.  alert('selectionnez d\'abord un theme');
  44.  }
  45. else{
  46.  window.top.location.href = theme_prin.theme.options[theme_prin.theme.selectedIndex].value;
  47.  }
  48. }
  49. function destination(){
  50. var destination = document.menuDeroulant.sousTheme.options[document.menuDeroulant.sousTheme.selectedIndex].value;
  51. if(destination=="null" ){
  52.  alert('Veuillez saisir une destination valide!');
  53. }
  54. else{
  55.  window.top.location.href = destination;
  56.  }
  57. }
  58. </SCRIPT>
  59. </head>
  60. <body>
  61. <center>Attention : toutes les urls menent vers la page principal de Script Masters</center>
  62. <FORM NAME="menuDeroulant">
  63.   <div align="center">
  64.  
  65.     <SELECT NAME="theme" SIZE=1 onChange="selectmenu(this.form)">
  66.       <OPTION selected VALUE="null">-=Theme Principal=-
  67.       <OPTION VALUE="Javascript:changeSousTheme(0)">Internet
  68.       <OPTION VALUE="Javascript:changeSousTheme(1)">Informatique
  69.       <OPTION VALUE="Javascript:changeSousTheme(2)">Actualité
  70.     </SELECT>
  71.     <SELECT NAME="sousTheme" style="width:225">
  72.       <OPTION VALUE="null">Selectionner D'abord Un Theme
  73.     </SELECT>
  74.     <INPUT TYPE=button onclick="destination()" VALUE="Valider">
  75.   </div>
  76. </FORM>
  77. </body>
  78. </html>


 Si une âme charitable pouvait me corriger le script je lui en serait très reconnaissant  :jap:  :love:  :bounce:  :bounce:
 
Edit: En tout cas m'expliquer pourquoi ça ne marche pas dans une frame
et/ou me mettre sur la voie d'une solution
Ps: le script fonctionne à la base mais hors d'une frame...


Message édité par Ze-Doms le 07-12-2004 à 15:25:35
mood
Publicité
Posté le 07-12-2004 à 14:54:13  profilanswer
 

n°917048
Profil sup​primé
Posté le 07-12-2004 à 14:55:07  answer
 

on corrige/fait pas les script ici

n°917464
Ze-Doms
Troller c'est bien :p
Posté le 07-12-2004 à 21:09:34  profilanswer
 

chacal_one333 a écrit :

on corrige/fait pas les script ici


en fait je me suis mal exprimé ce que je cherche c'est l'indication de ce qui cloche et/ou des liens vers des pages pouvant m'aider. Comme je l'ai dit je ne m'y connais pas trop en Javascript et en quelque part je suis là pour apprendre. Je ne demande pas qu'on fasse le boulot à ma place, mais qu'on m'aide à trouver la solution...

n°918077
Bidem
Posté le 08-12-2004 à 16:23:52  profilanswer
 

Ton problème doit venir de l'utilisation de 'window.top'
 
Pour mieux comprendre je vais tenter d'expliquer ce que représentent les différent objets que tu peux manipuler.
 
Dans le code javascript de la page fastnav.html :
 
 - window représente la frame "bas"
 - window.parent représente la frame (ou la fenetre) contenant window
     => ici tu n'as qu'un seul niveau de frame donc ça représente la
        fenetre de ton navigateur
 - window.top représente la fenetre du navigateur (autrement dit, la frame de plus haut niveau)
 
En bref, les "window.top.location.href=<nouvelle url>" font que toute la page change, si tu ne veux changer que la page affichée dans ta frame tu peux essayer "window.location.href=<nouvelle url>"
 

n°918602
Ze-Doms
Troller c'est bien :p
Posté le 09-12-2004 à 09:44:10  profilanswer
 

bidem a écrit :

Ton problème doit venir de l'utilisation de 'window.top'
 
Pour mieux comprendre je vais tenter d'expliquer ce que représentent les différent objets que tu peux manipuler.
 
Dans le code javascript de la page fastnav.html :
 
 - window représente la frame "bas"
 - window.parent représente la frame (ou la fenetre) contenant window
     => ici tu n'as qu'un seul niveau de frame donc ça représente la
        fenetre de ton navigateur
 - window.top représente la fenetre du navigateur (autrement dit, la frame de plus haut niveau)
 
En bref, les "window.top.location.href=<nouvelle url>" font que toute la page change, si tu ne veux changer que la page affichée dans ta frame tu peux essayer "window.location.href=<nouvelle url>"


Merci de ton aide! En fait mon problème était surtout que le second menu déroulant n'effectuait pas de changement de sa liste des sélect en fonction de ce qui avait été choisi au premier menu.
Bien que ta suggestion concerne un problème sur lequel je comptais me pencher par la suite, ton idée sur la hiérarchie des fenêtres et de leur composants m'a mis sur une piste... et il semblerait que ça marche!  :bounce:  :bounce:  :bounce:  
Bon c'est pas très propre au niveau du code mais ça marche  :p  je vais devoir lire davantage de tutos/cours doc pour tout comprendre et faire ça proprement, mais ça avance  :sol:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Adapter un script pour qu'il puisse marcher dans une frame

 

Sujets relatifs
Probleme sur un script pour lister les sharesUn "script" empechant la saisie direct de l'URL absolue dune image?
[Driver] faire ou adapter un driverScript d'upload
exécution scriptScript ouvrant fichier Excel partagé avec notification
lancer un script shell sur un serveur distant a partir d'un batchprobleme script perl
script modification adresse IPScript SCSI
Plus de sujets relatifs à : Adapter un script pour qu'il puisse marcher dans une frame


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR