Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/04/2011, 18h49   #1
Membre habitué
 
Inscription : janvier 2007
Messages : 225
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : janvier 2007
Messages : 225
Points : 115
Points : 115
Envoyer un message via MSN à laurentg2003
Par défaut Iframe et appel de méthode

Bonjour,
J'ai une iframe dans une page index
dans cette iframe
j'appelle une classe de la page index : la page parent donc
Code :
var oObjet= new window.parent.maClasse();
et la classe que j'appelle (c'est un modèle...)
Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
function maClasse(){
 
this.maMethode=function(){
 
 
 
}
 
 
 
}
donc un objet maClasse est bien créé mais impossible
ensuite d'appeller une méthode de ma classe
genre
oMaClasse.windows.parent.maMethode();
ou windows.parent.oMaClasse.maMethode();
Quelle est la syntaxe à utiliser svp
Merci
__________________
"Il n'existe que deux choses infinies, l'univers et la bêtise humaine... mais pour l'univers, je n'ai pas de certitude absolue." (Albert Einstein / 1879-1955)
laurentg2003 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2011, 19h11   #2
Membre expérimenté
 
Avatar de nadox
 
Homme
Développeur
Inscription : février 2010
Messages : 360
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Calvados (Basse Normandie)

Informations professionnelles :
Activité : Développeur
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : février 2010
Messages : 360
Points : 545
Points : 545
Bonjour,

Si l'objet est correctement instancié, tu ne devrais plus avoir besoin de le manipuler avec "window.parent"
Donc la syntaxe devrait simplement être :
nadox est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2011, 20h07   #3
Membre habitué
 
Inscription : janvier 2007
Messages : 225
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : janvier 2007
Messages : 225
Points : 115
Points : 115
Envoyer un message via MSN à laurentg2003
exact et merci j'avais déjà essayé cette syntaxe en 1er mais j'avais une erreur
ReferenceError et le code fautif c'etait juste ça
Code :
1
2
3
4
this.loadImages=function(i,nbItem){ 
 
this.i=i;
this.nbItem=Item;
et pas nbItem
voici ma classe je vais enlever les closures

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
function Load(){
 
this.i=null;
this.nbItem=null;
 
 
 
 
 
this.loadImages=function(i,nbItem){ 
 
this.i=i;
this.nbItem=nbItem;
 
if(this.i){
 
 
if(this.i==this.nbItem){
var oEl=document.getElementById("loadImages");
oEl.removeChild(oEl.firstChild);
}
else
{
document.getElementById("showMessageLoadImages").innerHTML="<p>Pictures are loaded!</p>";
 
oIframe=document.createElement("iframe");
oIframe.setAttribute('frameBorder', '0'); 
oIframe.setAttribute('scrolling','auto');
oIframe.setAttribute("src","http://www.webcreation-lg.fr/wta-ranking/app.php");
oIframe.setAttribute("width","100%");
oIframe.setAttribute("height","100%");
oIframe.setAttribute("id","idIframeApp");
var loadIframe=document.getElementById("loadIframe");
loadIframe.appendChild(oIframe);
 
var oEl=document.getElementById("loadImages");
oEl.removeChild(oEl.firstChild);
// A mettre dans this.loadIframe();
/*
oIframeImg=document.createElement("iframe");
oIframeImg.setAttribute("width","400");
oIframeImg.setAttribute("height","10");
oIframeImg.setAttribute('scrolling','no'); 
oIframeImg.setAttribute("id","idFrameLoadImages");
oIframeImg.setAttribute('frameBorder','0'); 
oIframeImg.setAttribute('src','http://www.webcreation-lg.fr/wta-ranking/load-images.php?min='+this.i+'&max='+this.nbItem+'');
var loadImages=document.getElementById("loadImages");
loadImages.appendChild(oIframeImg);
*/
}
}
}
 
this.loadApp=function(){
 
 
 
document.getElementById("showMessageLoadIframe").innerHTML="<p>To find wta players quickly : click on the search button!</p>";
document.getElementById("showMessageLoadImages").innerHTML="";
var HTMLDivElem=document.getElementById("showMessageLoadIframe");
document.getElementById("loadIframe").style.display="block";
 
//wta-ranking.php
/*
oIframeWr=document.createElement("iframe");
oIframeWr.setAttribute("width","0");
oIframeWr.setAttribute("height","0");
oIframeWr.setAttribute("scrolling","no");
oIframeWr.setAttribute("src","http://www.webcreation-lg.fr/wta-ranking/wta-ranking.php");
oIframeWr.setAttribute("id","iframeWtaRanking");
oIframeWr.setAttribute("frameBorder","0");
 
HTMLDivElem.appendChild(oIframeWr);
*/
/*
//googleAdSense.php
oIframeGoogle=document.getElementById("loadIframeGoogle");
oIframeGg=document.createElement("iframe");
oIframeGg.setAttribute("width","100");
oIframeGg.setAttribute("height","500");
oIframeGg.setAttribute("scrolling","no");
oIframeGg.setAttribute("src","http://www.webcreation-lg.fr/wta-ranking/googleAdSense.php");
oIframeGg.setAttribute("id","iframeGoogleAdSense");
oIframeGg.setAttribute("frameBorder","1");
//HTMLDivElem.replaceChild(oIframeGg,HTMLDivElem.firstChild);
//oIframeGoogle.appendChild(oIframeGg);
*/
 
}
 
}
sinon comment acceder à l'iframe avec contentWindow
j'arrive à acceder à une variable genre NoeudMonIframe.contentWindow.value
mais pas NoeudMonIframe.contentWindow.uneFonction !
__________________
"Il n'existe que deux choses infinies, l'univers et la bêtise humaine... mais pour l'univers, je n'ai pas de certitude absolue." (Albert Einstein / 1879-1955)
laurentg2003 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h19.


 
 
 
 
Partenaires

Hébergement Web