Avatar billede margitbork Nybegynder
01. juli 2004 - 14:21 Der er 8 kommentarer og
1 løsning

åbning af ekstra vindue når mit site tilgås via citrix

Jeg har et lille problem med at der åbnes en ekstra side når mit site tilgås via citrix.
Mit site åbnes på den måde at man kommer ind på en side som blot via javascript åbner en ny side, uden knapper og alt det ral, og derefter submittes min form over i denne nye side.
Men når det tilgås gennem en citrix adgang kan den ikke finde ud af at submitte over i den side jeg har åbnet. Jeg har fundet følgende på nettet, men ved ikke lige hvordan jeg anvender punkt 3 <i>(3) When creating a new IE Window, set the WindowName variable.</i>

Symptom

The following issue can occur with RDP or ICA on TSE 4.0, Windows 2000 TS, or Windows 2003 TS.

When running Internet Explorer 5.x, or 6.x as an RDP or ICA Initial program, or as an ICA Seamless or non-Seamless Published application, that has a URL to update another Internet Explorer Window, you may experience an issue where extra Internet Explorer windows are opened, or if another Internet Explorer Window was already open and it was the intended target of the URL.

Resolution

This is a design of IE, Internet Explorer. See Microsoft TechNet Article Q321477.

In order to enumerate through its open windows, IE (in particular the HTML rendering engine, MSHTML) needs to obtain a reference to the IShellWindows interface, which represents the running instance of the shell. IE attempts to locate the shell object in the Windows' Running Object Table (ROT).

If the shell is not running, IE has no way of finding named windows.

Possible workarounds:

(1) Run Internet Explorer in a session where Explorer is running.

(2) Write an ActiveX Control or Browser Helper Object (BHO) in C++ that intercepts FORM submissions and redirects them to the appropriate window. This C++ object could enumerate through the Win32 Window Handles to the IE windows to find the window it needs.

(3) When creating a new IE Window, set the WindowName variable.

Jeg ved ikke om dette er den rette kategori men håber der er nogle der kan hjælpe mig
Margit
Avatar billede margitbork Nybegynder
01. juli 2004 - 14:22 #1
Hvis det kan hjælpe så ser min kode ud som følger:

    var win = window.open('', winname, windowProperties);
    win.resizeTo(width, height);
    win.focus();

    document.DispatcherFormNewBrowserWindow.target = winname;
    document.DispatcherFormNewBrowserWindow.submit();
Avatar billede roenving Novice
01. juli 2004 - 14:35 #2
Lyder som om du skal gå baglæns:

var win = window.open('', winname, windowProperties);
    win.resizeTo(width, height);

    document.DispatcherFormNewBrowserWindow.target = winname;

    txt = "<scr"+"ipt type='text/javascript'>opener.document.DispatcherFormNewBrowserWindow.submit();<\57scr"+"ipt>"
    win.document.write(txt);
    win.document.close()
    win.focus();

-- jeg har ikke lige prøvet den så simpelt, men hvis ikke det virker, må du jo vende tilbage !-)
Avatar billede margitbork Nybegynder
01. juli 2004 - 14:47 #3
Det åbner i hvert fald vinduet helt almindeligt op, så den del af det er iorden. Men om det afhjælper fejlen med det ekstra vindue, kan jeg ikke se endnu, jeg mangler selv at have citrix adgangen på testmiljøet.
Hvorfor skriver du script i to ord ? scr + ipt !
Avatar billede roenving Novice
01. juli 2004 - 16:22 #4
For ikke at forvirre fortolkeren, f.eks. vil "</script>" skrevet ligeud afslutte scriptet med indtil flere fejl til følge ...
Avatar billede margitbork Nybegynder
02. juli 2004 - 08:29 #5
Det hjalp desværre ikke. Det er som om den submit ikke kan finde ud af hvilket vindue den skal åbnes hen i, og så blot åbner i et nyt vindue...
Avatar billede margitbork Nybegynder
02. juli 2004 - 09:54 #6
Jeg forsøger en anden løsning som ser således ud:
    var windowUrl = myForm.action;
    windowUrl = windowUrl+'?'+'myinput='+myForm.myInput.value;
    var win = window.open(windowUrl, winname, windowProperties);
    win.focus();
Avatar billede margitbork Nybegynder
02. juli 2004 - 09:59 #7
Hmmm, Vi har noget sikkerhed bygget ind så man ikke må kalde vores dispatcher direkte...(min action på formen). Så hvad gør jeg så ??
Avatar billede margitbork Nybegynder
02. juli 2004 - 10:35 #8
Nå det kan jeg vist kode mig ud af i min dispatcher. Den var sat til at melde fejl når dens doGet metode blev kaldt.
Avatar billede margitbork Nybegynder
10. august 2004 - 11:01 #9
Problemet er løst
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