30. marts 2000 - 10:24Der er
15 kommentarer og 1 løsning
Problem:New window og Netscape
På min site åbner man flere gange et nyt browser-vindue. Jeg bruger (under <head>): <script language="JavaScript"> <!-- function MM_openBrWindow(theURL,winName,features) { //v2.0 window.open(theURL,winName,features); } //--> </script>
og senere: <a href="#" onClick="MM_openBrWindow('side1.htm','','width=200,height=100')"> </a>
Dette virker fint i IE, men i Netscape fungerer denne funktion blot som Go To URL. Dvs at det er hoved-siden der bliver skiftet ud, istedet for at åbne et nyt vindue med dette indhold i. Hvad gør jeg??
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
>>erikjacobsen dit script er fuldstændig magen til mit, og du har ret - det virker - både i IE og Netscape MEN - jeg har lige tjekket min side, og omformulerer derfor mit spørgsmål lidt: jeg har en startside, hvor man kan vælge mellem html eller flash-version. Hver af disse valg vil åbne i et nyt vindue (der resizer sig til hele vinduet) - DET VAR ALTSÅ FØRSTE NYE VINDUE. Fra HTML-siden er der så mulighed for at åbne et nyt vindue (et billede fx)-DET VAR SÅ ANDET NYE VINDUE. Og der har vi problemet. Netscape kan åbenbart ikke håndtere at åbne et nyt browser-vindue fra et nyt browser-vindue.... eller hva'??
Hør nu her Jeg tror ikke vi kommere specielt nærmere løsningen på problemet, ved at du ser min kode. Prøv istedet at: Lav 3 html-filer 1:index 2:popup1 3:popup2
index indeholder et link som åbner nyt vindue (=popup1)
popup1 indeholder et link som åbner nyt vindue (=popup2)
Test disse i IE og du vil stå med index-siden + 2 nye vinduer
Test dette i Netscape, og du vil stå med index-siden + 1 nyt vindue. (popup1 skiftes her bare ud med popup2)
Det kan du jo - i princippet - have ret i, for jeg glemmer jo at Netscape mestendels overholder standarderne.
Hvis vinduerne hedder det samme, f.eks. det intet (den tomme streng), så må de jo gerne åbnes i samme vindue. Kald dem noget forskelligt, og det kører bare derudaf. Se lige her:
Jeg har netop testet din test i Netscape, og det virker jo. Vil du ikke forklare din fremgangsmåde lidt tydeligere - fx vil jeg godt vide hvad du mener med "det intet (den tomme streng)" : )
;-) Dårlig formulering... Den anden parameter til window.open er vinduets navn. Man kan tit nøjes med at sætte den til den tomme streng (altså ''''), men man kan også give den et eksplicit navn. I eksemplet i URL-en ovenfor hedder vinduerne (vistnok) 'xxx', 'yyy' og 'zzz'. Når de har forskellige navne, vil de også være forskellige på skærmen.
<ole> Der, hvor du skriver 'winName', er det sted man kan angive et navn på det nye vindue. Hvis du én gang har åbnet et vindue, du kalder 'Ib' - og du derefter prøver at åbne et nyt vindue, som også hedder 'Ib', bliver browseren 'forvirret' og tror, du vil loade dokumentet i det vindue, der i forvejen er åbent - og hedder 'Ib'. Du kalder dem ikke 'Ib', men 'ingenting' - idet du ikke angiver et navn. Det andet vindue, du vil åbne hedder altså det samme 'ingenting', som det første - og browseren loader det nye dokument i det vindue, der hedder 'ingenting'.
Man kan sige, at en standard window.open, er en funktion, hvor du beder browseren loade et bestemt dokument i et vindue med et bestemt navn. Browseren vil da lede efter et vindue med det navn og loade dokumentet i det. Findes dette vindue ikke, åbnes et nyt vindue efter de specifikationer, der er givet i funktionen.
Da du kan kalde viduer ved deres navn, ville der gå ganske ged i disse kald, hvis viduer måtte have navne, der ikke er unikke. Derfor er standarden lavet sådan...og NetScape overholder NETOP standarden, fordi de er fornuftige mennesker, der ved, at før eller siden er der én eller anden, der prøver at åbne to vinduer med samme navn ;-) Han ville så - hvis NS IKKE overholdt standarden - løbe panden mod en mur, hvis han f.eks. prøvede at loade et nyt dokument i et vinduerne, ved at kalde det ved navn fra opener-vinduet.
Jaahh...jeg synes da, det er meget rimeligt, man giver de points, man udlover for et godt svar ;-) Det er nemt at glemme et spørgsmål, man har stillet - så en lille stlfærdig 'teaser' er vel ikke af vejen. Det plejer at hjælpe...Hehe!
Og så skal du jo op og give cyberesben 'tæsk', ikke?...LOL
/Peace olebole
Synes godt om
Ny brugerNybegynder
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.