Avatar billede humlebien Novice
21. april 2002 - 13:17 Der er 17 kommentarer og
3 løsninger

Linksplitter-funktion søges ..... (gerne hurtigt)

Jeg mangler en funktion, der kan udtrække url, target og linktekst fra en tilfældig <a href>. Er der en der kan hjælpe mig??
Avatar billede nikolajdu Nybegynder
21. april 2002 - 13:21 #1
ville det nemmeste ikke være at sætte variablen i din URL??

<a href="mitLink.html?mitTarget=mainFrame&tekst=hej%20hej%20Nikolaj">klik du</a>

/Nikolaj
Avatar billede humlebien Novice
21. april 2002 - 13:40 #2
ikke lige i denne sammenhæng.

Jeg får en tekststreng eksempelvis "<A href=http://www.dsb.dk target=_blank>Link til dsb</A>" som så skal skilles ad for, at jeg kan arbejde videre med den
Avatar billede jakoba Nybegynder
21. april 2002 - 13:45 #3
<a href="url" target="targetnavn"
  onclick='alert("URL er "+this.href+"\ntarget er "+this.target+"\nindhold er "+this.childElement.innerHTML);'>indhold</a>

lidt usikker med indholdet, childElement er vist et array.

mvh JakobA
Avatar billede jakoba Nybegynder
21. april 2002 - 13:52 #4
Ups. det hedder children og er et array:
"indhold er "+this.children[0].innerHTML
eller hvis du adresserer udefra:
document.links['linkid'].children[0].innerHTML
Avatar billede jakoba Nybegynder
21. april 2002 - 13:53 #5
42
Avatar billede humlebien Novice
21. april 2002 - 13:59 #6
jakoba> kan du ikke prøve at pakke det ind i en funktion, da link-strengen kommer fra en anden side end den hvor linket splittes
Avatar billede jakoba Nybegynder
21. april 2002 - 14:22 #7
Ups. det jeg har skrevet indtil nu handler om at adressere de forskellige dele af et link der allerede ligger på den side der vises.

link-strengen lyder mere somom det er strengen
  "<a href='url' target='navn'>klikkenoget</a>"
du vil have delt op i sine forskellige dele.

Jeg ved det kan gøres med regular expressions, men jeg er ikke rigtig dygtig nok til at sige hvordan.

sorry JakobA
Avatar billede Slettet bruger
22. april 2002 - 15:41 #8
Så må vi jo prøve en lille work-around!

Indsæt dette som det absolut første på siden efter <body>-tagget:

<div style="position: absolute; top: -500; visibility: hidden;">
<script>
srch = self.location.search;
ind = srch.indexOf("linkstreng");
if (ind != -1) {
srch = unescape(srch.substr(ind + 11,srch.length));
srch = srch.replace(/\+/g," ");
document.write(srch);
lnk = document.links[0];
alert("Linkets...\n- href er: " + lnk.href + "\n- target er: " + lnk.target + "\n- tekst er: " + lnk.innerText);
}
</script>
</div>

Jeg har testet det i IE5.
Linket skal sendes gennem url'en, og variablen, som indeholder link-strengen, skal hedde "linkstreng".

Se mit eksempel her: http://www.friserverplads.dk/phoenixv/linkstreng.html
Avatar billede Slettet bruger
22. april 2002 - 15:41 #9
Men det ville stadig være meget nemmere, hvis der var en, der kunne regular expressions...
Avatar billede Slettet bruger
22. april 2002 - 15:42 #10
P.S. Plusser bliver erstattet med mellemrum, ellers ville scriptet ikke virke så godt!
Avatar billede humlebien Novice
23. april 2002 - 15:25 #11
Jeg fik løst problemet ved hjælp af jakobs svar
Avatar billede Slettet bruger
23. april 2002 - 15:42 #12
Hvordan?
Avatar billede humlebien Novice
23. april 2002 - 15:48 #13
function hent_data() {
  selection = opener.tbContentElement.DOM.selection.createRange();
  var val = selection.htmlText;
  X = val.indexOf("<A ");
  Y = val.indexOf("</A>")+4;
  if(X != -1 || Y != 3) {
    nyt_link.a_start.value = X;
    nyt_link.a_slut.value = Y;
    var strLink = val.substring(X, Y);
    // finder url
    X = strLink.indexOf("\"");
    Y = strLink.lastIndexOf("\"");
    nyt_link.url.value = strLink.substring(X+1, Y);
    // finder target
    X = strLink.indexOf("target=");
    Y = strLink.indexOf(">");
    if(X != -1) {
      nyt_link.target.value = strLink.substring(X+7, Y);
    }
    // finder linktekst
    X = strLink.indexOf(">");
    Y = strLink.lastIndexOf("<");
    nyt_link.tekst.value = strLink.substring(X+1, Y);
  }
  else {
    var strLink = val;
  }
  nyt_link.tekst.value = strLink;
}
Avatar billede Slettet bruger
23. april 2002 - 15:50 #14
Så er det sgu alligevel nemmere med regular expressions...
Avatar billede humlebien Novice
23. april 2002 - 15:54 #15
Sikkert - men det kan jeg ikke finde ud af ;o)
Avatar billede Slettet bruger
23. april 2002 - 15:54 #16
Så er vi to!
Avatar billede humlebien Novice
23. april 2002 - 16:00 #17
:o)
Avatar billede jakoba Nybegynder
23. april 2002 - 16:06 #18
tre :-)
Avatar billede nikolajdu Nybegynder
23. april 2002 - 16:09 #19
fire :))
Avatar billede Slettet bruger
24. april 2002 - 18:56 #20
fem... Nåh, nej!
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