SagePay中的location.reload(true)iframe在IE10 / 11中重新加载父项

时间:2015-02-12 12:02:55

标签: javascript asp.net-mvc-4 internet-explorer iframe sagepay

此问题可能是一般的javascript / iframe问题,但与使用

的SagePay授权(低调)页面有关
setTimeout(function () { location.reload(true); }, 2000);

重新加载页面。使用IE10 / 11时,会重新加载父级或导航到iframe网址。

这似乎不是在使用相同html的asp.net web表单公开托管站点中发生,但是,正在内部MVC4应用程序中发生。

1 个答案:

答案 0 :(得分:3)

我不知道,如果这还是个问题。但是我遇到了类似的情况,在iframe中调用location.reload(true)刷新了父级并将iframe的内容加载到浏览器中。

我做了一些研究,但找不到任何会引发这个问题的东西。我还创建了一个带有iframe的测试页面,该iframe重新加载自身,但是在IE 11中刷新工作正常。但是对于IE有上述问题的情况,我现在使用location.href = location.href.replace(location.hash, '')而不是location.reload(true)作为溶液

此方法的一个限制是它不会强制浏览器清除页面的缓存。我还没有在IE 10中测试这个,但如果它在那里工作,可以随意添加评论。我希望这会有所帮助。