由于某些未知原因,我已经工作了几个月的ASP.NET Web窗体应用程序突然开始抛出此JavaScript错误:
JavaScript运行时错误:对象不支持属性或方法 '的indexOf'。
此错误出现在ASP.NET创建的一个动态的只读JavaScript文件中(我假设)。突出显示错误的代码块是:
_applyWatermark : function() {
// Apply the watermark to the textbox
var wrapper = Sys.Extended.UI.TextBoxWrapper.get_Wrapper(this.get_element());
wrapper.set_Watermark(this._watermarkText);
wrapper.set_IsWatermarked(true);
if(!this._watermarkCssClass)
return;
var classList = this.get_element().className.split();
if(classList.indexOf(this._watermarkCssClass) === -1) {
classList.push(this._watermarkCssClass);
this.get_element().className = classList.join(" ");
}
}
Visual Studio调试器专门指出此行是上述错误的来源:
if(classList.indexOf(this._watermarkCssClass)=== -1){
使用一些上下文线索,我可以看到错误似乎与我正在使用的Watermark extenders
有关。 classList
变量显然没有被赋予正确的值,但我不知道为什么会突然发生这种情况。此应用程序之前从未抛出此错误。
不幸的是,这个应用程序是专有的,所以我不能包含代码。相信我,如果可以的话,我会包含代码以解决这个问题。
我应该补充说,在包含Watermark extender
如果这个问题描述不充分,或者它属于其他地方,请告诉我。我真的不知道发生了什么。谢谢你的帮助。
答案 0 :(得分:0)
经过进一步调查,我发现某些母版页中的<meta>
标签导致了问题。 content
属性应设置为IE=edge
。这是它应该如何阅读:
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
我不完全确定为什么这突然导致应用程序崩溃,但它似乎已经解决了问题。我希望以后可以帮助别人。