Avatar billede moejensen Nybegynder
08. april 2004 - 13:02 Der er 8 kommentarer og
1 løsning

Åben af hjælpevindue

I mage nye programer brues ofte en webbaseret hjælp, hvor selve vinduet (programmet) gøres mindre så hjælpevinduet kan åbnes i højreside i fuld højde, så de ikke går ind over hinanden.

Kan man lave et script der gør det samme ved en hjælpeknap på en hjemmeside?
Avatar billede roenving Novice
08. april 2004 - 13:44 #1
Sådan ?-)

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Hjælpevindue ved siden af</title>
<meta name="keywords" content="roenving,http://www.eksperten.dk/spm/487213">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
html,body{height:100%;padding:0px;margin:0px;}
</style>
<script language="javascript" type="text/javascript">
var orgH=orgW=0,helpPop=null;

function openHelp(url){
  if(orgH==0){
    orgH = (window.outerHeight)?window.outerHeight:screen.availHeight;
    orgW = (window.outerWidth)?window.outerWidth:screen.availWidth;
  }
  if(helpPop&&!helpPop.closed){
    helpPop.close();
  }else{
    window.resizeTo(orgW-200,orgH);
  }
  /*Den rigtige window.open
  helpPop = window.open(url,'helpPop','width=200,height='+orgH+',top=0,left='+(orgW-200)+',status=no');
  Nedenstående er test-udgave*/
  helpPop = window.open('','helpPop','width=200,height='+orgH+',top=0,left='+(orgW-200)+',status=no');
  txt = "<html><head><title>Hjælpe-pop</title></head><body><center><a href='#' onclick='opener.closeHelp();'>Luk hjælp</a></center></body></html>"
  helpPop.document.write(txt);
  helpPop.document.close();
}
function closeHelp(){
  if(helpPop)helpPop.close();
  window.resizeTo(orgW,orgH);
}
</script>
</head>
<body>
<br>
<form id="minForm" name="minForm">
<input id="minInput" name="minInput" type="text" value="Tom" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" size="20">
<br>
<button name="button2" id="button2" onclick="openHelp();return false;" style="font-size:xx-large;border:0px;background:transparent;" title="Se hjælpevindue">?</button>

</form>
</body>
</html>
Avatar billede moejensen Nybegynder
08. april 2004 - 13:58 #2
yep, det er lige det, men det ser ud til at hjælpevinduet er højere end min skærmstærrelse?

og så bliver program vinduet også lidt mindre i højden, kan man undgå det?
Avatar billede roenving Novice
08. april 2004 - 14:26 #3
Desværre er det en masse fifleri, og det skal laves forskelligt for de to hovedtyper af browsere, derfor prøvede jeg ikke mere ...

Desuden er det i forvejen egentlig dårlig kodestil, at jeg henter availHeight og -Width og ikke selve vinduets højde, men jeg kunne ikke finde en IE-metode umiddelbart ...

Men i et windows-program er der 3 pixels kant, så den kan jo tillægges ved resizeTo:

  window.resizeTo(orgW+6,orgH+6);
Avatar billede moejensen Nybegynder
08. april 2004 - 14:51 #4
okay, det ska kun virke i IE, da det er til et administrationsprogram der kræver IE, men jeg prøver selv at lege lidt med det :-)

Du må gerne lavet et svar
Avatar billede roenving Novice
08. april 2004 - 14:55 #5
Velbekomme '-)
Avatar billede moejensen Nybegynder
08. april 2004 - 15:15 #6
et lille spg, nu har jeg fået højerne til at passe, men hjælp vinduet ryger 2 - 3 pix ud over højreside af skærmvinduet. Ikke at det er en katastrofe, men det er pænest at man kan se at vinduet ikke er bredere. Koden ser nu således ud:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Hjælpevindue ved siden af</title>
<meta name="keywords" content="roenving,http://www.eksperten.dk/spm/487213">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
html,body{height:100%;padding:0px;margin:0px;}
</style>
<script language="javascript" type="text/javascript">
var orgH=orgW=0,helpPop=null;

function openHelp(url){
  if(orgH==0){
    orgH = (window.outerHeight)?window.outerHeight:screen.availHeight;
    orgW = (window.outerWidth)?window.outerWidth:screen.availWidth;
  }
  if(helpPop&&!helpPop.closed){
    helpPop.close();
  }else{
    window.resizeTo(orgW-195,orgH+8);
  }
  /*Den rigtige window.open
  helpPop = window.open(url,'helpPop','width=200,height='+(orgH-28)+',top=0,left='+(orgW-200)+',status=no');
  Nedenstående er test-udgave*/
  helpPop = window.open('','helpPop','width=200,height='+(orgH-28)+',top=0,left='+(orgW-200)+',status=no');
  txt = "<html><head><title>Hjælpe-pop</title></head><body><center><a href='#' onclick='opener.closeHelp();'>Luk hjælp</a></center></body></html>"
  helpPop.document.write(txt);
  helpPop.document.close();
}
function closeHelp(){
  if(helpPop)helpPop.close();
  window.resizeTo(orgW,orgH);
}
</script>
</head>
<body>
<br>
<form id="minForm" name="minForm">
<input id="minInput" name="minInput" type="text" value="Tom" onfocus="if(this.value==this.defaultValue)this.value='';" onblur="if(this.value=='')this.value=this.defaultValue;" size="20">
<br>
<button name="button2" id="button2" onclick="openHelp();return false;" style="font-size:xx-large;border:0px;background:transparent;" title="Se hjælpevindue">?</button>

</form>
</body>
</html>
Avatar billede roenving Novice
08. april 2004 - 15:43 #7
Er det ikke bare enten:

'helpPop','width=197,height='+(

eller

left='+(orgW-203)+
Avatar billede moejensen Nybegynder
08. april 2004 - 16:25 #8
perfekt, nu er det bare som det skal være. endnu engang tak :-)
Avatar billede roenving Novice
08. april 2004 - 16:38 #9
U'r welcome !-)
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

Seneste spørgsmål Seneste aktivitet
I går 10:21 Ny printer, men hvilken Af mort1 i Printere
13/0819:41 USB på Linux Af Uvanga i Linux
12/0818:26 Hvilken type mus Af mort1 i PC
11/0813:21 ms Forms Af leahcim i Andet software
10/0821:30 Blokeret på Snapchat? Af LineP i Chat & Messaging