hyperlink automatisch met onClick maken

Pagina: 1
Acties:

  • MuddyMagical
  • Registratie: Januari 2001
  • Laatst online: 13-05 20:29
k ben bezig met het omzetten van een intranet naar een nieuwe layout.
In een smoelenboek staan een aantal namen met een link erop naar hun foto. Nu wordt elke foto in het parent frame geopend. (size foto: 200 x 200 pixels)

Ik heb nu bij elke link een onClick gezet

code:
1
<a href="Plaats_pic.jpg" target="_blank" onclick="window.open('Plaats_pic.jpg','_blank','fullscreen=0,location=0,menubar=0,resizable=0,scrollbars=0,status=0,toolbar=0,width=250,height=250');return false;">Naam Persoon</a>


Het probleem is alleen dat ik over een paar maanden weg ben en dat dan iedereen een foto moet kunnen toevoegen zonder in de html te prutsen.
Men gebruikt Frontpage om de pagina te maken en een hyperlink kopieren is geen optie. FrontPage gooit dan de oude tag weg en zet gewoon weer <a href=Plaats_pic.jpg>Naam Persoon</a> neer.
Aan het gebruik van FrontPage kan ik niks veranderen.

Ik kan niet alle informatie in een DB zetten. Daarvoor zijn er binnen de organisatie teveel rare combinaties in functies.

Is er een mogelijkheid dat ik ervoor kan zorgen dat elke hyperlink in de pagina die onClick achter zich krijgt? Bijvoorbeeld een soort functie die van elke <a href=blabla></a> een <a href=blabla ... onClick=...></a> maakt.

  • Willem
  • Registratie: Februari 2001
  • Laatst online: 12:08
copy-paste :? find-replace :?

Motor (of auto) onderhoud bijhouden


  • André
  • Registratie: Maart 2002
  • Laatst online: 11-05 16:42

André

Analytics dude

Je kunt met een loop door al je <a>'s heen lopen en er een onclick event aan toevoegen.

