2 showbo showbo 于 2018.03.08 21:31 提问

简单的测试代码,IE报错SCRIPT445: 对象不支持此操作

下面的代码在IE中报错SCRIPT445: 对象不支持此操作,firefox,chrome没有问题。

 <script>
    function start() { alert('start')}
</script>
<input type="button" onclick="start();" value="start" />

3个回答

qq_34480270
qq_34480270   2018.03.08 21:29
已采纳

之前碰到过,start是IE dom的一个property,由于作用域问题,会从当前作用域查找start方法或者属性,由于ie奇葩,dom有property(值为字符串fileopen),所以ie下将字符串作为要执行的函数报错了,引用的不是window作用域下的start方法。

增加window调用作用域就行

 <input type="button" onclick="alert(this.start+'\n'+typeof this.start);" value="start" /><br>
<input type="button" onclick="window.start();" value="start" />
jungji
jungji   2018.03.09 14:32

之前碰到过,start是IE dom的一个property,由于作用域问题,会从当前作用域查找start方法或者属性,由于ie奇葩,dom有property(值为字符串fileopen),所以ie下将字符串作为要执行的函数报错了,引用的不是window作用域下的start方法。

增加window调用作用域就行



之前碰到过,start是IE dom的一个property,由于作用域问题,会从当前作用域查找start方法或者属性,由于ie奇葩,dom有property(值为字符串fileopen),所以ie下将字符串作为要执行的函数报错了,引用的不是window作用域下的start方法。

增加window调用作用域就行



cd_fly
cd_fly   2018.03.16 11:18

应该是浏览器兼容问题

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!