Avatar billede mik789 Nybegynder
17. maj 2002 - 15:22 Der er 17 kommentarer og
1 løsning

showModelessDialog();

Jeg skal lave et vindue der forbliver på skærmen også når der scrolles uden for dette vindue. I NS gøres det ved at inkludere featuren dependent=yes i en window.open, og i IE kan det gøres med showModelessDialog(), se: http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/reference/methods/showmodelessdialog.asp

Og dog - med window.open kan man udvide sin URL med #navn, dvs. åbne vinduet på netop det sted man vil (mærket med <a name="navn">). Men når jeg forsøger det samme med showModelessDialog lykkes det ikke. Vinduet åbner ganske vist, men kun fra toppen. Er der nogle løsninger?
Avatar billede mik789 Nybegynder
17. maj 2002 - 15:42 #1
I skulle måske lige have koden med:

// Funktion der placerer og åbner vindue med forkortelser og henvisninger
function openReferences(refItem) {

  var leftPosition=0;
  if (screen) {
    leftPosition = screen.width -666
  }

  var refItem="references.html#"+refItem;

  if (document.all) {
    showModelessDialog(refItem,window,"dialogWidth:660px;dialogHeight:333px;dialogTop:118px;dialogLeft:"+leftPosition+",resizable:yes");
  } else {
    win = window.open(refItem, "win", "width=660,height=333,top=118,left="+leftPosition+",scrollbars=yes,resizable=yes,dependent=yes");
    win.focus();
  }
}

+ i dokumentet: onclick="openReferences('Inden1985');"

----

der er også lige nogle andre småting der ikke virker helt med showModelessDialog() så som at få boksen placeret på samme måde som min window.open, men det skal jeg nok finde ud af.
Avatar billede atn Nybegynder
18. maj 2002 - 02:42 #2
Heysa !

Du kan da sende det med som paramter - også lave en lille ting der modtager det på den side du åbner....

showModelessDialog("references.html","Inden1985","dialogWidth:660px;dialogHeight:333px;dialogTop:118px;dialogLeft:"+leftPosition+",resizable:yes");

Og til at modtage:

<script language="javascript" type="text/javascript">
self.location = this.location +'#'+ dialogArguments;
</script>

Venligst

<ATN/>
Avatar billede mik789 Nybegynder
18. maj 2002 - 09:23 #3
atn> OK! det prøver jeg.
Avatar billede mik789 Nybegynder
18. maj 2002 - 10:01 #4
atn> har nu prøvet. det virker fint, bort set fra én ting. når jeg i hoveddokumentet flere gange har klikket på en henvinsing til dialogvinduet (dvs. forskellige henvisninger), sker der det pudsige at når jeg på et tidspunkt vil lukke dialogvinduet, så skal jeg lukke det ligeså mange gange som jeg har åbnet det - det tager simpelthen hele turen tilbage i sin history og åbner (med et lille blink imellem) ved at alle de steder, det har været åbnet inden det lukker helt, når man når til det sted, hvor man først åbnede det .... hvis du forstår?

har du et tip til det?
Avatar billede atn Nybegynder
18. maj 2002 - 10:30 #5
Heysa !

Hmm....tror ikke jeg forstår det helt.....har du ikke et link hvor jeg kan se hvad det sker....

venligst

<ATN/>
Avatar billede mik789 Nybegynder
18. maj 2002 - 10:46 #6
OK, jeg har lagt det på: http://www.dahr.dk/Untouchability

I hovedvinduet (en iframe) har du en artikel. Gå ned til note 1 (markeret med fed blå skrift). Klik på den. Noten åbner i en anden iframe. Klik på henvisningerne i noten (markeret med fed grå skrift). Nu popper dialogboksen (som altså bare fungerer som et nyt vindue) op. Klik på to andre af henvinsingerne nede i notevinduet. Hver gang skiftes position i dialogboksen til den fulde reference. Forsøg så at lukke dialogboksen. Det kan du ikke, den åbner ved den position den var før. Hvis du 3 gange har klikket på en henvisning, er du nødt til at lukke vinduet 3 gange før den endelig lukker.
Avatar billede mik789 Nybegynder
18. maj 2002 - 18:59 #7
det der sker er at hver gang jeg klikker på en henvisning åbnes dialogboksen på ny. Så det er ikke den samme dialogboks der kører tilbage i sin history, men der åbnes en hel serie af nye dialogvinduer oveni det første. hmmn, hvorfor?
Avatar billede atn Nybegynder
18. maj 2002 - 19:18 #8
Heysa !

Jeg har umiddelbart ikke en løsning på hvorfor den lige gør dette....