code:
1
2
3
4
5
6
7
8
9
10
function loopLinks()
{
  obj = document.body.getElementsByTagName("a");
  for (i=0; i < obj.length; i++)
  {
    obj.onclick = function() { window.open(obj.href, "_blank"', "menubar=0, width=250, height=250"); return false; }
  }
}

window.onload = loopLinks;

[ Voor 74% gewijzigd door André op 24-02-2005 13:14 ]


  • RM-rf
  • Registratie: September 2000
  • Laatst online: 13-05 20:04

RM-rf

1 2 3 4 5 7 6 8 9

qua proprietaire oplossingen, biedt msie dmv .HTC wel mogelijkheden om via CSS eventhandling toe te voegen aan elementen, mozilla-compatible browsers doen dat met XBL

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


  • MuddyMagical
  • Registratie: Januari 2001
  • Laatst online: 13-05 20:29
ik kan helaas niet via CSS gaan werken. Het probleem is dat ik maar beperkte bewegingsvrijheid heb. Er is een bepaalde global layout opgelegd en hierin zitten ook verschillende werkwijzen. Ik mag hier een klein beetje van afwijken, maar ook niet veel.

De beste kans heb ik volgens mij met de oplossing van André, maar ik doe duidelijk iets niet goed.

code:
1
2
3
4
5
6
7
8
9
10
11
12
<script language="JavaScript">
function looplinks()
{
  obj = document.body.getElementsByTagName("a");
  for (i=0; i < obj.length; i++)
  {
    obj.onclick = function() { window.open(obj.href, "_blank", "menubar=0, width=250, height=250"); return false; }
  }
}

window.onload = looplinks();
</script>


Heb dit boven de <html> tag gezet.

Verwijderd

zet maar in het head element
en geen language="javascript", maar type="text/javascript"

ow en alleen de functie reference aan de onload hangen

[ Voor 33% gewijzigd door Verwijderd op 24-02-2005 14:36 ]


  • MuddyMagical
  • Registratie: Januari 2001
  • Laatst online: 13-05 20:29
language="javascript" gewijzigd naar type="text/javascript"
en ipv window.onload = looplinks();
window.onload = LoopLinks;

maar nog geen resultaat...
(ik ga me zo in een hoekje schamen...)

  • André
  • Registratie: Maart 2002
  • Laatst online: 11-05 16:42

André

Analytics dude

Let op: js is case-sensitive :)

  • GambitRS
  • Registratie: Juni 2001
  • Laatst online: 13-06-2013

GambitRS

w00t

probeer:
window.attachEvent("onload", looplinks);

MechWarrior || Monsters Game


  • MuddyMagical
  • Registratie: Januari 2001
  • Laatst online: 13-05 20:29
Ben ik nu gek? (ja, maar dat is van later zorg)

volledige test document:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<html>
<head>
<script type="text/javascript">
function looplinks()
{
  obj = document.body.getElementsByTagName("a");
  for (i=0; i < obj.length; i++)
  {
    obj.onclick = function() { window.open(obj.href, "_blank", "menubar=0, width=250, height=250"); return false; }
  }
}

window.attachEvent("onload", looplinks);
</script>
<title>Testing like Hell</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<p>Probeersel</p>
<p><a href="http://www.nu.nl">Nu.nl</a></p>
</body>
</html>

[ Voor 20% gewijzigd door MuddyMagical op 24-02-2005 14:56 ]


  • André
  • Registratie: Maart 2002
  • Laatst online: 11-05 16:42

André

Analytics dude

Hmmjah, een klein denkfoutje van mijn kant. Zo werkt het wel:

code:
1
2
3
4
5
6
7
8
9
10
11
12
<script type="text/javascript">
function looplinks()
{
  obj = document.getElementsByTagName("a");
  for (i = 0; i < obj.length; i++)
  {
    obj[i].onclick = function() { window.open(this.href, "_blank", "menubar=0, width=250, height=250"); }
  }
}

window.onload = looplinks;
</script>

  • MuddyMagical
  • Registratie: Januari 2001
  • Laatst online: 13-05 20:29
Dankjewel. Opgelost!

  • MuddyMagical
  • Registratie: Januari 2001
  • Laatst online: 13-05 20:29
En daar zijn we weer!

Nogmaals: De oplossing werkt, maar met 1 nadeel:

Zodra ik dus op de link klikt krijg ik idd in een mooi extra venster de foto, maar ook in het venster vanwaar de link komt krijg ik de foto te zien. En het is de bedoeling dat er alleen in de popup de foto komt.
Ik heb de huidige situatie online gegooit. Dit is niet de bedoeling

Het wordt vanzelf duidelijk wat er fout gaat.
Iemand enig idee?

Verwijderd

ja

code:
1
2
3
4
5
6
7
8
9
10
11
12
<script type="text/javascript">
function looplinks()
{
  obj = document.getElementsByTagName("a");
  for (i = 0; i < obj.length; i++)
  {
    obj[i].onclick = function() { window.open(this.href, "_blank", "menubar=0, width=250, height=250");     return false; }
  }
}

window.onload = looplinks;
</script>


/voorkauwmodus

[ Voor 14% gewijzigd door Verwijderd op 25-02-2005 10:21 ]


  • RM-rf
  • Registratie: September 2000
  • Laatst online: 13-05 20:04

RM-rf

1 2 3 4 5 7 6 8 9

probeer eens:
code:
1
2
3
4
5
6
7
8
9
function looplinks()
{
  obj = document.body.getElementsByTagName("a");
  for (i=0; i < obj.length; i++)
  {
    obj.onclick = function() { window.open(obj.href, "_blank", "menubar=0, width=250, height=250"); return false; }
    obj.href= "javascript:;"
  }
}

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


  • MuddyMagical
  • Registratie: Januari 2001
  • Laatst online: 13-05 20:29
Mijn dank is oneindig groot. Heb de oplossing van Mophor gebruikt
Pagina: 1