Link per Script 'klicken'

Hallo,

ich dachte, irgendwo mal eine Möglichkeit gesehen zu haben, einen Link mittels JavaScript „anzuklicken“. Doch zumindest laut SelfHTML verfügt das Link-Objekt über keine derartige Methode.

In diesem Falle soll nicht zu einer anderen Seite gewechselt werden, sondern es handelt sich um einen „mailto:“-Link, der ja das Mailprogramm öffnet.

Geht das irgendwie?

Danke,
Kristian

In diesem Falle soll nicht zu einer anderen Seite gewechselt
werden, sondern es handelt sich um einen „mailto:“-Link, der
ja das Mailprogramm öffnet.

Geht das irgendwie?

[email link](mailto:[email protected])


[automatischer aufruf](javascript:self.location.href=document.getElementById('einlink').href)
[email link](mailto:[email protected])

[automatischer aufruf](javascript:<B>self.location.href</B>=document.getElementById('einlink').href)

Moin Dog,

genau so funktioniert es eben leider nicht. Damit wird zwar auch das Mail-Programm geöffnet,
aber gleichzeitig die aktuelle Seite verlassen. Statt derer erscheint dann eine leere Seite,
auf der oben lediglich die Mail-Adresse steht.

Übrigens kann man das auch ohne getElementById machen, wenn man Index hat:

[Link anzeigen](javascript:alert(self.location.href=document.links%5B0%5D.href);)

Bei dieser Variante wird eigentlich nur der Link-Inhalt angezeigt. Als Nebeneffekt allerdings
wird auch das Mail-Fenster geöffnet, wie ich gerade festgestellt habe. Sowas ist mir bei
alert() schon mehrfach passiert, und ich halte es eher für einen Bug als für ein Feature (IE6).
Wenn mich nun das Meldungs-Fenster nicht stören würde, hätte ich meine Lösung, aber sie
stört mich halt. Und die gerade angezeigte Seite darf natürlich auch nicht verschwinden.

Kristian

email
link

automatischer
aufruf

Moin Dog,

genau so funktioniert es eben leider nicht. Damit wird zwar
auch das Mail-Programm geöffnet,
aber gleichzeitig die aktuelle Seite verlassen. Statt derer
erscheint dann eine leere Seite,
auf der oben lediglich die Mail-Adresse steht.

gut, hab es nur kurz auf mnozilla getestet…
mach halt ein void drum:

[automatischer aufruf](javascript:void(self.location.href=document.getElementById('einlink').href))

gut, hab es nur kurz auf mnozilla getestet…
mach halt ein void drum:

[automatischer aufruf](javascript:void(self.location.href=document.getElementById(‚einlink‘).href))

Achso, wusste nicht, dass es auch dort geht. Schön, danke, das scheint es zu sein.
Meine Variante geht übrigens auch so. Zunächst hatte ich ein void() um das alert() drum gebaut, was natürlich Käse ist, aber ohne alert() geht´s komischerweise auch, obwohl eigentlich gar nichts gemacht wird:

[nur void](javascript:void(self.location.href=document.links%5B0%5D.href);)

Kristian

… aber ohne alert() geht´s komischerweise auch,
obwohl eigentlich gar nichts gemacht wird:

naja, der aufruf laesst sich auf das schema:

href=„foo=1“

reduzieren. das ergebnis ist aber auch links des linken ausdruckes verfuegbar, es waere auch gueltig:

href=„bar=foo=1“

damit wuerde auch bar der wert 1 zugewiesen. dein rueckgabewert waere also 1, bzw. im urspruenglichen problem mailto-schlagmichtot. und das wird dann natuerlich an den browser wieder zurueckgegeben. und klar, void unterdrueckt die rueckgabe.