gpt4 book ai didi

javascript - 升级到 jQuery 1.6.2 后,globalEval 在页面上尝试执行 javascript 时抛出错误

转载 作者:数据小太阳 更新时间:2023-10-29 05:30:46 26 4
gpt4 key购买 nike

我从 jQuery 1.4.2 升级到 1.6.2,现在出现错误(在 IE 中)。我在由 jQuery 执行的页面上有 JavaScript globalEval() 功能

// 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 );
}
},

在 IE 中调用抛出异常:

"Error: Could not complete the operation due to error 80020101."

执行的data参数是页面上被<!-- -->包围的javascript变量

<!-- 
var id = \"ctrl90900\";

var url = \"myur.com/blah.html\";

-->

我正在使用 IE9,并且 jQuery 1.6.2不知道为什么这会导致错误。

最佳答案

如果有any error at all in a script passed to execScript,就 Internet Explorer 而言,它将报告 80020101 而不是原始错误。

因此,还要检查缺少的分号和 IE 不支持的 JS 功能。

对于简短的代码段落,我发现最有效的调试技术是注释掉部分代码并查看错误是否仍然出现。如果没有,请检查刚刚针对上述错误注释掉的代码块。

关于javascript - 升级到 jQuery 1.6.2 后,globalEval 在页面上尝试执行 javascript 时抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7072060/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com