innerHTML no funciona en IE11 e IE8

Uso estos códigos para refrescar una parte de mi página:

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

container.innerHTML funcionó bien en Firefox y Chrome, pero no funciona en IE8 e IE11

He leído estos enlaces: .InnerHTML No funciona correctamente en Internet Explorer y document.getElementById (). InnerHTML falla con ‘Error desconocido’ en IE

pero mi problema es que no puedo cambiar fácilmente la otra parte de mi código debido a la generación dinámica.

1) ¿Hay alguna manera que yo pueda hacer solo con esta parte de mi código para resolver el problema de IE?

2) y también necesito una alternativa para:

 window.history.pushState() 

que no funciona en IE8 e IE9

para la primera parte de tu pregunta haz esto:

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

y para la segunda parte de su pregunta, @JITHIN PV dijo que debe usar history.js

puedes usarlo fácilmente así:

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

IE9 y siguientes no son compatibles con pushState. Para los navegadores no compatibles, use la API de historial . y también encuentre más lista de polyfills aquí .