微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

innerHTML在IE11和IE8中不起作用

我使用这些代码刷新页面的一部分:

var container = document.getElementById("mainForm:table_1");
var content = container.innerHTML;
container.innerHTML= content;

container.innerHTML在firefox和chrome中运行良好
但它在IE8和IE11中不起作用

我看过这些链接
.InnerHTML Not working properly in Internet Explorer

document.getElementById().innerHTML fails with ‘Unknown Error’ in IE

但我的问题是,由于动态生成,我无法轻易更改代码的其他部分.

1)有没有什么方法可以用我的代码的这些部分来解决IE问题?

2)我还需要一个替代方案:

window.history.pushState()

这在IE8和IE9中不起作用

解决方法

对于问题的第一部分,请执行以下操作:

var container = document.getElementById("mainForm:table_1").parentNode;
  var content = container.innerHTML
  container.innerHTML= content;

对于你的问题的第二部分,@ JITHIN PV说你必须使用history.js

你可以像这样轻松使用它:

var History = window.History;
History.enabled ;
History.pushState("object or string","object or string","object or string");

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