Avatar billede krogstrup Nybegynder
15. december 2001 - 08:52 Der er 5 kommentarer og
1 løsning

Lave links i MS DHTML Editor

Jeg har følgende script til at generere links i min DHTML Editor:

function butikLink(butiksID) {
    myDiv.focus();
    tr = document.selection.createRange();
    linkHTML = \"<a href=\'/?mode=forretning&ID=\" + butiksID + \"\' target=\'_top\'>\" + tr.htmlText + \"</a>\";
    tr.pasteHTML(linkHTML);
    tr.select();
    myDiv.focus();
}

Dette BURDE generere et link lignende dette:

<a href=\'/?mode=forretning&ID=117\' target=\'_top\'>Link tekst</a>

Men IE \"piller\" ved min kode og indsætter følgende:

<a href=\'http://localhost/?mode=forretning&ID=117\' target=\'_top\'>Link tekst</a>


Det skal den IKKE !

Hvorfor gør den det ?
Kan det undgås ?
Kan jeg køre et script der fjerner IE´s \"affald\" ?
Avatar billede tolleboy Nybegynder
15. december 2001 - 09:14 #1
prøv simpelt at fjerne / så det ser sådan her ud:
<a href=\'?mode=forretning&ID=117\' target=\'_top\'>Link tekst</a>
Avatar billede tolleboy Nybegynder
15. december 2001 - 09:15 #2
eller også skal du også fjerne ?..

Det kommer an på hvor det ligger på serveren....
Avatar billede krogstrup Nybegynder
15. december 2001 - 10:04 #3
Det virker desværre ikke !

Problemet er at så snart IE opdager at jeg har indsat et link, ændrer den min relative sti til en absolut sti - DET SKAL DEN IKKE !

Dumme IE (hmmm, det ligner normalt ikke mig at sige sådan noget)
Avatar billede olebole Juniormester
15. december 2001 - 20:11 #4
<ole>
Krogen >> Det er en stor fejl, det ikke ligner dig at sige sådan!  ;oD
Prøv noget à la dette her:

function butikLink(butiksID) {
    myDiv.focus();
    tr = document.selection.createRange();
    tr.execCommand(\"CreateLink\", \"\", \"/?mode=forretning&ID=\"+butiksID);
    for (i=0; i<myDiv.getElementsByTagName(\"A\").length; i++) {
        var myLink = myDiv.getElementsByTagName(\"A\")[i]
        if (myLink.href.indexOf(butiksID) != -1) {
            myLink.target = \"_top\";
        }
    }
    tr.select();
    myDiv.focus();
}

Hvilket selvfølgelig forudsætter, du kun har ét link i \'myDiv\', der indeholder \'butiksID\' i dets href.
Du kan under alle omstændigheder kun sætte et target på link\'et, *efter* det er oprettet.
/mvh
</bole>
Avatar billede krogstrup Nybegynder
21. december 2001 - 02:05 #5
Det virker perfekt Ole - du bliver nødt til at komme forbi en dag og give mig et javascript-kursus !

Glædelig jul & godt nørdår :-)
Avatar billede olebole Juniormester
26. december 2001 - 17:30 #6
Ehhhh ....\"komme forbi en dag og give mig et javascript-kursus\"?
Det må da vist gå på din fysiske adresse - for her har jeg da prøvet så godt, jeg har kunnet gennem det seneste års tid  ;o)
Men ja, jeg vil nok kikke ned og sige \'Bøh\' her først i det nye år - om ikke andet så for at nyde en kop velinddampet IT-kaffe, som vi jo kender den så godt. Jeg har ved nærmere eftertanke aldrig smagt din versionering - og jeg må jo hellere checke, om du overholder standarden  =oD

Glædelig Baghjul og Godt Nytår  *<|;o)
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