Start · Sprachen · JavaScript · Referenz · Window.setResizable()

Window.setResizable()

Methode

Veraltete, nicht standardisierte Methode, die nichts tut (No-Op). Früher sollte sie festlegen, ob der Nutzer die Größe eines Fensters ändern darf.

seit JavaScript Nicht standardisiert, veraltet – historisch nur in deprecated seit ja Kategorie: webapi

Signatur

Window.prototype.setResizable(resizable)

Beschreibung

window.setResizable() ist ein Überbleibsel aus der Zeit von Netscape Navigator 4. Damals konnte ein Skript damit festlegen, ob der Nutzer die Größe des Browserfensters ändern darf. In Gecko-basierten Browsern (Firefox) blieb die Methode aus Kompatibilitätsgründen erhalten, sie ist dort aber ein No-Op: Sie nimmt einen Aufruf entgegen und tut nichts.

Die Methode steht in keiner Spezifikation. Chrome, Safari und Edge haben sie nie unterstützt, und in aktuellen Firefox-Versionen kann sie ganz fehlen. Ein direkter Aufruf ohne Prüfung kann deshalb einen TypeError auslösen („window.setResizable is not a function“).

Moderne Browser lassen grundsätzlich nicht zu, dass Webseiten dem Nutzer das Ändern der Fenstergröße verbieten. Das dient der Barrierefreiheit und der Sicherheit. Soll eine Anwendung mit unterschiedlichen Fenstergrößen zurechtkommen, reagiert man mit responsivem CSS, dem resize-Ereignis oder einem ResizeObserver darauf, statt die Größenänderung zu blockieren.

Parameter

Name Typ Default Beschreibung
$resizable Pflicht boolean Früher gedacht als true (Größenänderung erlaubt) oder false (Größenänderung gesperrt). Der Wert wird heute ignoriert.

Rückgabewert

Typ
undefined
Beschreibung
Gibt immer undefined zurück und hat keine Wirkung. In Browsern ohne die Methode führt ein Aufruf zu einem TypeError.

Beispiele

Vorhandensein sicher prüfen (Altcode absichern)

// Altcode aus der Netscape-Zeit absichern, damit er nicht abstürzt
if (typeof window.setResizable === 'function') {
  window.setResizable(false); // hat keine Wirkung
  console.log('setResizable vorhanden, aber ohne Wirkung');
} else {
  console.log('setResizable wird nicht unterstützt');
}
setResizable wird nicht unterstützt

Harmloser Platzhalter beim Migrieren von Altcode

// Platzhalter, damit alte Aufrufe keinen TypeError mehr auslösen
if (!('setResizable' in window)) {
  window.setResizable = () => undefined;
}

const ergebnis = window.setResizable(false);
console.log(ergebnis);
undefined

Moderne Alternative: auf Größenänderungen reagieren statt sie zu verbieten

const layoutAnpassen = () => {
  const kompakt = window.innerWidth < 600;
  document.body.classList.toggle('kompakt', kompakt);
  console.log(`Breite: ${window.innerWidth}px, kompakt: ${kompakt}`);
};

window.addEventListener('resize', layoutAnpassen);
layoutAnpassen();

// Später wieder abmelden:
// window.removeEventListener('resize', layoutAnpassen);
Breite: 1280px, kompakt: false

// Wichtig · Fallstricke

  • Veraltet und nicht standardisiert: Nicht in neuem Code verwenden. Die Methode hat keine Wirkung und kann in aktuellen Browsern ganz fehlen.
  • Browser-Kompatibilität: Chrome, Edge und Safari haben die Methode nie unterstützt. Ein ungeprüfter Aufruf löst dort einen TypeError aus.
  • Auch das Fenster-Merkmal resizable=no in window.open() wird von modernen Browsern ignoriert. Popups lassen sich immer in der Größe ändern.
  • Wird ein bestimmtes Seitenverhältnis oder eine Mindestgröße gebraucht, löst man das im Layout, z. B. mit CSS min-width, aspect-ratio, Media Queries oder ResizeObserver, und nicht über Einschränkungen am Fenster.