Avatar billede farouche Nybegynder
21. september 2001 - 09:14 Der er 21 kommentarer og
2 løsninger

Kommunikation mellem iframe og indlejret side.

Jeg har en Iframe som indlejrer en side lad os kalde denne for Indre.HTML.

Denne Iframe har nogle events, som må kunne trigges fra den indlejrede side
: Indre.HTML.

Er der nogen der har erfaringer med at lave noget som beskrevet ovenfor,
altså at få en Iframe til at reagere på en event der trigges fra den
indlejrede side.


PÅ forhånd tak
Avatar billede nikolajdu Nybegynder
21. september 2001 - 09:20 #1
Hvad vil du trigge??
Avatar billede nikolajdu Nybegynder
21. september 2001 - 09:29 #2
Husk at hvis det er et javaScript i Iframen der skal trigges skal de af sikkerhedshensyn ligge på samme Domæne for at det kan lade sig gøre.
Avatar billede farouche Nybegynder
21. september 2001 - 09:31 #3
Jeg vil egentlig helst selv kunne trigge en event på et button click i Indre.HTML.

Jeg har rodet med onblur som jeg godt kunne få til at virke, men denne event har desværre den uheldige egenskab at vinduet minimeres.
Avatar billede farouche Nybegynder
21. september 2001 - 09:35 #4
Kan man evt. definere sin egen event på sin iframe som kan trigges på en eller anden måde indefra.

Det sjove er jo at udefra er det en Iframe, men indefra er det window
Avatar billede nikolajdu Nybegynder
21. september 2001 - 09:36 #5
Du vil altså trigge en function i hovedviduet fra din Iframe?
Avatar billede farouche Nybegynder
21. september 2001 - 09:48 #6
ja fra den asp side der er indlejret i framen (src siden)

f.eks :

<iframe name=\"if\" id=\"if\" align=\"right\" src=\"../map/windowtest.asp\" height=\"1100\" width=\"550\" Border=\"0\" marginheight=\"0\" marginwidth=\"0\" frameborder=\"0\" Scrolling=\"no\" onblur=\"finish(\'det virker\');\">

og i den indlejrede side :


<input type=\"button\" onclick=\"window.blur();\">


Dette er onblur, og det virker faktisk, men jeg kan desværre ikke bruge onblur, da det minimerer vinduet.
Avatar billede nikolajdu Nybegynder
21. september 2001 - 09:51 #7
Det var sgu da skummelt... :-)

Hvorfor vil du blurre din iframe?
Avatar billede farouche Nybegynder
21. september 2001 - 11:45 #8
det vil jeg da helst heller ikke :o)
, men det er den eneste fælles event mellem window og IFrame som jeg kan få til at virke
Avatar billede roenving Novice
21. september 2001 - 12:27 #9
Men virker iframe ikke som en almindelig frame med events, altså at du kan bruge parent for at få fat i moderframen og du kan bruge top for at få fat i det åbne browservindue, altså f.eks.

<input type=\"button\" onclick=\"top.formFrame.formNavn.submit();\">

I øvrigt er det ikke en god vane at bruge systemord som identifiers, her \'if\' -- undgå det på en hvilken som helst måde.

hth
jes
Avatar billede farouche Nybegynder
21. september 2001 - 12:47 #10
jo det der med parent virker fint nok MEN kun hvis de to sider er placeret på samme domæne ellers kommer den store sikkerhedschef og siger at det må man ikke desværre, men det er vel forståeligt nok.
Avatar billede roenving Novice
21. september 2001 - 12:53 #11
Ja ... ;·|

