bond_never_die
Messages postés38Date d'inscriptionlundi 16 mai 2005StatutMembreDernière intervention15 janvier 2009 9 sept. 2008 à 22:31
bon, il y a vraiment un problème, mes premiers posts ne fonctionnement jamais !
Enfin bref, je disais :
Salut à tous,
Je suis en train d'essayer de créer un page permettant aux administrateurs d'un site de rajouter des news sur la page d'acceuil. Le problème que je rencontre est lorsque je tente d'ajouter la possibilité pour les admins de mettre des images dans leurs news.
Pour l'instant j'ai ce code :
function image(obj) {
var x=GetDomOffset(document.getElementById(obj), 'offsetTop') ;
var y=GetDomOffset(document.getElementById(obj), 'offsetLeft') ;
if (navigator.appName.indexOf("Internet Explorer") != -1) {
var zone = document.createElement('iframe');
zone.type='text/html';
zone.src='adm/upload.php';
}
else {
var zone = document.createElement('object');
zone.type='text/html';
zone.data='adm/upload.php';
}
zone.id='image';
zone.style.height='300px';
zone.style.width='500px';
zone.style.overflow='auto';
zone.style.display='block';
zone.style.position='absolute';
zone.style.padding='1px';
zone.style.borderTop='1px solid #DCDCDC';
zone.style.borderRight='1px solid #A9A9A9';
zone.style.borderBottom='1px solid #808080';
zone.style.borderLeft='1px solid #A9A9A9';
zone.style.backgroundColor='#FFF';
zone.style.color="#000000";
zone.style.left= (y-165)+'px';
zone.style.top=(x-100)+'px';
car je n'arrive pas à accéder au boutton 'tagbutton' de l'object/iframe créée dynamiquement et contenant une autre page (cf code). Ce boutton devant par la suite retourner la valeur d'un champ (à définir) contenant le nom de l'image qui viens juste d'être uploadée afin de pouvoir l'inclure dans la news.
Ma question est donc : comment accéder aux objets ce cette iframe/object ?
Je ne sais pas si j'ai été suffisament clair, mais n'hésitez pas à me demander des précisions !
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 10 sept. 2008 à 10:58
bonjour,
window.parent.frames['iframe'].tous les éléments de l'iframe
depuis les autres iframe ou depuis la page mère ( dans ce cas parent est inutile mais fonctionne )
( néanmoins uniquement si la page l'est depuis le même domanie )
bond_never_die
Messages postés38Date d'inscriptionlundi 16 mai 2005StatutMembreDernière intervention15 janvier 2009 10 sept. 2008 à 11:38
Hé bien en fait, je sais que mon message est illisible mais en fait je fait ça :
if (navigator.appName.indexOf("Internet Explorer") != -1) {
var zone = document.createElement('iframe');
zone.type='text/html';
zone.src='adm/upload.php';
} else {
var zone = document.createElement('object');
zone.type='text/html';
zone.data='adm/upload.php';
}
zone.id='image';
En gros si le client est IE je crée une iframe, sinon un object (il me semble que c'est mieux après peut-être que je me trompe mais object me semble plus fexible...)
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 10 sept. 2008 à 14:23
>>En gros si le client est IE je crée une iframe, sinon un object
quelle drôle d'idée ?
l'un et l'autre fonctionne avec tous les navigateurs
et non pas du tout la même utilisation.
>>'window.frames.image.document
euh... c'est tu veux faire quoi là ?
windows.frames['name de la frame'].... les élements de la page dans l'iframe
comme si c'était dans la page même au fond.
windows.images.document... ça ne fonctionne pas non plus ça !
bond_never_die
Messages postés38Date d'inscriptionlundi 16 mai 2005StatutMembreDernière intervention15 janvier 2009 10 sept. 2008 à 16:29
>>quelle drôle d'idée ?
>>l'un et l'autre fonctionne avec tous les navigateurs
>>et non pas du tout la même utilisation.
Hé bien en fait, à la base je voulais mettre des object partout (dues au fait que iframe n'existe pas en xhtml 1.0 strict) mais il m'est apparu que ceux ci n'était pas forcément très bien supportés par IE, voir carrément très mal...
>>'window.frames.image.document
ça c'est que la console d'erreur de IE me dit, moi en fait j'ai écrit :
Et sous IE plus ou moins la même chose. Note au passage que j'ai bien écrit window.frames['toto'].document... et non window.frames.image.document comme l'indique le message d'erreur...
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 11 sept. 2008 à 08:27
euh... mon exemple fonctionne pourtant...
pas de raison....
( ça ne vient même pas du name "image" qui me gênait... j'ai essayé )
l'erreur est provoquée par je ne sais quoi ? ailleurs ? par autre chose ?
peut-on voir ça quelque part ?
Cordialement Bul [mon Site] [M'écrire], <!--
bond_never_die
Messages postés38Date d'inscriptionlundi 16 mai 2005StatutMembreDernière intervention15 janvier 2009 11 sept. 2008 à 20:10
Merci de ton aide mais finalement j'ai résolu mon problème autrement : j'enregistre le nom de l'image dans un cookie que je récupère ensuite via XmlHttpRequest pour l'ajouter dans ma zone de text. C'est peut-être un peu tordu mais ça marche, c'est l'essentiel :)
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 12 sept. 2008 à 09:37
vaut-il mieux comprendre sans résoudre ou résoudre sans comprendre ?
sûr que l'essentiel c'est que ça baigne,
et l'essentiel, c'est le principal
j'eusse néanmoins aimé comprendre... tant pis