Signatur
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
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');
}
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);
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);
// 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
TypeErroraus. - Auch das Fenster-Merkmal
resizable=noinwindow.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 oderResizeObserver, und nicht über Einschränkungen am Fenster.