des renseignements recueillis en grande partie par cette question: Catch browser's "zoom" event in JavaScript
J'ai joué avec essayant de suivre le zoom du navigateur pour le dernier jour ou, ce qui est à peu près aussi proche que vous pouvez obtenir sans une norme onZoom événement que vous pouvez tuer.
document.observe('keydown', function (ev) {
var key, keys = ['0'];
var isApple = (navigator.userAgent.indexOf('Mac') > -1), isCmmd, isCtrl;
if (window.event)
{
key = window.event.keyCode;
isCtrl = window.event.ctrlKey ? true : false;
isCmmd = window.event.metaKey ? true : false;
} else {
key = e.which;
isCtrl = ev.ctrlKey ? true : false;
isCmmd = ev.metaKey ? true : false;
}
if (isCtrl || (isCmmd && isApple)) {
switch (key) {
case 48: // 0
// do not stop, or user could get stuck
break;
case 187: // +
case 189: // -
ev.stop()
break;
default:
break;
}
}
});
Malheureusement, et je joue avec cela pendant un certain temps maintenant, et il n'y a aucun moyen infaillible pour désactiver vraiment. Les options de zoom sont toujours disponibles via les menus de l'application principale, donc jusqu'à une véritable méthode de suivi du zoom (y compris après les rechargements de pages, ce qui est impossible en ce moment, et en plus, webkit présente un comportement bizarre).
Bien que beaucoup de gens souhaitent garder le zoom du navigateur plus caché, je peux personnellement voir les avantages possibles de pouvoir observer le zoom séparément du redimensionnement, car ils sont pour la plupart indistinguables à ce point (et si tout).
Question intéressante, mais je ne pense pas que ce soit possible, sauf peut-être pour un film Flash –
Oui, c'est probablement ce que j'attendais. Les secondes réflexions m'ont dit que parce qu'il fonctionnait autour des fonctionnalités qui étaient dans le navigateur, même si vous pouviez le faire fonctionner, il ferait probablement la mauvaise chose dans certaines circonstances. –
C'est une question intéressante. Je pense avoir vu des sites où je n'ai pas pu redimensionner quoi que ce soit (et non, ils n'étaient pas en Flash) – NullUserException