Gibt es eine Möglichkeit, die Mindestgröße eines Browserfensters für alle Browser manuell festzulegen?
Du kannst es versuchen
body { min-width:600px; }
Sie erhalten eine horizontale Bildlaufleiste, wenn der Darstellungsbereich weniger als 600 Pixel beträgt. Dies funktioniert nur in modernen Browsern, die eine CSS-Eigenschaft mit minimaler Breite unterstützen.
Ich glaube nicht, dass es möglich ist, die Größenänderung des Benutzers einzuschränken.
Sie müssen Javascript verwenden und das betreffende Fenster erstellen, damit dies meistens funktioniert, da Bugs mit Registern nicht die Größe des Fensters mit anderen Registerkarten ändern können. Selbst dann lassen einige Browser das nicht zu.
Mit window.open
können Sie ein gegebenes Fenster der Größe 640 * 480 erstellen, indem Sie Folgendes angeben:
window.open('http://www.your.url/','yourWindowsName','width=640,height=480');
Innerhalb des Fensters können Sie versuchen, resizeTo
height und width, die vom resize
-Ereignishandler wie folgt ausgelöst werden:
function resizeToMinimum(){
var minimum = [640, 480];
var current = [window.outerWidth, window.outerHeight];
var restricted = [];
var i = 2;
while(i-- > 0){
restricted[i] = minimum[i] > current[i] ? minimum[i] : current[i];
}
window.resizeTo(current[0], current[1]);
}
window.addEventListener('resize', resizeToMinimum, false)
Sie sollten berücksichtigen, dass beide oben genannten Verhaltensweisen umstritten sind und dass das, was Sie beschreiben, die Freiheit des Benutzers einschränkt, seinen Browser so zu verwenden, wie er es für richtig hält. Daher würde ich nicht erwarten, dass dies überall funktioniert - aber an Orten, an denen dies der Fall ist, ist dies der Code, mit dem Sie dies tun können.
function resizeToMinimum(w,h){
w=w>window.outerWidth?w:window.outerWidth;
h=h>window.outerHeight?h:window.outerHeight;
window.resizeTo(w, h);
};
window.addEventListener('resize', function(){resizeToMinimum(100,100)}, false)
Hier ist meine Lösung zur Gewährleistung der tatsächlichen Mindestbreite und -höhe des Inhalts, einschließlich der "Chrome" -Dimensionen verschiedener Browser. Dies funktioniert nicht mit Firefox, aber ich habe es in Edge und Chrome getestet.
function ensureMinimumWindowSize(width, height) {
var tooThin = (width > window.innerWidth);
var tooShort = (height > window.innerHeight);
if (tooThin || tooShort) {
var deltaWidth = window.outerWidth - window.innerWidth;
var deltaHeight = window.outerHeight - window.innerHeight;
width = tooThin ? width + deltaWidth : window.outerWidth;
height = tooShort ? height + deltaHeight : window.outerHeight;
// Edge not reporting window outer size correctly
if (/Edge/i.test(navigator.userAgent)) {
width -= 16;
height -= 8;
}
window.resizeTo(width, height);
}
}
var resizeTimer;
window.addEventListener('resize', function(event) {
clearTimeout(resizeTimer);
resizeTimer = setTimeout(function () {
ensureMinimumWindowSize(<width>,<height>);
}, 250);
}, false);