我的应用程序在Visual Studio 2008中,.net 3.5在IE7下运行 它在Firefox中运行良好,但在IE7中得到“未指定的错误” -
Error -
Line: 28
Char: 56
Error: Unspecified error.
Code:0
URL: ***.aspx
由于此页面上有大约15个.js文件,所以即使找到错误代码也无法获取任何信息。
有人可以指导我调试此错误的方法。
谢谢!
答案 0 :(得分:2)
IE7调试器一文不值。
但是有一个很好的工具Internet Explorer Developer Toolbar和Web Development Helper
答案 1 :(得分:0)
Unspecified error.
可能意味着很多事情。以下是识别问题的一些提示。
您可以将代码粘贴到JSLint.com,JSHint.com,安装JSHint或其他JavaScript Linters。
在这种情况下,JSHint可能是你最好的选择,因为它有一些选项可以使它更严格,并且对于旧版本的规范。您可以查看list of JSHint options,但这里重要的是es3
。
如果您需要在旧版浏览器中执行程序,请使用此选项,例如Internet Explorer 6/7/8/9
将其添加到JS文件的顶部:
/* jslint es3: true */
或者将.jshintrc
文件添加到目录或JS文件上方的目录中并将其放入其中:
{
"es3": true
}
然后运行JSHint:
jshint myfile.js
new
关键字我注意到我得到的Unspecified error
实际上是我使用new
关键字作为对象属性,如下所示:
var MyCustomClass = function() { /* ... */ }
MyCustomClass.new = function() {
/* ^ Unspecified error here */
var mycustomclass = new MyCustomClass();
// Do extra stuff with mycustomclass
return mycustomclass;
}
上面,我在创建类时使用new
作为辅助方法来做一些额外的事情。这可能不是理想的解决方案,现在我可以在类构造函数中做这些事情,但我的问题是我使用new
关键字作为对象属性。显然IE7认为这是一个脚本停止错误,而较新的浏览器没有(我不知道IE8)。
offsetParent
在阅读元素的offsetParent
时,IE7会提供精彩的Unspecified error.
有一个StackOverflow question about this。您可以通过将代码包装在try catch
。
var op;
try {
op = element.offsetParent
}
catch(unused) {}