begin process at 2012 05 29 08:41:33
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript Orienté objet (POO)

 > 

Function & Méthodes

 > 

frame et autres problèmes...


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

frame et autres problèmes...

vendredi 30 novembre 2007 à 13:24:34 | frame et autres problèmes...

sagat06

Bonjour à tous,
voilà je suis toujours depuis quelques temps déjà sur un projet perso, et plusieurs pb me ralentissent. 
Bref, mes questions:

Tout d'abord, ayant débuté javascript il n'y a que quelques mois, j'ai trouvé comme solution (à la fos évidente et simple) à un de mes pb celui d'utiliser des frames. En effet, je dois remplir une frame de droite par rapport à des infos transmises via la frame de gauche (voir mes précédentes questions si nécessaire, mais pas très utiles).La frame de droite contient mon programme, et celle de droite est au départ vierge et je la remplis au fur et à mesure grâce à:

window.parent.frame_droite.document.open();
window.parent.frame_droite.document.writeln("bla bla");
window.parent.frame_droite.document.close();

Cela me convenait bien, mais en me renseignant à droite à gauche, j'ai vu que l'utilisation des frames était de moins en moins conseillée et donc de moins en moins faîte. Ma première question est donc celle-ci:
Hormis les pb de référencement dûs à l'utilisation des frames, quelles sont les causes impliquant la baisse de "popularité" des frames ??
Existe-t-il donc un autre moyen pour moi de pouvoir écrire sur une sorte de frame vierge sans utiliser de frame (notamment avec l'utilisation des pseudo-frames en php, ou autres méthodes avec javascript -ceci étant ma préférence.) ?

De plus, j'ai un autre pb.
Dans le cas d'utilisation des frames, lorsque je clique sur un lien qui rempli la frame vierge avec un fichier html prédéfini:
<a href="fichier.html" target="frame_droite"> Remplir frame droite avec fichier.html </a>

je ne peux plus réécrire sur la frame de droite par la suite, la permission m'est refusée !!

Pour effacer le fichier affiché par le lien, j'ai pensé à plusieurs méthodes:

1) faire un lien sur fichier faisant un history.back() =>
<a href="Javascript:parent.window.history.back();"> Retour </a>,
la page redevient vierge mais pas moyen de réécrire dessus via des infos transmises par frame gauche (Permission Refusée).

2) tenter de changer le contenu de la frame ainsi =>
<a href="javascript:location.innerHTML='';">Retour </a> (2 apostrophes après le inner),
même résultat que prédemment (page vierge puis Permission Refusée).

3)tenter de réécrire directement par dessus le fichier via la frame de gauche comme si elle était vierge => résultat: pas de page vierge du tout et Permission Refusée

4)faire appel à une fonction permettant d'ouvrir et fermer la frame de droite pour ainsi la rendre vierge=>
function rendre_vierge(){
     window.parent.frame_droite.open();  
     window.parent.frame_droite.close();
}
Résultat: la frame de droite ne redevient pas vierge et une pop up vide s'ouvre. Je suppose que je pourrai réécrire sur cette fenêtre vide, mais mon but était qu'elle apparaisse dans la frame de droite et pas du tout en pop up. (idem avec window.parent.frame_droite.document.open()....)

5) ce dernier résultat m'a fait penser à l'idée de faire un lien javascript sur la frame de gauche avec comme target la frame de droite =>
<a href="Javascript:rendre_vierge();" target="frame_droite"> clic pour rendre vierge </a>
Résultat: la frame droite ne redevient pas vierge et Erreur: Objet attendu à  la ligne 1, colonne1 du fichier.html qui remplit la frame droite.

Bref, à part renoncer à faire apparaitre le fichier dans la frame droite, et donc le faire apparaitre en pop up, ou dans une autre frame restant cachée tant qu'on ne la remplit pas et le redevennant quand elle n'est plus utile, je ne vois pas comment faire. (PS: le fichier que je veux faire apparaitre n'est là que pour donner diverses informations, mais je pensais qu'il était plus esthétique et pratique de le faire apparaître dans la frame vierge plutôt que d'en créer une troisième uniquement dans ce but, ou d'ouvrir une pop up).

Si quelqu'un pouvait m'indiquer si ces permissions refusées sont contournables et comment, cela m'aiderait beaucoup.

Merci d'avance, et désolé pour le long post (merci d'avoir lu jusque là)
A bientôt.

Signé Sagat

vendredi 30 novembre 2007 à 13:40:55 | Re : frame et autres problèmes...

bultez

Membre Club


Bonjour,

>>Hormis les pb de référencement dûs à l'utilisation des frames,
>>quelles sont les causes impliquant la baisse de "popularité" des frames ??
    bof... certains "gurus" n'aiment pas
    comme les tableaux par exemple ! et on bataille pour remplacer !
                sans y parvenir totalement et souvent inutilement, à mon humble avis.
    quand au référencement, je pense que le problème est ailleurs !

>><a href="javascript:location.innerHTML='';">Retour </a>
    ah ben oui. innerHTML pour location ? ça ne correspond à rien je crois
       ( ça ne donne pas d'erreurs ? )
    regarde dans la doc les location.??? existants ( href... )

>>faire appel à une fonction permettant d'ouvrir et fermer la frame de
>>droite pour ainsi la rendre vierge=>
    ça se joue au niveau des ???.cols ou ??.rows ="tailles,tailles..." par exemple

    et rendre vierge ? pourquoi faire ?     un novel href remplace....


                Cordialement            Bul         [mon Site]     [M'écrire]
vendredi 30 novembre 2007 à 13:42:48 | Re : frame et autres problèmes...

bultez

Membre Club
il me semble que tu as trop de questions trop vagues pour un seul post...
une question précise ==> une réponse précise ( enfin... parfois )

                Cordialement            Bul         [mon Site]     [M'écrire]
vendredi 30 novembre 2007 à 14:00:20 | Re : frame et autres problèmes...

nickadele

Membre Club Administrateur CodeS-SourceS
Bonjour,

concernant l'utilisation des frames, pour ma part je n'y voit aucune objection et/ou restriction, hormis certains problèmes d'affichage (ex : menu arborescent qui déborde d'une frame).

Concernant ton histoire de permission refusée, ça j'ai jamais vu !
Peut-être est-ce lié à :
window.parent.frame_droite.document.open();
window.parent.frame_droite.document.writeln("bla bla");
window.parent.frame_droite.document.close();


Il n'y a pas besoin de open() ou de close() :
ceci suffit :
parent.frames['frame_droite'].window.location="page.html"
ou
parent.frames[varriable_frame].window.location="page.html"
ou
parent.frames.frame_droite.window.location="page.html"

ou via un lien : <A HREF="page.html" target="frame_droite">Le Lien</A>


Nickadele
----------------------------------------------
non, ma belle ne s'appel pas Adèle
vendredi 30 novembre 2007 à 14:00:32 | Re : frame et autres problèmes...

sagat06

Merci bultez de t'interesser à ce post.

Premièrement il est vrai que j'ai posé beaucoup de questions pour un seul post, je corrigerai cela.

Ensuite oui, un nouvel href remplacerait le fichier html inséré dans frame droite par un autre fichier. Cependant, mon soucis et que justement je construis ce fichier à la volée (remember construction d'un tableau à la volée).
D'où mon besoin de pouvoir rendre vierge la frame droite, car je ne dispose pas de fichier prédefini. (A part sauvegarder le fichier préalablement crée à la volée dans une base de donnée et le rappeler, mais je pense qu'il y aura les mêmes pb de permissions refusée qui se poseront par la suite)

Il y a biensûr d'autre moyen de construire un tableau à la volée, mais cette méthodologie me servira pour autre chose, donc autant résoudre les futurs pb dès maintenant.

>>Pour le innerHTML cela ne donne pas d'erreur, j'ai trouvé cette méthode sur le Net, et hormis le pb de permission refusée elle fait ce que j'en attendais => vider le contenu du fichier inséré dans la frame droite (donc obtenir visuellement une frame de droite vierge). Je me renseignerai sur les location... promis ;-)

>>Pour la fonction ouvrant et fermant la frame: je veux simplement rendre vierge la frame droite sans en changer la taille. En fait, je veux simplement pouvoir réécrire dessus comme si je n'avais pas inséré de fichier dans celle-ci, i-e: comme si j'avais tout simplement continuer à génerer mon tableau à la volée (car tout fonctionne si j'ouvre le fichier par une pop up par exemple)


Merci encore.

Signé Sagat
vendredi 30 novembre 2007 à 14:16:42 | Re : frame et autres problèmes...

bultez

Membre Club

ne passes pas par location...

>>Il n'y a pas besoin de open() ou de close() :
    nick++
>>je veux simplement rendre vierge la frame droite  
    parent.name de la frame.innerHTML='';
    ou pas loin...
    car ( lu sur selfhtml )

    LOCATION :

Propriétés:

vers le bas hash (nom d'ancre à l'intérieur d'une URI)
vers le bas host (nom de domaine à l'intérieur d'une URI)
vers le bas hostname (nom de domaine à l'intérieur d'une URI)
vers le bas href (URI / lien à une URI)
vers le bas pathname (nom de chemin à l'intérieur d'une URI)
vers le bas port (mention du port à l'intérieur d'une URI)
vers le bas protocol (mention du protocole à l'intérieur d'une URI)
vers le bas search ((paramètre à l'intérieur d'une URI)

Méthodes:

vers le bas reload() (recharger)
vers le bas replace() (écraser l'élément de l'historique)



                Cordialement            Bul         [mon Site]     [M'écrire]
vendredi 30 novembre 2007 à 14:17:43 | Re : frame et autres problèmes...

sagat06

Merci nickadele de t'intéresser toi aussi à ce post.

Je vois que l'utilisation des frames n'est pas si déconséillée que cela finalement. Une bonne chose.

Sinon, j'ai bien besoin de open() et close(), car je créé dynamiquement du contenu (un tableau dans mon cas), et je ne dispose pas d'un fichier tout fait puisqu'il varie en fonction de ce qui est indiqué dans la frame gauche. (autre méthode possible, mais méthodologie nécessaire pour autre chose aussi).

je pensais aussi que mon pb étais lié au window.parent.frame_droite.document.open(), etc...

car il semblerait que cette méthode ne permettrait pas de modifier un fichier préexistant (celui affiché par mon lien dans la target désignée), ce qui est embêtant car concrètement je ne veux pas le modifier mais juste l'enlever de la frame de droite...

Signé Sagat
vendredi 30 novembre 2007 à 14:20:54 | Re : frame et autres problèmes...

sagat06

Re-merci bultez,

je testerai cela en fin d'après midi car le temps m'est maintenant compté (j'ai même beaucoup débordé...)

Si d'autres propositions possibles, elles sont évidemment la bienvenue.

Merci encore.

Signé Sagat

vendredi 30 novembre 2007 à 14:35:30 | Re : frame et autres problèmes...

sagat06

En grattant quelques minutes pour vérifier, j'obtiens avec cela ceci:

Dans la frame gauche:
<input type="button" name="candela" value="rendre vierge" onClick="rendre_vierge2();">

avec dans le script:
function rendre_vierge2(){
              parent.frame_droite.innerHTML="";
}

donne: rien ne se produit, pas d'erreur, pas de changement, la frame droite reste telle quellle !!

A ce soir.
Merci

Signé Sagat

vendredi 30 novembre 2007 à 15:01:11 | Re : frame et autres problèmes...

bultez

Membre Club

document et/ou contentWindow + contentDocument  ou je ne sais quoi...

et  :  ou=parent.frames['b'].document;
         ou.open();
         ou.writeln('bla bla');
         ou.close();            ça fonctionne ( enfin...
                                      en local avec EasyPHP, pas testé sur un 'vrai' site )

                Cordialement            Bul         [mon Site]     [M'écrire]

1 2

Cette discussion est classée dans : fichier, frame, droite, frames, vierge


Répondre à ce message

Sujets en rapport avec ce message

enregistrer une frame contenant un doc [ par Frambi ] bonjour j'ai 2 frames : une comporte des boutons, et l'autre comporte un fichier doc générer automatique (en asp).. je voudrais quand cliquant sur un mise a jour de frame [ par bebstylus ] Voila mon Pbj'ai crée des frames ( A & B ) dans un fichier.Dans un autre fichier je crée deux autres frames (C & D) qui en faite decoupe la frame B.je Menu java script et frames [ par Sextus ] Salut à tous,Je suis un web master débutant et je suis confronté à un facheux problème: j'ai configuré un menu en java script dans lequel des sous-me GetElementById dans une autre frame [ par snowteam ] Bonjour,J'ai un petit problème. Je fait un frameset, appelé fs, avec gauche et droite. Dans gauche, j'ai un bouton qui va faire un innerHTML dans un l Menu déroulant et les frames [ par Jos ] Bonjour, Ça fait quelques fois que je recherche, j'ai trouvé quelques pistes sur ce site, mais rien qui n'a pu entièrement satisfaire complètement à envoyer une valeur dans une frame [ par TqX ] Bonjour tout le mondevoila jai une page web a vec 2 frame , une a gauche ou il y a des miniature (récupere en scannan un repertoir) et a droite l'empl frame + javascript vraiment bizarre ! [ par jef_b ] Coucou les gens ! J'ai un petit problème... J'utilise deux frames. L'une contient une applet (frameApplet) et l'autre fait appel à cette applet (fra accès à une sous-frame [ par peter1789 ] Salut ! Je voudrais savoir comment, à partir d'une fenêtre ou d'une frame, accéder à une sous-frame... Je peux facilement accéder au nom de la sous-f Les frames [ par olaaa ] Salut, J'ai une page internet organisée de la facon suivante: Une page principale qui en haut contient des champs de formulaire avec un bouton, et e Accès direct aux rubriques d'un site avec frames [ par coucoucircus ] Bonjour, Voici mon problème : J'utilise deux frames pour un site. La frame du haut contient le menu, et la frame du bas contient le corps de la page.


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,484 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales