mailto-Link mit JS & document.write formatieren ?
Lukas
- javascript
0 Mathias Brodala0 Lukas
Hallo!
Ich habe 2 kleine Fragen zu JavaScript. (Wie) kann ich einen mailto-Link mit JavaScript erstellen? Und wie kann ich ein Ergebnis von document.write formatieren? Ich hab schon rumprobiert. Bin aber auf nichts richtiges gestoßen.
Much Thx!
cya, Lukas
Hallo Lukas.
Ich habe 2 kleine Fragen zu JavaScript. (Wie) kann ich einen mailto-Link mit JavaScript erstellen?
Entweder, indem du die entsprechende http://de.selfhtml.org/javascript/objekte/string.htm#link@title=Stringmethode oder http://de.selfhtml.org/javascript/objekte/all.htm#inner_html@title=innerHTML oder http://de.selfhtml.org/javascript/objekte/document.htm#create_element@title=createElement und http://de.selfhtml.org/javascript/objekte/node.htm#append_child@title=appendChild nutzt. Bei letzterem kannst du den Attributen direkt ihre Werte zuweisen.
Und wie kann ich ein Ergebnis von document.write formatieren?
Definiere „formatieren“. Wenn es tatsächlich um Optik geht, bietet sich http://de.selfhtml.org/css/@title=CSS an.
Einen schönen Sonntag noch.
Gruß, Mathias
Hallo!
Danke für deine Hilfe!
Und wie kann ich ein Ergebnis von document.write formatieren?
Definiere „formatieren“. Wenn es tatsächlich um Optik geht, bietet sich http://de.selfhtml.org/css/@title=CSS an.
Ja genau, ich meine die Optik. Aber wie geht das mit CSS? Ich habe mit CSS für body die Hintergrundfarbe, Schriftfarbe und Schriftgröße angegeben und dachte, dass document.write auch zu body gehören würde. Aber irgendwie ging das nicht.
Much Thx
Lukas
Hi,
Ja genau, ich meine die Optik. Aber wie geht das mit CSS?
document.write() schreibt an die (im Rendering-Prozess) aktuelle Stelle des HTML-Dokumentes HTML-Code. Es existiert nicht der geringste Unterschied dazu, an exkt dieselbe Stelle exakt den selben HTML-Code per Hand zu schreiben.
Ich habe mit CSS für body die Hintergrundfarbe, Schriftfarbe und Schriftgröße angegeben und dachte, dass document.write auch zu body gehören würde. Aber irgendwie ging das nicht.
Dann machst Du etwas falsch. Was das ist, können wir mit den gegebenen Informationen nicht beurteilen.
Cheatah
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled</title>
<style type="text/css">
body {
color: #FFFFFF;
background-color: #000000;
font-size: 100.01%;
font-family: Helvetica,Arial,sans-serif;
margin: 0;
padding: 1em;
line-height: 1.3em;
}
</style>
</head>
<body>
<form name="show_email">
<input type="Button" value="Emailadresse anzeigen" onclick="add()" id="button" style="display:block;">
</form>
<div id="Email">
<script type="text/javascript">
var name = "Boehmlu";
var at = "@";
var domain = "web.de";
Much Thx,
szia, Lukas
Hallo!
Ich habe gerade noch gesehen, dass Firefox nach dem Ausführen des JS ewig weiter lädt. Warum?
Much Thx
szia, Lukas
Hallo Lukas.
<form name="show_email">
<input type="Button" value="Emailadresse anzeigen" onclick="add()" id="button" style="display:block;">
</form>
<div id="Email">
<script type="text/javascript">
var name = "Boehmlu";
var at = "@";
var domain = "web.de";function add() {
var complete = name + at + domain;
document.write(complete);
document.getElementById("button").style.display = "none";
}
</script>
Du möchtest hier nicht zufällig eine vor Spambots verborgene E–Mail–Adresse für dein Impressum generieren? Wenn doch, dann solltest du dein Vorhaben einstellen, da diese Methode nicht den Anforderungen des TKG entspricht.
Und auch sonst hätten Nutzer, welchen JavaScript aus welchen Gründen auch immer nicht zur Verfügung steht, nichts von obigem. Nutze besser einen serverseitigen Mechanismus hierfür.
Einen schönen Sonntag noch.
Gruß, Mathias
Hi!
Du möchtest hier nicht zufällig eine vor Spambots verborgene E–Mail–Adresse für dein Impressum generieren?
Doch :-)
Wenn doch, dann solltest du dein Vorhaben einstellen, da diese Methode nicht den Anforderungen des TKG entspricht.
Was hätte es für Folgen, wenn ich etwas mache, das nicht den TGK entspricht? Ich habe ja nur eine kleine Homepage und möchte diesen Mechanismus nicht für ein kommerzielles oder nicht-privates Projekt benutzen.
Und auch sonst hätten Nutzer, welchen JavaScript aus welchen Gründen auch immer nicht zur Verfügung steht, nichts von obigem.
Da hätte ich mir noch Gedanken darüber gemacht :-)
Nutze besser einen serverseitigen Mechanismus hierfür.
Nichts lieber als das. Aber 1&1 bietet mir kein PHP an :-( Oder kennst du einen Gratis-Webspaceanbieter mit PHP?
Vielen Dank für deine umfassende Hilfe!
szia, Lukas
Hallo Lukas.
Wenn doch, dann solltest du dein Vorhaben einstellen, da diese Methode nicht den Anforderungen des TKG entspricht.
Was hätte es für Folgen, wenn ich etwas mache, das nicht den TGK entspricht? Ich habe ja nur eine kleine Homepage und möchte diesen Mechanismus nicht für ein kommerzielles oder nicht-privates Projekt benutzen.
Lies einfach Ingo Turskis Ausführungen und auch die, die er selbst auf einen anderen Thread verlinkt hat.
Nutze besser einen serverseitigen Mechanismus hierfür.
Nichts lieber als das. Aber 1&1 bietet mir kein PHP an :-( Oder kennst du einen Gratis-Webspaceanbieter mit PHP?
Ich kenne keinen, aber muss es denn unbeding gratis sein? Ein Webspace mit PHP–Unterstützung kostet heutzutage wirklich nicht mehr die Welt. Bei all-inkl.com zum Beispiel bezahlst du knapp 5€ im Monat für den niedrigsten Tarif. Andere Anbieter kannst du auch im Archiv finden; in mehr oder weniger regelmäßigen Abständen wird nach einem optimalen Anbieter gefragt.
Einen schönen Sonntag noch.
Gruß, Mathias
Hi!
Lies einfach Ingo Turskis Ausführungen und auch die, die er selbst auf einen anderen Thread verlinkt hat.
Ok. Thx
Ich kenne keinen, aber muss es denn unbeding gratis sein?
Ja!
Ein Webspace mit PHP–Unterstützung kostet heutzutage wirklich nicht mehr die Welt.
Nicht die Welt? Für einen armen, mittellosen Schüler, wie mich ist es auf jeden Fall zu viel. :-)
Aber trotzdem vielen Dank!
szia, Lukas
Hi,
Ich habe ja nur eine kleine Homepage und möchte diesen Mechanismus nicht für ein kommerzielles oder nicht-privates Projekt benutzen.
wenn Deine Homepage öffentlich zugänglich ist, fällt sie unter das Teledienstgesetz. Ob sie kommerzielle Ansätze besitzt, ist unerheblich.
Cheatah
Hi,
<input type="Button" value="Emailadresse anzeigen" onclick="add()" id="button" style="display:block;">
[...]
function add() {
var complete = name + at + domain;
document.write(complete);
wenn Du nicht zufällig sehr, sehr schnell während des Ladevorgangs auf den Button klickst, dürfte das Dokument bereits fertig gerendert sein. Ergo findet das document.write() _außerhalb_ des Dokuments statt, was sinnvollerweise zur Folge hat, dass das bestehende Dokument zunächst vernichtet wird. Dass Firefox ewig zu laden scheint liegt daran, dass Du dieses neue Dokument nirgendwo mit document.close() abschließt.
document.getElementById("button").style.display = "none";
Sollte wider Erwarten dies nach der Dokumentvernichtung noch ausgeführt werden, wird die Aktion fehlschlagen, weil es kein Element mit der ID "button" mehr gibt.
Cheatah
Hi,
wenn Du nicht zufällig sehr, sehr schnell während des Ladevorgangs auf den Button klickst, dürfte das Dokument bereits fertig gerendert sein. Ergo findet das document.write() _außerhalb_ des Dokuments statt, was sinnvollerweise zur Folge hat, dass das bestehende Dokument zunächst vernichtet wird. Dass Firefox ewig zu laden scheint liegt daran, dass Du dieses neue Dokument nirgendwo mit document.close() abschließt.
Danke! Jetzt hab ich wieder etwas neues gelernt. Das war mir vorher so nicht bewusst.
document.getElementById("button").style.display = "none";
Sollte wider Erwarten dies nach der Dokumentvernichtung noch ausgeführt werden, wird die Aktion fehlschlagen, weil es kein Element mit der ID "button" mehr gibt.
Ähm, da muss ich widersprechen. Bei mir wird dieser Button dann noch ausgeblendet. Warum, weiss ich nicht.
szia, Lukas
Hi,
document.getElementById("button").style.display = "none";
Sollte wider Erwarten dies nach der Dokumentvernichtung noch ausgeführt werden, wird die Aktion fehlschlagen, weil es kein Element mit der ID "button" mehr gibt.
Ähm, da muss ich widersprechen. Bei mir wird dieser Button dann noch ausgeblendet. Warum, weiss ich nicht.
er wird nicht "dann noch" ausgeblendet, sondern wurde vorher bereits komplett vernichtet.
Cheatah
Hi,
document.getElementById("button").style.display = "none";
Sollte wider Erwarten dies nach der Dokumentvernichtung noch ausgeführt werden, wird die Aktion fehlschlagen, weil es kein Element mit der ID "button" mehr gibt.
Ähm, da muss ich widersprechen. Bei mir wird dieser Button dann noch ausgeblendet. Warum, weiss ich nicht.er wird nicht "dann noch" ausgeblendet, sondern wurde vorher bereits komplett vernichtet.
Achso. Ok.
szia, Lukas
Hallo Lukas.
Wenn es tatsächlich um Optik geht, bietet sich http://de.selfhtml.org/css/@title=CSS an.
Ja genau, ich meine die Optik. Aber wie geht das mit CSS? Ich habe mit CSS für body die Hintergrundfarbe, Schriftfarbe und Schriftgröße angegeben und dachte, dass document.write auch zu body gehören würde. Aber irgendwie ging das nicht.
Du missverstehst hier etwas. CSS dient der Formatierung und verwendet hierfür Selektoren um die jeweiligen Elemente zu erfassen. Document.write ist dagegen JavaScript und hat mit CSS nichts zu tun.
Je nachdem, wie deine Struktur letztendlich aufgebaut ist, kannst du den entsprechenden Selektor notieren und den Link formatieren. Oft ist die Verschachtelung der jeweiligen Elemente schon als Erkennungsmerkmal ausreichen. Beispiel:
<p>Ein <a href="http://example.org/">Beispiellink</a>.</p>
<ul>
<li><a href="/foo">Foo</a></li>
<li><a href="/bar">Bar</a></li>
<li><a href="/baz">Baz</a></li>
</ul>
Willst du hier alle Links global formatieren, könnte ein möglicher Selektor so aussehen:
a {
/* Regeln */
}
Willst du dagegen ausschließlich Links in dem Absatz formatieren aber andere Links nicht anrühren, steigerst du die Spezifität:
p a {
/* Regeln */
}
Dasselbe gilt natürlich auch, wenn du nur die Links in der Liste formatieren möchtest.
Ist keine eindeutige Struktur gegeben, kannst du dir mit dem Setzen von http://de.selfhtml.org/css/formate/zentrale.htm#klassen@title=Klassen (wenn mehrere gleichartige Elemente in einem Dokument auftreten können) oder einer http://de.selfhtml.org/css/formate/zentrale.htm#individualformate@title=ID (wenn das Element wirklich einzigartig ist) behelfen.
Solltest du den Link per createElement erschaffen wollen, musst du beachten, dass „class“ ein <http://de.selfhtml.org/javascript/sprache/reserviert.htm#uebersicht@title=reserviertes Wort> ist und du daher „className“ zur Zuweisung von Klassen verwenden musst.
Einen schönen Sonntag noch.
Gruß, Mathias