Avatar billede phansen79 Nybegynder
23. maj 2013 - 14:41 Der er 9 kommentarer

Åben link i nyt vindue.

Jeg prøver at lave mine sociale links om til javascript links, og jeg vil gerne have dem til at åbne i et nyt vindue, som _blank.

Dette link virker, det åbner bare ikke i et nyt vindue.

<script type="text/javascript">
document.write('Twitter'.link('https://twitter.com'));
</script>

Jeg sætter stor pris på hjælp
Avatar billede CipherGuy Novice
23. maj 2013 - 16:01 #1
Hvad er grunden til at du gerne vil bruge javascript til dine links? :)
Avatar billede phansen79 Nybegynder
23. maj 2013 - 18:47 #2
Det er i forbindelse med noget SEO, hvor jeg prøver at undgå pagerank bleeding fra de sider hvor der er "sociale links"
Avatar billede didakt Nybegynder
24. maj 2013 - 00:41 #3
Google læser også JavaScript-links. Du kan enten bruge rel="nofollow" eller du kan gå all-in og submitte en on-the-fly-formular med method="post" og target="_blank" til en underside på eget domæne, som redirecter til et medsendt post-argument. Google følger nemlig ikke post-requests.

Eks.:

function post(url, vars) {
  var form = $('<form method="post" target="_blank"></form>').attr('action', url);
  $.each((vars || '').split(/\&/g), function(key, value) {
    $('<input type="hidden" />').attr('name', (value = value.split(/\=/g))[0]).attr('value', value[1]).appendTo(form);
  });
  $(form).appendTo('body').submit().remove();
}

<span class="link" onclick="post('/redir', 'goto=http://twitter.com')">Twitter</span>
Avatar billede didakt Nybegynder
24. maj 2013 - 00:49 #4
Mit eks. er i øvrigt for nemheds skyld afhængigt af jQuery, men kan selvfølgelig også konverteres til at fungere uden.

Hvis du vil have svar på dit egentlige spørgsmål, er det:

<script type="text/javascript">
document.write('Twitter'.link('https://twitter.com').setAttribute('target','_blank'));
</script>
Avatar billede phansen79 Nybegynder
24. maj 2013 - 10:35 #5
hej didakt, jeg kan ikke få det sidste link til at virke. så snart jeg sætter setattribute på så kan man ikke se linket. kan der være en fejl i den kode du skriver?
Avatar billede didakt Nybegynder
24. maj 2013 - 14:38 #6
Hah, det gik lidt stærkt. Hvis du insisterer på .link() så sæt .replace('<a ', '<a target="_blank" ') på i stedet for .setAttribute()
Avatar billede CipherGuy Novice
24. maj 2013 - 19:21 #7
Eller kan du også bare lave en onclick på noget tekst, som kalder til en javascript function med en:
window.open("ditLink")... Men det virker vel også lidt mærkeligt..
Hvis du bare vil lave et link med javascript, som didakt skriver også bliver læst af google, kan du bare document.write et helt normalt link:
document.write('<a href="arkiv.php">Læs flere nyheder</a>');
Avatar billede CipherGuy Novice
24. maj 2013 - 19:23 #8
Og selvfølgelig gøre det target='_blank'
Avatar billede phansen79 Nybegynder
18. august 2013 - 21:54 #9
hvem smider lige et svar :)
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