innerHTML不';我不能在IE11和IE8中工作

innerHTML不';我不能在IE11和IE8中工作,html,internet-explorer,internet-explorer-8,innerhtml,internet-explorer-11,Html,Internet Explorer,Internet Explorer 8,Innerhtml,Internet Explorer 11,我使用以下代码刷新页面的一部分: var container = document.getElementById("mainForm:table_1"); var content = container.innerHTML; container.innerHTML= content; container.innerHTML在firefox和chrome中运行良好 但它在IE8和IE11中不起作用 我已经阅读了以下链接: 和 但我的问题是,由于动态生成的复杂性,我无法轻松更改代码的其他部分 1

我使用以下代码刷新页面的一部分:

var container = document.getElementById("mainForm:table_1");
var content = container.innerHTML;
container.innerHTML= content;
container.innerHTML在firefox和chrome中运行良好 但它在IE8和IE11中不起作用

我已经阅读了以下链接: 和

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

1) 有没有什么办法,我可以做的只是用我的代码的这些部分来解决IE的问题

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

window.history.pushState()

它在IE8和IE9中不起作用,IE9及其以下版本不支持pushState。供使用。还可以找到更多的列表。

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

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

如果设置为其innerHTML的新内容与其实际内容相同,IE 11似乎不会刷新元素。
我的问题是“some_url”中的字符串是相同的,即使其内容发生了更改。

为了解决这个问题,我在某个url的末尾添加了毫秒,这样它就变成了:

我猜
mainForm:table\u 1
元素?如果是,请尝试选择表的父元素并替换整个表。是的,您是对的,它是一个表。我试着这么做,我问题的第二部分呢?如何使用类似于pushstate的东西将字符串添加到url中,这些东西也适用于ie8和ie9?谢谢你的回答是的,你是对的,它不起作用,但是用原生javascript或jquery就不能这样做吗?不使用历史记录API@OmiD你可以停止支持过时的浏览器。现在是我们停止迎合拒绝更新的人的时候了——特别是因为这样做需要手动和故意(因此,恶意地)禁用Windows update。