| Language | Message | Browser | Number |
|---|---|---|---|
| 简体中文 | 对象不支持此属性或方法 | IE | -2146827850 |
| 繁体中文 | 物件不支援此屬性或方法 | ||
| 日文 | オブジェクトでサポートされていないプロパティまたはメソッドです。 | ||
| 英文 | Object doesn't support this property or method | ||
| 俄文 | Объект не поддерживает это свойство или метод | ||
| 韩文 | 개체가 이 속성 또는 메서드를 지원하지 않습니다. | ||
| 西班牙文 | El objeto no acepta esta propiedad o método | ||
| 波兰文 | O objeto não dá suporte para a propriedade ou método | ||
| 土耳其文 | Nesne bu özellik veya yöntemi desteklemiyor | ||
| 德文 | Das Objekt unterstützt diese Eigenschaft oder Methode nicht. | ||
| 法文 | Cet objet ne gère pas cette propriété ou cette méthode | ||
| 荷兰文 | Deze eigenschap of methode wordt niet ondersteund door dit object |
一般是将一个非 函数/方法 当作 函数/方法 调用时造成。 检查代码中是否有函数名与元素属性/属性同名的情况。
貌似 IE 专有异常,同样的代码其他浏览器的异常信息与此不同。
| Browser | Message |
|---|---|
| IE | 对象不支持此属性或方法 |
| Firefox | a.a is not a function |
| Opera | 'a.a' is not a function |
| Safari | 'undefined' is not a function |
| Chrome | Object # has no method 'a' |
商家帮助中心在接入点击热图时,发现IE8中搜索结果超出一页时(此时有翻页), 点击热点脚本计算 md5 部分的代码会报错『对象不支持此属性或方法』。
md5 算法本身的相关代码都是函数式编程,并无使用面向对象的部分,只有简单的 add()
函数调用,及数值位运算。运行时异常的参数部分也都无异常数据。
最初以为是翻页部分的 HTML 标签不匹配,没有 <form> 起始标签,加上 <form> 标签果然没有异常了。
相关代码:
但是另一个发现是,如果删除匹配的 <form> 起始&结束标签,保留这些 hidden 字段,
尤其是保留 name=q 的元素,仍然抛出异常。
再次检查 JavaScript 代码,发现函数中 q 未定义,成为全局变量,
在 IE8 中直接引用 input[name=q] 的元素,为其赋值时,抛出异常。
最小重现代码,属性名为 name 或 id 均抛异常: