javascript - JS: Error al ejecutar ''getComputedStyle'' en ''Window'': el parámetro no es del tipo ''Elemento''
mediawiki typeerror (4)
En resumen: estoy tratando de entender el significado de este TypeError: no se pudo ejecutar ''getComputedStyle'' en ''Window'': el parámetro 1 no es de tipo ''Elemento'' El error aparece al almorzar el editor visual de Mediawiki, como se puede ver aquí:
http://www.wiki.org.il/index.php?title=new-page&veaction=edit
El error no permite crear nuevas páginas o editar el wiki de forma anónima. Sin embargo, con el uso de una máscara diferente el error desaparece:
http://www.wiki.org.il/index.php/Main_Page?useskin=vector
El wiki se ejecuta en 1.25alpha.
Para aquellos que obtuvieron este error en AngularJS y no en jQuery:
Lo obtuve en AngularJS v1.5.8 al intentar ng-include
un type="text/ng-template"
que no existía.
<div ng-include="tab.content">...</div>
Asegúrese de que cuando utiliza ng-include, los datos de esa directiva apuntan a una página / sección real. De lo contrario, probablemente quiso:
<div>{{tab.content}}</div>
El mensaje de error es bastante sencillo: getComputedStyle espera un Element como su primer argumento, y se le pasó algo más.
Si lo que realmente está pidiendo es ayuda para depurar su piel, debe hacer un mayor esfuerzo para aislar el error.
En mi caso estaba usando ClassName
.
getComputedStyle( document.getElementsByClassName(this_id)) //error
También funcionará sin segundo argumento " "
.
Aquí está mi código completo de ejecución:
function changeFontSize(target) {
var minmax = document.getElementById("minmax");
var computedStyle = window.getComputedStyle
? getComputedStyle(minmax) // Standards
: minmax.currentStyle; // Old IE
var fontSize;
if (computedStyle) { // This will be true on nearly all browsers
fontSize = parseFloat(computedStyle && computedStyle.fontSize);
if (target == "sizePlus") {
if(fontSize<20){
fontSize += 5;
}
} else if (target == "sizeMinus") {
if(fontSize>15){
fontSize -= 5;
}
}
minmax.style.fontSize = fontSize + "px";
}
}
onclick= "changeFontSize(this.id)"
Tuve este mismo error mostrando Cuando reemplacé el selector jQuery con JavaScript normal, el error fue corregido.
var this_id = $(this).attr(''id'');
Reemplazar:
getComputedStyle( $(''#''+this_id)[0], "")
Con:
getComputedStyle( document.getElementById(this_id), "")