onmouseover mit document.write('<a href=.....
stefan
- javascript
ich habe mit folgendem script versucht einen link darzustellen.
allerdings fehlt mir gegenüber den bisherigen links in meiner seite das onmouseover. ich habe versucht in der online/downloadversion des selfhtml zu finden was ich suche, aber erfolglos. vielleicht nur nicht gefunden aus unkenntnis. kann mir jemand beibringen, wie ich hier ein onmouseover hineinschreibe? wäre toll, danke.
<script language="JavaScript"><!--
var name = "vorname";
var domain = "domain.de";
var zusatz1 = "?body=Guten%20Tag%20...";
document.write('<a href="mailto:' + name + '@' + domain + zusatz1 +'">');
document.write(name + '@' + domain + '</a>');
// --></script>
Hallo stefan.
allerdings fehlt mir gegenüber den bisherigen links in meiner seite das onmouseover.
Und warum meinst du, dass dir "das onmouseover" fehlt?
<script language="JavaScript"><!--
Hier fehlt type="text/javascript"
.
document.write('<a href="mailto:' + name + '@' + domain + zusatz1 +'">');
document.write(name + '@' + domain + '</a>');
Dass du hier mit der ersten Zeile schon das gesamte Dokument überschreibst, ist dir hoffentlich klar, oder?
Bitte sage noch einmal ganz genau, was du eigentlich wie warum bezwecken willst.
Gruß, Ashura
moin ashura,
also eigentlich war ich einem artikel in der c't gefolgt, der dies als möglichkeit beschrieb, spam-roboter von seiten "fern zu halten".
in dem artikel stand der von mir genannte quelltext schon so dar. ich bin da also hemmungslos dem ausprobieren nachgegangen. nenn mir was einfacheres oder günstigeres ich bin da ganz ohr sozusagen.
für den link soll ein onmouseover, damit dies "?body=gutentag..." nicht auftaucht, sondern ein "Nachricht an xy senden" oder so.
da ich scripttechnisch ne null bin, geb ich meine fehler frei zu.
deshalb schreib ich ja hier ;-)
Hi,
für den link soll ein onmouseover, damit dies "?body=gutentag..." nicht auftaucht, sondern ein "Nachricht an xy senden" oder so.
das ist Unsinn. Denn zum einen läßt nicht jeder User seine Statuszeile manipulieren und zum anderen erscheint der Text ohnehin in der Mail, sobald das Mailprogramm gestartet wird.
Was das Überschreiben betrifft, da hat Ashura nicvht bedacht, daß das Script ja nicht erst nach dem Laden ausgeführt wird.
Meine Methode finde ich übrigens wesentlich sinnvoller, als den alten Hut, den die c't da so vorschlägt.
freundliche Grüße
Ingo
Hallo Ingo.
das ist Unsinn. Denn zum einen läßt nicht jeder User seine Statuszeile manipulieren und zum anderen erscheint der Text ohnehin in der Mail, sobald das Mailprogramm gestartet wird.
Ich bin beeindruckt. Du scheinst verstanden zu haben, was Stefan eigentlich wollte.
Ich bin noch am Rätselraten.
Was das Überschreiben betrifft, da hat Ashura nicvht bedacht, daß das Script ja nicht erst nach dem Laden ausgeführt wird.
Eigentlich schon. Wie ich schon sagte:
document.write('<a href="mailto:' + name + '@' + domain + zusatz1 +'">');
document.write(name + '@' + domain + '</a>');Dass du hier mit der ersten Zeile schon das gesamte Dokument überschreibst, ist dir hoffentlich klar, oder?
Meine Methode finde ich übrigens wesentlich sinnvoller, als den alten Hut, den die c't da so vorschlägt.
Sie ist auch nicht schlecht, setzt jedoch JS voraus.
Ich begnüge mich meist, das "@" wahlweise dezimal oder hexadezimal zu kodieren.
Gruß, Ashura
Hi,
Ich bin beeindruckt. Du scheinst verstanden zu haben, was Stefan eigentlich wollte.
Ich bin noch am Rätselraten.
*g*
Was das Überschreiben betrifft, da hat Ashura nicvht bedacht, daß das Script ja nicht erst nach dem Laden ausgeführt wird.
Eigentlich schon. Wie ich schon sagte:
nein. Du hast übersehen, daß das Script nicht in einer Funktion steckt und somit beim Seitenaufbau berücksichtigt wird.
Meine Methode finde ich übrigens wesentlich sinnvoller, als den alten Hut, den die c't da so vorschlägt.
Sie ist auch nicht schlecht, setzt jedoch JS voraus.
aber nur für die Manipulation des Linkziels und nicht für die Anzeige der Adresse. Das halte ich noch für vertretbar und es erhöht die Sicherheit gegenüber einer einfachen Kodierung doch erheblich.
freundliche Grüße
Ingo
hmpf, jetzt bin ich verwirrt. ok, die statusleiste sollte den onmouseover-text anzeigen. ich wäre jedenfalls interessiert daran, dass dem so bleibt. es gibt eine reihe von links bei denen das so ist und die mailadressen würden da aus der reihe tanzen. ich bitte daher darum, mir diese wahl zu belassen ;-)
allerdings seh ich den unterschied in dem c't-script und deiner methode nicht ernsthaft, da js auch gebraucht wird?
das ich das gesamte dokument überschreibe ist mir nicht klar. da hätte ich gern eine erklärung, da ich das nicht verstehe. ich bin bei javascript doch eher der blutige neuling. 1998 habe ich mir html4 angelesen und bin da auch stehengeblieben, da es nicht zu meinen berufsaufgaben und auch nicht zu meinem hobby gehört. ich will nur die bestehende firmen-webseite aktualisieren. hexas möchte ich vermeiden, da ich zwar weiß, was da denn steht, aber ein nachfolgender bearbeiter mit noch weniger kenntnissen nicht.
also nochmal: wie baue ich da ein onmouseover ein? wenn ihr es wisst, dann gebt mir doch bitte den hinweis.
Hallo stefan.
hmpf, jetzt bin ich verwirrt. ok, die statusleiste sollte den onmouseover-text anzeigen.
Hilft dir window.status hier weiter?
allerdings seh ich den unterschied in dem c't-script und deiner methode nicht ernsthaft, da js auch gebraucht wird?
Meiner Methode?
das ich das gesamte dokument überschreibe ist mir nicht klar.
Dann schau dir einmal den Unterschied von document.write zu document.writeln an.
1998 habe ich mir html4 angelesen und bin da auch stehengeblieben, da es nicht zu meinen berufsaufgaben und auch nicht zu meinem hobby gehört.
Sauberes HTML 4.01 reicht auch vollkommen aus.
Gruß, Ashura
hi,
das ich das gesamte dokument überschreibe ist mir nicht klar.
Dann schau dir einmal den Unterschied von document.write zu document.writeln an.
der einzige unterschied ist, dass das eine einen zeilenumbruch anfügt, das andere nicht.
mit dem - ggf. möglichen - überschreiben des vorhandenen dokumentes hat das aber absolut null zu tun.
gruß,
wahsaga
Hallo wahsaga.
der einzige unterschied ist, dass das eine einen zeilenumbruch anfügt, das andere nicht.
mit dem - ggf. möglichen - überschreiben des vorhandenen dokumentes hat das aber absolut null zu tun.
Oha, da hing ich bisher einem Irrglaube nach. Danke für den Hinweis.
Gruß, Ashura
tja also das hilft mir jetzt auch noch nicht weiter, da ich noch nicht weiß wie ich das einbinde. bisher stand <ahref="xyz" onmouseover="self.status='Nachricht an efghijkl';return true">123</a>
in den von mir oben gewählten beispiel kann ich das aber nicht so einbinden. zumindest weiß ich nicht wo! bei meinen versuchen blib der link dann ganz aus, wohl nicht darstellbar wegen zeichenfehler.
hmpf, jetzt bin ich verwirrt. ok, die statusleiste sollte den onmouseover-text anzeigen.
Hilft dir window.status hier weiter?
allerdings seh ich den unterschied in dem c't-script und deiner methode nicht ernsthaft, da js auch gebraucht wird?
Hallo stefan.
tja also das hilft mir jetzt auch noch nicht weiter, da ich noch nicht weiß wie ich das einbinde.
Das Beispiel hat dies aber mehr als deutlich gezeigt.
bisher stand <ahref="xyz" onmouseover="self.status='Nachricht an efghijkl';return true">123</a>
Warum übernimmst du nicht erst einmal das Beispiel 1 : 1 und veränderst dann einfach den anzugzeigenden String? Dann würde es nämlich wie folgt aussehen:
<a href="xyz" onmouseover="[code lang=javascript]window.status='Nachricht an efghijkl';return true
">123</a>[/code]
in den von mir oben gewählten beispiel kann ich das aber nicht so einbinden.
Und weshalb?
zumindest weiß ich nicht wo!
Das verstehe ich nicht, du hast es doch schon richtig eingebunden.
bei meinen versuchen blib der link dann ganz aus, wohl nicht darstellbar wegen zeichenfehler.
Erläutere "ganz aus", eine Fehlerbeschreibung sieht anders aus.
Mein Tipp: Nutze die JavaScript-Konsole deines Browsers.
Gruß, Ashura
<script language="JavaScript"><!--
var name = "vorname";
var domain = "domain.de";
var zusatz1 = "?body=Guten%20Tag%20...";
document.write('<a href="mailto:' + name + '@' + domain + zusatz1 +'">');
document.write(name + '@' + domain + '</a>');
// --></script>
hier soll das --- onmouseover="window.status='Nachricht an efghijkl';return true" --- hinein.
die zeile
document.write('<a href="mailto:' + name + '@' + domain + zusatz1 +'" onmouseover="window.status='Nachricht an efghijkl';return true">');
funktioniert allerdings nicht. der link wird schlicht aufgrund des nicht gefundenen zeichensatzes --- ') --- nicht angezeigt.
ergo müsste ich wissen wie diese zeile mit einem onmouseover korrekt heißen muss. soweit verständich? --- bedeutet soviel wie anführungszeichen, die ich hier mal nicht genommen habe, damit man bei den zeichen noch durchsehen kann.
Hallo stefan
document.write('<a href="mailto:' + name + '@' + domain + zusatz1 +'" onmouseover="window.status='Nachricht an efghijkl';return true">');
Nun schau dir deine ' an, überlege dir genau, wo die Zeichenkette, die dem
dokument.write übergeben wird beendet wird und lese Steuerzeichen bei Zeichenketten.
Dann wirst du mit Sicherheit selbst auf die Lösung kommen.
Auf Wiederlesen
Detlef
hmm, das hab ich jetzt gemacht und mal drüber nachgedacht. so nun hab ich aber schon zum 300mal draufgeguckt und mir schwirren die augen. ich finde nden fehler einfach nicht. wald vor lauter bäumen?
wäre super nett wenn du mir da hilfst und mir das onmouseover beispielhaft einarbeiten könntest, denn ich seh echt schon jeden pixel. *schreih*
Hallo stefan
document.write('<a href="mailto:' + name + '@' + domain + zusatz1 +'" onmouseover="window.status='Nachricht an efghijkl';return true">');
Nun schau dir deine ' an, überlege dir genau, wo die Zeichenkette, die dem
dokument.write übergeben wird beendet wird und lese Steuerzeichen bei Zeichenketten.
Dann wirst du mit Sicherheit selbst auf die Lösung kommen.
Auf Wiederlesen
Detlef
jippiiiiii ich hab den fehler. scheiß teufel. aber danke, dein hinweis mit dem zeichenende der ' genau das wars. DDDDaaaaaannkeeee.
Hi,
ok, die statusleiste sollte den onmouseover-text anzeigen. ich wäre jedenfalls interessiert daran, dass dem so bleibt.
dann versuche doch nicht, es zu ändern!
es gibt eine reihe von links bei denen das so ist und die mailadressen würden da aus der reihe tanzen. ich bitte daher darum, mir diese wahl zu belassen ;-)
Du verkennst völlig, daß auch mailto: ein Link ist und es eher "aus der Reihe tanzt", wenn dieser nicht in der Statusleiste angezeigt würde. Diese Information ist _mir_ jedenfalls sehr wichtig, da ich dann darauf vorbereitet bin, daß sich mein eMail-Programm öffnen wird und ich keine Internetseite aufrufe. Diese Information ist mir sogar so wichtig, daß ich über mein User-CSS ein entsprechendes Icon vor solche Links setzen lasse.
Mit Deinem Vorhaben verscheierst Du den Link und diese Information und stiftest nur Verwirrung.
allerdings seh ich den unterschied in dem c't-script und deiner methode nicht ernsthaft, da js auch gebraucht wird?
Der Unterschied ist, daß bei der c't Methode (bzw. die hier genannte leider gängige Methode) absolut nichts zu sehen ist, wenn jemand Javascript deaktiviert hat, während bei meiner Methode die eMail-Adresse vorhanden - wenn auch nicht verlinkt - ist; wobei wie angegeben ja auch eine Verlinkung mit einem alternativen Kontaktformular möglich wäre.
Besonders übel kommt die c't-Methode im Impressum, welches dadurch nicht mehr den gesetlichen Anforderungen genügt. Aber selbst wenn ein Besucher ohne Javascript liest "Schreiben sie an , um weitere Informationen zu erhalten", wäre das peinlich genug.
freundliche Grüße
Ingo