David78390
Messages postés197Date d'inscriptionjeudi 27 avril 2006StatutMembreDernière intervention10 juillet 2011
-
1 juin 2006 à 09:26
francemarieanna
Messages postés12Date d'inscriptionmardi 11 juillet 2006StatutMembreDernière intervention 5 décembre 2006
-
2 déc. 2006 à 19:17
Bonjour a tous, j'ai un big probleme:
Pour mon site, j'ais du passé ma page index.html en index.hta
(afin que ce soit vu comme un executable)
Dans mes javascript, je fait appel à une fonction qui me permet de modifier la taille de mes frames et leur contenu :
La fonction marche bien tant que ma page index est en .html
Mais j'ai l'erreur suivante quand je la passe en .hta:
'parents.frames.principale' à la valeur NULL ou n'est pas un objet
Donc comment fait-on pour le referencement des frames. J'ai du mer*er quelque part, mais je ne voit pas ou.
et la page portail.html:
<HTML>
<HEAD>
<TITLE>Portail</TITLE>
<script language="JavaScript">
function ModifieTailleFrame (taille,url1,target1,url2,target2,url3,target3)
{
/*modifier la taille des frames*/
parent.frames['principale'].cols=taille;
/*actualiser les frames avec les pages et la langue*/
parent.frames.document.getElementById(target1).src=url1;
parent.frames.document.getElementById(target2).src=url2;
parent.frames.document.getElementById(target3).src=url3;
}
</script>
</HEAD>
Ceci est la page portail.html placé dans la frame p_un
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 1 juin 2006 à 10:00
bonjour,
les frames font partie de la page,
donc un .htm peut faire
parent.frames['principale'].cols=taille;
lancer un .hta, c'est comme lancer un programme indépendant de
la page actuelle, il ne la connait plus, il est "en dehors" de la page
qui l'a lancé, il ne peut plus y faire référence.
pour faire un parallèle, si au lieu de lancer un .hta, on lançait
nodepad, comment celui-ci pourrait-il "atteindre" la page htm
qui l'a lancé ?
c'est bizarre d'ailleurs de faire comme ça ? à chaque fois, le
navigateur va proposer de télécharger ou d'exécuter ce .hta !
David78390
Messages postés197Date d'inscriptionjeudi 27 avril 2006StatutMembreDernière intervention10 juillet 2011 1 juin 2006 à 11:04
c'est ce que je craignais car quand je faisais alert(parent.frames.name);
il me ressortait toujours p_un et je n'ai jamais reussit a avoir p_deux ou p_trois.
il y a quand meme quelque chose de bizard
car page1.html apparait bien dans p_un (il reconnait bien le target), mais page2.html se lance dans une nouvelle fenetre (qui prend comme reference p_deux), et page3.html se lance dans une nouvelle fenetre (qui prend comme reference p_trois)
1-D'apres ce que tu me dis si je fait un .hta, il ne faut pas avoir de frame.
2-comment faire pour que le navigateur ne propose pas de télécharger ou d'exécuter ce .hta ! (depuis le debut je faisais mes test sur le DD du PC, mais je vient de la graver et un autorun, et le message apparait)
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 1 juin 2006 à 11:19
>>D'apres ce que tu me dis si je fait un .hta, il ne faut pas avoir de frame.
exactement le contraire...
si dans une frame, s'il y a un .hta, il sera chargé de manière
indépendante de la page initiale.
je ne pense pas (?) qu'un hta interdise les frames.
>>pour que le navigateur ne propose pas de télécharger ou d'exécuter ce .hta
impossible sur la toile, c'est comme un exécutable, et pour des problèmes
de sécurité, il vaut mieux ( hélas )
>>mes test sur le DD du PC, mais je vient de la graver et un autorun, et le message apparait)
normalement, c'est la même chose. disque dur ou cd/dvdrom,
le problème n'est pas là
autorun d'un .hta ===> pas de message.
htm qui lance un .hta ===> message
David78390
Messages postés197Date d'inscriptionjeudi 27 avril 2006StatutMembreDernière intervention10 juillet 2011 1 juin 2006 à 11:37
>>impossible sur la toile,...
non sera sur un CD-ROM pour la presentation de produits.
>>autorun d'un .hta ===> pas de message.
j'ai peut-etre une con***ie sur mon autorun alors:
[AutoRun]
open=explorer index.hta
icon=dms.ico
P.S: serais-tu assez sympa pour faire l'essai (sans autorun pour le moment; je ne voudrais pas te faire un CD pour rien) avec les sources que j'ai mis en haut STP
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 1 juin 2006 à 11:54
Ce n'est pas index.hta qui donne le message,
mais portail.hta je pense, non ?
Essayer de ne pas charger un .hta dans une frame
il ne devrait pas y avoir de messages.
Si c'est la cas, il faut donc voir les choses
autrement... ( si dans un .hta une frame
d'un .hta provoque un message, ce sera
difficile de l'empêcher )
David78390
Messages postés197Date d'inscriptionjeudi 27 avril 2006StatutMembreDernière intervention10 juillet 2011 1 juin 2006 à 12:41
>>Ce n'est pas index.hta qui donne le message, mais portail.hta je pense, non ?
L'erreur 'parents.frames.principale' à la valeur NULL ou n'est pas un objet
vient en effet de portail mais il est bien en .HTML
Mon prb original était : Autoriser le contenu actif des CD (qui a pour effet de bloquer le javascript)
Tu m'avait donné l'idée du .hta (meme si j'avais eu du mal a comprendre)
J'en ai donc conclu qu'il était possible de faire index.hta avec des frames qui font appel a des pages en .html
Mais mantenant ma fonction qui marchait correctement, ne marche plus puisque je me peut plus d'accéder au parametres des autres frames (comme tu me l'as dit plus haut).
J'ai l'impression d'etre le serpent qui se mort la queue.
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 1 juin 2006 à 14:33
>>Mon prb original était : Autoriser le contenu actif des CD
je me souviens...
>>J'ai l'impression d'etre le serpent qui se mort la queue.
parce que tu es très souple, ce qui n'est pas mon cas... et pourtant j'y arrive !
( comprenne qui veut )
je me cite : il faut donc voir les choses autrement
°°°° si un .htm ( ou .hta ? ) dans une frame !!!
( si "pas dans une frame" c'est possible !!! )
fait appel à un .hta ==> message télécharger ou exécuter
°°°° si un .hta fait appel à un .htm, bien entendu parent.frames['principale']
n'existe pas dans ce .htm
°°°° si tout est en .htm, les messages d'autorisation sont insurmontables
car paramétrage dans le navigateur.
David78390
Messages postés197Date d'inscriptionjeudi 27 avril 2006StatutMembreDernière intervention10 juillet 2011 1 juin 2006 à 14:39
Donc en conclusion un hta constitué de frames
pourra placer pageX.html dans sa propre frame (ici p_un)
ne pourra jamais placer pageX.html dans une d'autre frame (p_deux ou p_trois)
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 1 juin 2006 à 15:04
pas compris...
c'est quoi sa propre frame ?
si,si... il peut avoir des frames avec des .htm
( ces htm peuvent-ils accéder à parent... ? à tester, je doute ? )
mais placer pageX.htm dans une autre frame ? pas compris non plus
David78390
Messages postés197Date d'inscriptionjeudi 27 avril 2006StatutMembreDernière intervention10 juillet 2011 1 juin 2006 à 16:31
J'ai fait un essai en mettant des window.open(urlX,targetX);
au lieu des parent.frames.document.getElementById(target1).src=url1;
et <frameset id="principale" name="principale" cols="33%,33%,33%" >
Et voila ce qui c'est passé
en gros la page index.HTA est comme ca:
|----------------------------------------------------------------------------|
|1er frame nomé p_un | 2eme frame nomé p_deux | 3eme frame nomé p_trois |
| affiche portail.html | n'affiche rien | n'affiche rien |
| | | |
-----------------------------------------------------------------------------
portail comporte un lien devrait faire ca: (ca marche si c'est index.HTML)
|----------------------------------------------------------------------------|
|1er frame nomé p_un | 2eme frame nomé p_deux | 3eme frame nomé p_trois |
| affiche page1.html | affiche page2.html | affiche page3.html |
| | | |
-----------------------------------------------------------------------------
mais qui en vrai me fait ca: (en index.hta)
|-----------------------------------------------------------------------------|
|1er frame nomé p_un | 2eme frame nomé p_deux | 3eme frame nomé p_trois |
| affiche page1.html | rien ne se passe | rien ne se passe |
| | | |
------------------------------------------------------------------------------
et ouvre 2 autres fenetres, la 1er affiche page2.html, et la seconde page3.html
Donc si on est avec index.html, on peut acceder à parent.frames p_un, p_deux ou p_trois comme on veut, et y placer la page de notre choix.
Si on est en index.hta, on ne peut acceder qu'à parent.frames p_un pour mettre la page que l'on veut; c.a.d la ou est le lien (ce que j'ai appelé "sa propre frame").
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 5 sept. 2006 à 14:20
c'est très sympa de nous donner la réponse.
je n'avais pas tout compris... mais comme je
suis loin
d'être sûr d'avoir su répondre...
nickel si ça baigne !
<hr />
cordialement Bul SiteM'écrire
francemarieanna
Messages postés12Date d'inscriptionmardi 11 juillet 2006StatutMembreDernière intervention 5 décembre 2006 28 nov. 2006 à 04:31
Bonjour,
A vous lire je me dis qu'il est imposible de lancer un hta à partir d'un fichier html sans avoir un message demandant si je veux exécuter ou enregistrer le fichier hta?
Mais est-il possible de ne pas avoir ce message? et que l'application du fichier hta se lance automatiquement, ou même avoir un message d'exécution mais pas d'enregistrement?