He actualizado de jQuery 1.4.2 a 1.6.2 y ahora sale error (en IE). Tengo JavaScript en la página que se ejecuta por jQuery función globalEval()
Después de actualizar a jQuery 1.6.2, globalEval genera un error al intentar ejecutar javascript en la página
// Evaluates a script in a global context
// Workarounds based on findings by Jim Driscoll
// http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context
globalEval: function(data) {
if (data && rnotwhite.test(data)) {
// We use execScript on Internet Explorer
// We use an anonymous function so that context is window
// rather than jQuery in Firefox
(window.execScript || function(data) {
window[ "eval" ].call(window, data);
})(data);
}
},
En IE la llamada ha producido una excepción:
"Error: Could not complete the operation due to error 80020101."
Los datos parámetro que se ejecutan es javascript variables en la página rodeadas de <!-- -->
<!--
var id = \"ctrl90900\";
var url = \"myur.com/blah.html\";
-->
estoy usando IE9, y jQuery 1.6.2 No estoy seguro de por qué esto causaría un error.
¿Funciona si elimina los comentarios? No es JavaScript válido. – alex
Intenta usar esta expresión regular en la cadena antes de pasar a '$ .globalEval()' -> 'str = str.replace (/ /, '$ 1'); '[jsFiddle] (http://jsfiddle.net/alexdickson/GUf7Q/). – alex
@alex eso fue todo. ¡Gracias! –