在FF和Chrome中,我可以使用bind将此值设置为位置对象,具有以下代码
locationFacade ={
reload: location.reload.bind(location)
}
locationFacade.reload();
或者我可以使用申请
locationFacade ={
reload: function(){
location.reload.apply(location,arguments); }
}
locationFacade.reload();
然而,在IE 9中,我一直在调用 locationFacade.reload(); 时,我一直收到"无效的调用对象" 我没有测试过每个IE但是问题发生了在IE 11中也是如此。 IE here和here
都支持应用和绑定答案 0 :(得分:3)
这个问题似乎是IE的一个bug。我在IE11中测试了很多函数(document.writeln,window.alert等),除了location
的成员之外,它们都可以绑定。此解决方法可能会有所帮助:
locationFacade = {
reload: window.navigate ?
window.navigate.bind(window, location.href) :
location.reload.bind(location)
}