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");

相关文章

vue阻止冒泡事件 阻止点击事件的执行 <div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些