Start · Sprachen · JavaScript · Referenz · HTMLObjectElement.name

HTMLObjectElement.name

Eigenschaft

Liest oder setzt den Namen des Browsing-Kontexts eines <code>&lt;object&gt;</code>-Elements und spiegelt das HTML-Attribut <code>name</code> wider.

seit JavaScript Baseline: alle Browser Kategorie: webapi

Signatur

HTMLObjectElement.name

Beschreibung

Die Eigenschaft name des Interfaces HTMLObjectElement gibt einen String zurück, der das HTML-Attribut name des <object>-Elements widerspiegelt. Wenn das Element ein eingebettetes Dokument anzeigt (z. B. eine HTML-Seite oder ein SVG), erzeugt es einen eigenen Browsing-Kontext – und name ist dessen Name.

Diesen Namen kann man wie bei einem <iframe> als Ziel verwenden: in target-Attributen von Links und Formularen oder als zweiten Parameter von window.open(). So lassen sich Inhalte gezielt in das eingebettete Objekt laden.

Die Eigenschaft ist lesend und schreibend. Beim Setzen wird das Attribut name im DOM aktualisiert. Ist kein Attribut vorhanden, liefert die Eigenschaft einen leeren String (""), niemals null.

Parameter

Name Typ Default Beschreibung
$value string "" Beim Setzen: der neue Name des Browsing-Kontexts. Andere Werte werden in einen String umgewandelt.

Rückgabewert

Typ
string
Beschreibung
Der Wert des Attributs name bzw. ein leerer String, wenn das Attribut fehlt.

Beispiele

Namen eines object-Elements auslesen

// HTML: <object id="vorschau" data="seite.html" type="text/html" name="vorschauFenster"></object>
const obj = document.getElementById('vorschau');
console.log(obj.name);
console.log(obj.getAttribute('name'));
vorschauFenster vorschauFenster

Namen setzen und als Link-Ziel nutzen

const obj = document.createElement('object');
obj.type = 'text/html';
obj.data = 'start.html';
obj.name = 'inhalt';
obj.width = 600;
obj.height = 400;
document.body.append(obj);

// Link öffnet Seite im eingebetteten Objekt
const link = document.createElement('a');
link.href = 'hilfe.html';
link.target = obj.name;
link.textContent = 'Hilfe anzeigen';
document.body.append(link);

console.log(obj.outerHTML.includes('name="inhalt"'));
true

Fehlendes Attribut und window.open

const obj = document.createElement('object');
console.log(JSON.stringify(obj.name)); // leerer String

obj.name = 'dokument';
obj.type = 'text/html';
obj.data = 'about:blank';
document.body.append(obj);

// Neue Seite in den benannten Browsing-Kontext laden
window.open('bericht.html', obj.name);
""

// Wichtig · Fallstricke

  • Der Name wirkt nur als Ziel, wenn das <object> tatsächlich einen verschachtelten Browsing-Kontext erzeugt (z. B. bei type="text/html"). Bei Bildern oder Plugins hat er keine Navigationsfunktion.
  • Existiert kein Browsing-Kontext mit dem Namen, öffnen target bzw. window.open() stattdessen ein neues Fenster oder einen neuen Tab.
  • Namen, die mit Unterstrich beginnen (_blank, _self, _top, _parent), sind reserviert und sollten nicht verwendet werden.
  • Für eingebettete Seiten ist <iframe> meist die bessere Wahl, da es Sicherheitsfunktionen wie sandbox unterstützt. Bei fremden Inhalten gilt die Same-Origin-Policy – auf contentDocument kann dann nicht zugegriffen werden.
  • Die Eigenschaft wird von allen modernen Browsern unterstützt.