Jeg prøvede et af de eksempler inde ved MS og der lavede den det samme hvis du klikke flere gange på open kanppen...

Jeg troede egentlig man kunne løse det med en window.close(); men det gav samme resultat...

Jeg ved ikke lige om du i den funktion du har lavet der popper vinduet kan lave et check om vinduet er åbnet ? - hvis det er luk det og åben et nyt....

Men hvis jeg lige finder en metode, skal jeg nok lige sende den...

Venligst

<ATN/>
Avatar billede mik789 Nybegynder
21. maj 2002 - 10:09 #9
atn> tak for hjælpen så langt. det lader til at der er endnu flere begrænsninger ved dialogboks-løsningen end ved det alm. vindue, så jeg tror jeg dropper ideen. men du har jo svaret på spørgsmål (og svaret rigtigt), så læg lige et svar.
Avatar billede atn Nybegynder
21. maj 2002 - 18:59 #10
Hmm....jeg tænkte på om man ikke kunne tælle en op hver gang man sendte noget til vinduet....og lave en eller anden form for histori.go(-X)....og så lukke bagefter...

Bare lige en tanke der strejfede.....ved ikke om det kan lade sig gøre...?

Venligst

<ATN/>
Avatar billede mik789 Nybegynder
22. maj 2002 - 13:06 #11
atn> hvordan skulle sådan en funktion i grove træk se ud?
Avatar billede mik789 Nybegynder
22. maj 2002 - 13:08 #12
atn> og hvordan skulle den funktion du tidligere nævnte, der tjekker om dialogboksen er åben og så lukker den, se ud - også bare i grove træk?
Avatar billede atn Nybegynder
22. maj 2002 - 22:56 #13
Hejsa...

Prøv at læse denne her...

http://activedeveloper.dk/locator.asp?guid=001000000198

Venligst

<ATN/>
Avatar billede mik789 Nybegynder
24. maj 2002 - 17:50 #14
atn> problemet er bl.a. at en dialogboks åbnet med showModelessDialog() ikke kan lukkes med close(). Jeg har testet dette i forhold til et alm vindue, og det er helt sikkert at hvor et alm. vindue lukker på normal vis med close(), der kan en dialogboks i IE ikke lukke. Er der andre måder at lukke vinduer på i DHTML?
Avatar billede atn Nybegynder
24. maj 2002 - 17:56 #15
Ikke såvidt jeg ved.....ifølge microsoft skulle window.close() også være metoden til at lukke et modal window....

Men igen...bliver du nødt til at klikke det antal gange før det lukker....

Venligst

<ATN/>
Avatar billede mik789 Nybegynder
24. maj 2002 - 18:18 #16
nej, selv når dialogboksen kun er åbnet én gang kan jeg ikke lukke det med close()
Avatar billede atn Nybegynder
24. maj 2002 - 18:24 #17
Så er der et eller andet galt.....for det er selv det de bruger...

Du kan selv checke deres kode....

Venligst

<ATN/>



<HTML>
<HEAD>
<TITLE>myDialog.htm</TITLE>
<SCRIPT>
/* -------------------------------------------------------------
This function makes use of the dialogArguments property of the
window object. dialogArguments allows the global variable sUserName
to feed the value supplied to the input in this dialog box back to
the window that called it.
---------------------------------------------------------------- */
function fnGetInfo()
{
  var sData = dialogArguments;
  sData.sUserName = oEnterName.value;
  sData.fnUpdate();
}
/* -------------------------------------------------------------
This function cleans up in case the user has clicked the
Apply button before canceling.
---------------------------------------------------------------- */
function fnCancel()
{
  var sData = dialogArguments;
  sData.sUserName = "Joan";
  sData.fnUpdate();
}
</SCRIPT>
</HEAD>
<BODY>
<LABEL FOR="oEnterName" ACCESSKEY="f">Enter your
<SPAN STYLE="text-decoration:underline">F</SPAN>irst Name</LABEL>
<INPUT ID=oEnterName><BR><BR>
<INPUT VALUE="Apply" TYPE=button onclick="fnGetInfo();">
<INPUT VALUE="Ok" TYPE=button onclick="fnGetInfo();window.close();">
<INPUT VALUE="Cancel" TYPE=button onclick="fnCancel();window.close();">
</BODY>
</HTML>
Avatar billede mik789 Nybegynder
26. maj 2002 - 18:06 #18
jeg har nu både fundet ud at lukke dialogboksen og at gå til forskellige #mærker i dokumentet, men nye problemer dukker op. så jeg jeg lukker her op starter et nyt sp.
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