Gracias, Rosencrantz.
Así es como lo estoy solucionando, pero no me convence del todo, porque no es compatible con todos los navegadores. Por eso preguntaba, por si había algo menos engorroso.
Pongo aquí cómo lo he solucionado, por si a alguien le viene bien. De IE8 para abajo no funciona, eso sí:
Código:
var currentZoom = 1;//Zoom inicial
var currentBckAncho = 1800;//Ancho fondo inicial
var currentBckAlto = 982;//Alto fondo inicial
//Ampliar
$("#ampliar").click(function(event){
currentZoom += 0.1;
currentBckAnchoFin= Math.round(currentZoom*currentBckAncho);
currentBckAltoFin= Math.round(currentZoom*currentBckAlto);
document.body.style.zoom=currentZoom;
document.body.style.backgroundSize=currentBckAnchoFin+"px " +currentBckAltoFin+ "px";
/Firefox
document.body.style.MozTransform = 'scale(' + currentZoom + ')';
//Opera
document.body.style.OTransform = 'scale(' + currentZoom + ')';
return false;
});//fin ampliar
Un saludo.