Sådan er sikkerhedsreglerne ved browser-programmering, og det kan du ikke komme uden om, så må du finde en anden måde at gøre det på ,·[
Avatar billede olebole Juniormester
21. september 2001 - 13:50 #12
<ole>
farouche >> Heldigvis kan du ikke pille ved sider fra andre domæner. Hvorfor vil du dog også det? Hvad skal du lave?
/mvh
</bole>
Avatar billede farouche Nybegynder
21. september 2001 - 14:32 #13
Nej det er nok ikke så let.

Det jeg er igang med er en løsning som indlejrer nogle HTML wizards (Til f.eks brugeroprettelse) fra en anden side, på et andet domæne, i et andet miljø (IIS vs. Apache/Tomcat)

Det der var hensigten var at når denne wizzard var færdigkørt på den indlejrede side, så skulle det være muligt, herfra, at skifte context på hovedsiden, som indlejrer den.

Det vil sige, at man ved et tryk på en knap på siden i IFRamen skal kunne skifte til en ny side uden IFramen, altså skiftet skal ikke ske i selve denne iframe.

Men hvis der er nogen der har en ide til hvordan dette context skift kan foretages på en anden måde vil det være meget velkommen.
Avatar billede roenving Novice
21. september 2001 - 14:36 #14
Så må du overføre variabler via url\'en, som din server kan reagere på:

http://www.ditDomaine.dk/mainPage.html?bruger=B%F8rge

;·]
jes
Avatar billede farouche Nybegynder
21. september 2001 - 14:41 #15
ja men problemet er at hvis dette kald foretages inde i en IFRame så vil http://www.ditDomaine.dk/mainPage.html?bruger=B%F8rge åbne i denne IFrame.

jeg vil helst ikke vil nedlægge min session på den maskine der kører IFramen
Avatar billede roenving Novice
21. september 2001 - 15:14 #16
Jeg ved, der er noget, som hedder \'signed scripting\' som giver mulighed for at køre ting med en anden indgangsvinkel, men hvordan det så virker ... ;-)

Men kunne du ikke gøre det med mindre problemer fra en pop-up ?
Avatar billede olebole Juniormester
21. september 2001 - 15:20 #17
Et sådant certfikat koster ikke under 10-20.000kr, så deeeeeeeet.............  :)
Avatar billede farouche Nybegynder
21. september 2001 - 16:03 #18
Så lykkedes det...
Kort og godt  :

Dette ligger på den indlejrede side  :

<a href=\"http://w2k-aar-privat2/privat/reloaduser.asp?kundenr=<%=session(\"kundenr_f\")%>&target=dine_forsikringer/Forsikring_Anmeldelse.asp\" target=\"_parent\">TEST</a>

Dette betyder at jeg kalder en \"fysisk\" adresse med target som er Parent eller IFramen.

Jeg mister godt nok min session, men sætter den op igen.

Så roenvig får lidt for at bringe mig på rette vej
Avatar billede olebole Juniormester
21. september 2001 - 16:38 #19
Ehhhhhh......har du ikke gang i at sende \'følsomme\' oplysninger med i en URL? Det er da vist risky business  :)
/mvh
Avatar billede farouche Nybegynder
21. september 2001 - 22:35 #20
naaaah ikke rigtig :o)

Det er jo en opvejelse af hvor vigtig denne funktionalitet er kontra hvad man vil overføre.

Jeg smidder jo ikke ligefrem password, eller cpr over
Avatar billede farouche Nybegynder
21. september 2001 - 22:35 #21
men det er vel eneste mulighed
Avatar billede olebole Juniormester
21. september 2001 - 22:59 #22
<form name=\"hidForm\" target=\"_parent\" action=\"http://w2k-aar-privat2/privat/reloaduser.asp\" method=\"post\">
<input type=\"hidden\" name=\"kundenr\" value=\"<%=session(\"kundenr_f\")%\">
<input type=\"hidden\" name=\"target\" value=\"dine_forsikringer/Forsikring_Anmeldelse.asp\">
</form>

<a href=\"java script:document.hidForm.submit();\">TEST</a>

Det er godt nok en meget dårlig idé at have en variabel, der hedder \'target\'. Det vil bl.a. JavaScript meget gerne misforstå. Prøv at give den et andet navn.
/mvh
Avatar billede olebole Juniormester
21. september 2001 - 23:02 #23
Hov....der er en fejl i slutningen af asp-halløjet...der mangler vist en \'>\'
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester