Contexto
Página con ReportViewer en Internet Explorer 9,
Sintomas
Aparece un "Error en tiempo de ejecución de Microsoft jscript, Interfaz no compatible" al desplegar una de las listas de criterios.
El error esta relacionado con la función window.getComputedStyle.
Solución
Fuente: MikeHoffer en un articulo de Microsoft Community
- Prepara la página para usar jquery si aún no existe.
- Inserta el siguiente código en la sección de cabecera.
<!-- IE 9 throws an error when this is called, so we need to override it and catch that error -->
<!--[if IE 9]>
<script language="javascript" type="text/javascript">
$(window).ready(function () {
window.getComputedStyle = function (el, pseudo) {
this.el = el;
this.getPropertyValue = function (prop) {
var re = /(\-([a-z]){1})/g;
if (prop == 'float') prop = 'styleFloat';
if (re.test(prop)) {
prop = prop.replace(re, function () {
return arguments[2].toUpperCase();
});
}
//error occures on the currentStyle
//return el.currentStyle[prop] ? el.currentStyle[prop] : null;
if (typeof(el.currentStyle) == 'undefined') {
return null;
} else {
return el.currentStyle[prop] ? el.currentStyle[prop] : null;
}
}
return this;
}
})
</script>
<![endif]-->