Avatar billede ann-lykke Nybegynder
25. marts 2004 - 08:39 Der er 21 kommentarer og
1 løsning

Ikke alle link i samme dropdown menu skal åbne i nyt vindue

Hej igen! Ikke før et problem er løst, før et nyt opstår. Jeg har lavet mine dropdown-menuer. De virker perfekt - næsten! Sagen er, at i nogle af dem, er der link, som skal åbne i nyt vindue - og andre henviser til et andet index og skal derfor åbnes i overordnet ramme (og IKKE i nyt vindue). Kan man ikke i nogle af koderne sætte '_blank' ind? Har prøvet at finde en løsning i tidligere spørgsmål - men kan ikke finde nogen. Koden er som følger:

----------------------------------------------------
<select name="menu" onChange="parent.frames.location.href=this.value;" size="1" style="font-family: Arial; font-weight: bold; font-size:8pt">

<option value="../derhjemmeindex.htm">Vælg</option>
<option value="../../analyse/analyseindex.htm">Analyser</option>
<option value="http://www.avisen.dk:8080pricecalculator.aspx">Anonym prisberegner</option>
<option value="konkurrentindex.htm"selected>Konkurrenter</option>
<option value="http://www.avisen.dk/Oplag.htm">Oplagslister</option>
<option value="../../analyse/analyseindex.htm">Præsentationer</option>
<option value="G:\Kommunikation\Public\Brevarkiv">Salgsbreve</option>

----------------------
F.eks. skal punkt 3, 5 og 7 åbne i nyt vindue - mens resten skal åbne normalt i overordnet ramme. Findes der en måde, at gøre det på? Kan man ikke efter f.eks. 'www.avisen.dk' skrive '_blank' - eller kræver det en kode oppe i 'onchange' ??

Håber I kan hjælpe mig - endnu en gang :0) Ann Lykke
Avatar billede mm12010 Nybegynder
25. marts 2004 - 08:56 #1
Avatar billede ann-lykke Nybegynder
25. marts 2004 - 09:01 #2
ja - præcis sådan - men hvordan gør man det for enkelte link i samme dropdownmenu?
Avatar billede ann-lykke Nybegynder
25. marts 2004 - 09:02 #3
Bruger jeg "Onchange=window.open ... value, '_blank'" i select-sætningen, så gælder det jo for alle link?
Avatar billede kornfreak Nybegynder
25. marts 2004 - 09:03 #4
<script language="javascript">
        function checkurl(aurl)
        {
                if (aurl.substr(0,4) == "http")
                {
                        window.open(aurl,"_blank");
                }
                else
                {
                        parent.frames.location.href=aurl;
                }
        }
</script>
<select name="menu" onChange="checkurl(this.value);" size="1" style="font-family: Arial; font-weight: bold; font-size:8pt">

<option value="../derhjemmeindex.htm">Vælg</option>
<option value="../../analyse/analyseindex.htm">Analyser</option>
<option value="http://www.avisen.dk:8080pricecalculator.aspx">Anonym prisberegner</option>
<option value="konkurrentindex.htm"selected>Konkurrenter</option>
<option value="http://www.avisen.dk/Oplag.htm">Oplagslister</option>
<option value="../../analyse/analyseindex.htm">Præsentationer</option>
<option value="G:\Kommunikation\Public\Brevarkiv">Salgsbreve</option>

</select>


Lige noget jeg har bikset sammen (jeg er javascript n00b, men det virker :P)
Avatar billede ann-lykke Nybegynder
25. marts 2004 - 09:04 #5
Prøver lige og vender tilbage
Avatar billede ann-lykke Nybegynder
25. marts 2004 - 09:09 #6
Jaaa - det virker næsten. Men lige en sidste ting; hvad afgører, hvilke link, der åbner i nyt vindue og hvilke, som ikke gør?
Avatar billede kornfreak Nybegynder
25. marts 2004 - 09:11 #7
hvis der står http i starten af linket så åbner den et nyt vindue =)
Avatar billede kornfreak Nybegynder
25. marts 2004 - 09:12 #8
Men ellers er mm12010's måske lidt smartere.
Avatar billede ann-lykke Nybegynder
25. marts 2004 - 09:15 #9
Men jeg har også det sidste punkt - som henviser til drevet (G:) - som skal åbne i nyt vindue. Kan jeg måske lave endnu en sætning med:

