Start · Sprachen · JavaScript · Referenz · String.prototype.fontsize()

String.prototype.fontsize()

Methode

Veraltet: Gibt den String in ein <code>&lt;font size="…"&gt;</code>-Element eingebettet zurück, damit er in der angegebenen Schriftgröße angezeigt wird.

seit JavaScript ES2015 (Annex B, veraltet) – in allen Browsern vor deprecated seit ja Kategorie: method-property

Signatur

String.prototype.fontsize(size)

Beschreibung

fontsize() gehört zu den sogenannten HTML-Wrapper-Methoden von String. Sie gibt einen neuen String zurück, der den ursprünglichen Text in <font size="size">…</font> einschließt. Der ursprüngliche String bleibt unverändert, denn Strings sind in JavaScript unveränderlich.

Die Methode ist in Annex B der ECMAScript-Spezifikation festgelegt. Sie existiert nur, damit alter Code weiter funktioniert, und gilt als veraltet. Das <font>-Element selbst wurde in HTML5 entfernt. Schriftgrößen legt man heute mit CSS fest, zum Beispiel über element.style.fontSize oder eine CSS-Klasse.

Das Argument wird mit String(size) in einen String umgewandelt. Doppelte Anführungszeichen darin werden zu &quot; maskiert. Der eigentliche Text wird dagegen nicht maskiert. Gültige size-Werte des alten <font>-Elements sind die Ganzzahlen 1 bis 7, wobei 3 die Standardgröße ist. Relative Angaben wie "+2" oder "-1" verschieben die Größe gegenüber dieser Grundgröße.

Parameter

Name Typ Default Beschreibung
$size Pflicht number|string Schriftgröße für das Attribut size: eine Ganzzahl von 1 bis 7 oder ein relativer Wert wie "+2" bzw. "-1". Der Wert wird in einen String umgewandelt. Fehlt er, entsteht size="undefined".

Rückgabewert

Typ
string
Beschreibung
Ein neuer String der Form <font size="size">str</font>.

Beispiele

Grundlegende Verwendung

const text = "Hallo Welt";

console.log(text.fontsize(7));
console.log(text.fontsize("-1"));
console.log(text); // Original bleibt unverändert
<font size="7">Hallo Welt</font> <font size="-1">Hallo Welt</font> Hallo Welt

Moderner Ersatz mit CSS und DOM

// Statt: element.innerHTML = "Wichtig!".fontsize(6);
const span = document.createElement("span");
span.textContent = "Wichtig!";
span.style.fontSize = "2rem";
document.body.append(span);

console.log(span.outerHTML);
<span style="font-size: 2rem;">Wichtig!</span>

Fallstrick: Anführungszeichen werden maskiert, der Text nicht

const eingabe = "<b>fett</b>";

console.log(eingabe.fontsize('5" onmouseover="x'));
console.log("Text".fontsize());
<font size="5&quot; onmouseover=&quot;x"><b>fett</b></font> <font size="undefined">Text</font>

// Wichtig · Fallstricke

  • Veraltet: Die Methode steht nur aus Kompatibilitätsgründen in Annex B der Spezifikation und sollte in neuem Code nicht verwendet werden. Alle gängigen Browser, Node.js und Deno bieten sie weiterhin an, das kann sich aber ändern.
  • Obsoletes HTML: <font> ist in HTML5 nicht mehr gültig. Nutze stattdessen CSS (font-size).
  • XSS-Gefahr: Der String-Inhalt wird nicht maskiert. Wenn du das Ergebnis mit Benutzereingaben über innerHTML einfügst, kann das zu Cross-Site-Scripting führen. Verwende textContent und setze Stile über das DOM.
  • Der Aufruf auf null oder undefined (z. B. über call) löst einen TypeError aus.
  • TypeScript und Linter markieren die Methode als deprecated.