![](/img/trans.png)
[英]Why won't this code work in IE11, Chrome, Firefox, but will work in IE8?
[英]innerHTML doesn't work in IE11 and IE8
我使用这些代码来刷新我的页面的一部分:
var container = document.getElementById("mainForm:table_1");
var content = container.innerHTML;
container.innerHTML= content;
container.innerHTML 在 Firefox 和 chrome 中运行良好,但在 IE8 和 IE11 中不起作用
我已经阅读了这些链接: .InnerHTML 在 Internet Explorer 中无法正常工作,并且document.getElementById().innerHTML 在 IE 中失败并出现“未知错误”
但我的问题是由于动态生成,我无法轻松更改代码的另一部分。
1) 有什么办法可以只用我的代码的这些部分来解决 IE 问题吗?
2)而且我还需要一个替代方案:
window.history.pushState()
这在 IE8 和 IE9 中不起作用
IE9及以下版本不支持pushState。 对于不受支持的浏览器,请使用历史API 。 并在此处找到更多的填充物列表。
对于问题的第一部分,请执行以下操作:
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似乎不刷新元素。
我的问题是在<img src ='some_url'...>中,'some_url'字符串即使其内容已更改也是相同的。
为了解决这个问题,我在some_url的末尾添加了毫秒数,因此它变为:<img src ='some_url&time ='+ new Date()。getTime()...>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.