ybu*_*ser 7 javascript internet-explorer
在FF和Chrome中,我可以使用bind 将此值设置为location对象,具有以下代码
locationFacade ={
reload: location.reload.bind(location)
}
locationFacade.reload();
Run Code Online (Sandbox Code Playgroud)
或者我可以使用申请
locationFacade ={
reload: function(){
location.reload.apply(location,arguments); }
}
locationFacade.reload();
Run Code Online (Sandbox Code Playgroud)
但是在IE 9中,我在调用locationFacade.reload()时不断收到"无效的调用对象" .我没有测试过每个IE,但问题也发生在IE 11中.在这里和这里 IE都支持Apply和bind
这个问题看来是IE的一个bug。我在IE11中测试了很多函数(document.writeln、window.alert等),除了location. 此解决方法可能会有所帮助:
locationFacade = {
reload: window.navigate ?
window.navigate.bind(window, location.href) :
location.reload.bind(location)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3125 次 |
| 最近记录: |