{if (aurl.substr(0,4) == "G:") .... Ved ikke hvordan koderne virker .. meeeeen ??
Avatar billede kornfreak Nybegynder
25. marts 2004 - 09:16 #10
du kunne lave det sådan:

    <script language="javascript">
        function checkurl(aurl)
        {
                if (aurl.substr(0,4) == "http" || aurl.substr(0,1) == "G")
                {
                        window.open(aurl,"_blank");
                }
                else
                {
                        parent.frames.location.href=aurl;
                }
        }
</script>
<select name="menu" onChange="checkurl(this.value);" size="1" style="font-family: Arial; font-weight: bold; font-size:8pt">

<option value="../derhjemmeindex.htm">Vælg</option>
<option value="../../analyse/analyseindex.htm">Analyser</option>
<option value="http://www.avisen.dk:8080pricecalculator.aspx">Anonym prisberegner</option>
<option value="konkurrentindex.htm"selected>Konkurrenter</option>
<option value="http://www.avisen.dk/Oplag.htm">Oplagslister</option>
<option value="../../analyse/analyseindex.htm">Præsentationer</option>
<option value="G:\Kommunikation\Public\Brevarkiv">Salgsbreve</option>

</select>
Avatar billede ann-lykke Nybegynder
25. marts 2004 - 09:17 #11
ok - men jeg har stadig ikke fundet ud af, hvordan mm12010's virker ? Er det enklere?
Avatar billede ann-lykke Nybegynder
25. marts 2004 - 09:19 #12
Hvad bestemmer værdien aurl.substr (0,4) - eller (0,1)  ??
Avatar billede mm12010 Nybegynder
25. marts 2004 - 09:21 #13
du tilføjer bare:
  |ny
eller:
  |samme
til dine potion-values, afhængigt af hvordan de skal åbnes:


<script language="javascript" type="text/javascript"">
function blankSelf(val){
    selVal=String(val).split("|");
    alert(selVal[1]);
    if(selVal[1]=="ny")window.open(selVal[0],'mywin','');
    else location.href=selVal[0];
    }
</script>
<SELECT name="select" class="selectbox" onChange="blankSelf(this.value);">
<option value="../derhjemmeindex.htm|samme">Vælg</option>
<option value="../../analyse/analyseindex.htm|samme">Analyser</option>
<option value="http://www.avisen.dk:8080pricecalculator.aspx|ny">Anonym prisberegner</option>
<option value="konkurrentindex.htm|samme" selected>Konkurrenter</option>
<option value="http://www.avisen.dk/Oplag.htm|ny">Oplagslister</option>
<option value="../../analyse/analyseindex.htm|samme">Præsentationer</option>
<option value="G:\Kommunikation\Public\Brevarkiv|ny">Salgsbreve</option>
</SELECT>
Avatar billede mm12010 Nybegynder
25. marts 2004 - 09:21 #14
potion-values=option-values ;-)
Avatar billede kornfreak Nybegynder
25. marts 2004 - 09:22 #15
Begge 2

hvis du tæller fra tegn 0 til tegn 4 og det bliver http så åbner den et nyt vindue
hvis du tæller fra tegn 0 til tegn 1 og det bliver G så åbner den et nyt vindue
ellers åbner den i parent.frames.location.

Altså 2 ting der bestemmer hvordan et vindue skal åbnes.

Det er slamkode, mm12010's eksempel er meget smartere =)
Avatar billede ann-lykke Nybegynder
25. marts 2004 - 09:24 #16
jaaaa - men jeg kan bruge begge dele! Og det er kanon-hjælp (og så HURTIGT)!
Hva' siger I til at dele point??

;0) Svar lige ...
Avatar billede kornfreak Nybegynder
25. marts 2004 - 09:25 #17
Jeg nægter at tage imod points for slamkode, its all mm12010's :P
Avatar billede ann-lykke Nybegynder
25. marts 2004 - 09:28 #18
Det er helt fair 'Kornfreak'. Alt fra dig er nok ikke slamkoder *griner*. Men tak anyway!
Så må mm12010 jo lige svare - så jeg kan få dem afleveret!

Have a nice day (hvis jeg ikke liiige har endnu et spørgsmål)!
Avatar billede mm12010 Nybegynder
25. marts 2004 - 09:48 #19
svar ;-)

kornfreak >> så skidt er det heller ikke, jeg har set det der var meget værre, og idéen fejler jo ikke noget - jeg mener faktisk sagtens, at du kan tillade dig at smide et svar og høste halvdelen !-)

din funktion kunne dog skrives lidt pænere:

function checkurl(aurl){
  if(aurl.substr(0,4)=="http"||aurl.substr(0,1)=="G") window.open(aurl,"_blank",'');
  else location.href=aurl;
  }
Avatar billede mm12010 Nybegynder
25. marts 2004 - 09:50 #20
og hvis det er en frame den sidste skal åbne i skal:
  else location.href
rettes til:
  else parent.frames['FRAMENAVN'].location.href
Avatar billede ann-lykke Nybegynder
25. marts 2004 - 09:54 #21
Jeg tror ikke Kornfreak er interesseret i pointene - så jeg accepterer dit svar mm12010

:0)
Avatar billede mm12010 Nybegynder
25. marts 2004 - 09:56 #22
ok :o)

kornfreak >> du siger bare til hvis jeg skal et spg med point til dig ;-)
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