Jeg har et mindre problem som jeg ikke synes at kunne få til at virke. og der kan være en logisk forklaring og der kan også være at det er mig som laver ged i den.
jeg har forsøgt at lede efter en løsning her på eksperten, men jeg har pt ikke kunne finde noget som virker.
mit problem er at jeg har et <frameset> hvor der er menu [som hedder, "FrameMenu"] og et indholds vindue [som hedder, "FrameMain"]. (simple opbygning)
i mit indholds vindue har jeg på nogen sider som bruger iframes, og det virker jo også ganske fint. mit problem opstår imidlertid når jeg i min iframe [som hedder, "Iframe_window"] som åbner et popup vindue. ved nedlukning af popup, skal "Iframe_window" opdateres (og ikke andet)
Hidtil har jeg ikke engang kunne få den til at opdatere, lige meget hvilken løsning jeg har fundet her på eksperten og i mine bøger. så derfor søger jeg nu jeres hjælp for at finde en løsning. (det haster lidt)
Jeg har på fornemmelsen at den ikke vil opdatere Iframen fordi at den er inde i en frame i forvejen, men jeg er sikker på at der er en løsning.
Jeg ville gerne kunne smide et link, men det ligger internet på et intranet, så den del er lidt besværlig..
jeg kan forsøge at forklare strukturen: (håber det er overskueligt)
----------------------------------------- Hoved side (Frameset) .| .|- Menuen (FrameMenu) .| .|- Tekst indhold (FrameMain) .....|- Tabeller med Iframe (Iframe_window) ........|-: Popup
Jeg kan fra menuen lave target på Iframen, og jeg kan også fra [FrameMain] lave target på Iframen, men så snart jeg laver en popup.
Som åbner via en java function. <a href="#" onClick="window.open('file_edit.asp?idstring=<%= DBQ_data("id") %>', 'Edit_window', 'width=300,height=270'); return false;">LINK</A>
den åbner et vindue, som har informationerne man kan ændre, når jeg trykker på Update skulle den gerne kunne lukke vinduet og opdatere hoved vinduet (i dette tilfælde <iframe> ) -----------------------------------------
Men jeg har prøvet at lave <Script> tags omkring, smide dem i onLoad, OnUnload, sågar, i Onblur bare for at se om der overhovedet sketet noget, men intet af det virkede, jeg prøvede også jeres forslag, forslag som jeg selv synes ser logiske nok ud til at ville kunne virke, og ja jf. biblen så ville det være rigtig nok, men det virker bare stadig ikke.
så enten så laver jeg et eller andet forkert eller også prøver jeg på noget man ikke kan, men jeg kan bare ikke lige sætte fingeren på hvad huuulen det skulle være..
prøv at åbne dit vindue med status baren slået til, hvis du har lavet et almindeligt popup vindue uden status baren kan du ikke se eventuelle javascript fejl .
Jeg har tilføjet et ID til min iframe: <iframe src="Iframe_window.asp" width="100%" height="100%" id="Iframe_window" scrolling="yes" marginheight="0" marginwidth="0" vspace="0" name="Iframe_window" frameborder="0"></iframe>
men jeg kan stadig ikke få den til at gøre noget som helst.. det er efterhånden så mystisk er jeg overvejere at finde en anden løsning, men hvordan ved jeg ikke lige...
nej... ingen fejl, den køre uden synlige fejl i hvertfald..
jeg kan ikke se den laver noget andet end det den skal, eller rettere den gør bare ingen ting.. den åbner popup, jeg trykker submit, og den lukker vinduet ned efter 5 sek. (for at sikre at informationen er gemt)
når det er på et lokalnet, er du så sikker på at den ikke bare reloader så hurtigt at du ikke ser det ? istedet for reload så prøv at sætte urlen til noget helt andet. f.eks google.com
Hmm jeg kan slet ikke få det her skidt til at virke... det er små frustrerende !!
Jeg har prøvet alle jeres løsnings forslag, og intet synes at ville bide kød af... og jeg sidde selv med javaBiblen i min hånd med ansigtet mod Cleaveland for at finde en løsning, men den synes bare at ikke at bide i.
jeg ville ønske jeg kunne smide jer koden så i ville kunne se den, men det er desværre ikke muligt. (pt. )
jeg har prøvet at smide jeres linjer alle mulige steder i filen, og på alle mulige områder, med og uden ; og jeg ved ikke hvad.
Må jeg gætte på, dit iframe dokument har været opdateret, efter popUp'en bliver lukket? Er det tilfældet, har du dermed mistet dit opener-object!
Løsning: Læg din opener-funktion op i head-elementet i dit yderste frameset og kald fra iframe'en med: top.FUNKTIONSNAVN();
Så beholder du dit opener-object - med mindre du opdaterer hele framesettet. Du skal så bruge den pågældende frames-sti mellem 'opener' og 'location.reload()': opener.mainFrame.IFRAMENAVN.location.reload(); (Håber, det er den rigtige sti - ellers må du rette den til)
Olebole: det lyder logisk nok, jeg tror jeg kan se problemet, men jeg er ikke sikker på hvordan det skal løses...
jeg har i mit frameset, i sin egen frame forneden, et javascript ur som ticker hvert sekund, jeg er et eller andet sted sikker på at det er det som måske fjerne focus fra min Iframe, men hvordan det skal omvendes kan jeg ikke lige overskue.
ej heller er jeg helt med på hvad det er du mener med at den skal stå i mit head element i yderste frameset.
selve den side der indeholder framesettet har et head tag <html> <head> <!-- DET HER --> </head> <frameset> ... </frameset> </html> hvor du kan ligge et script <head> <script type="text/javascript"> function doThis() { alert("Did it!"); } </script> </head> dette script kan du nu kalde OVERALT i de forskellige (i)frames som top.doThis();
den vil simpelthen bare ikke noget, jeg må nok sige tak til jer alle, og sige at i gjorde et godt stykke arbejde, vi fik det ikke til at virke, men i gad i det mindste bruge tid på at svare.
jeg ved ikke lige hvilken løsning jeg skal vælge nu. jeg kan ikke lige se hvad som kan gøres.
men hvis i stadig har nogle forslag tilbage så er jeg åben for forslag.
jeg tror der er 2 ting som gør at den ikke vil. 1) at javascript uret fjerne focus fra "opener" 2) jeg tror at Iframe i et frameset gør at den ikke vil (eller også referer jeg til den forkert)
jeg har prøvet: 1) at smide grunkens/oleboles forslag, i headeren, i frameset, Iframe siden, popuppen, men uden resultat. 2) jeg har prøvet at lave en onsubmit, onclick, onLoad, Onunload -function flere forskellige måder unde resultat. 3) jeg har prøvet at referere til en anden side, eller åbne i en anden frame (uden resultat) 4) jeg har prøvet at lave forskellige ting for at få den til at virke. function Updatepage(page) { top.Iframe_window.location=page; } OnLoad="Updatepage('pagetoload.asp');" - og - onUnLoad="parent.Iframe_window.reload();" - og - self.opener.document.frames("Iframe_window").reload(true); - og - opener.getElementById("Iframe_window").reload() - og - <a HREF="main.asp" TARGET="Iframe_window">TEST FRAME</a> Jeg testede til sidst med et alm' link om jeg kunne refere fra popuppen, til "Iframe_window" og sjovt nok, så virkede det rent faktisk!!, så hvor javascripted misteder forbindelsen ved jeg ikke.
Jeg er totalt forvirret over at den ikke vil, jeg har gennemrodet JAvaScript biblen for en løsning, men jeg synes den blot gør det hele mere forvirrende.
Du _skal_ skrive 'location.reload(true)' ... 'location' er et must. Der er intet, der kan 'fjerne fokus fra opener'.
Ligger siderne under forskellige domæner, kan siden ikke reloades med JavaScript. Jeg tror, du bliver nødt til at lægge en URL, hvis vi skal komme videre. Der bør absolut ikke være problemer i det her - hvis altså alle sider ligger under samme domæne :) /mvh
hmm det bliver lidt svært at lave "working copy" jeg kan smide ud et sted, men jeg ser lige om jeg ikke kan lave en udgave til et sted (skulle ikke undre mig at den så vil virke der.
olebole:, jeg husker at skrive Location.reload(true), den inkludere bare ikke noget efter location i fejl meddelsen.
som sagt jeg vil se om jeg kan brygge en online udgave, da jeg godt kan se problemmatikken i at i ikke kan se hvad det er som laver fejlen. eller hvordan det er opbygget.
http://www.digitalpoetry.dk/test/ (jeg har fjernet all css formatering så det ser lidt skrabet ud, men det går nok, det er jo ikke det som giver fejlen)
Selv i den klippede/sniplede udgave laver den bøwl.. =) (heldigvis det samme bøwl, men stadig bøwl =)
Jamen, du gør jo slet ikke, som vi har foreslået :)
I dit frameset-dokument, skriver du funktionen her:
<script language="javascript"> if (window.parent.frames.length > 0) top.location.href = window.location.href;
function myOpen() { window.open('popup.asp', 'Editpage', 'width=300,height=270,resize=yes,status=yes'); } </script>
Nu kan du på den knap/link, der skal åbne vinduet kalde med: onclick="top.myOpen()";
Så kan du kalde framesettet fra popUp'en med 'opener' og styre ned igennem frames-hierakiet: <button onclick="opener.FrameMain.Iframe_window.location.reload(true)">TEST</button>
jeg må hellere rense øjnene eller noget, men det ser sku' ud til at virke nu, det er bare totalt lækkert, jeg har nok misforstået et par emner rundt omkring.
hvis det var muligt skulle i sku' alle ha en bid point, men jeg må nok sige at Olebole var den som kom med "lyset" i mit selvvalgte mørke! =)
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.