我使用ajax调用加载整个页面html,并使用document.write显示它,然后进行一些修改。我需要使用document.write以正确的顺序加载元素,就像通过访问页面加载它一样。一切正常,除了IE和Edge上的setInterval不起作用。
我的代码:
var my_module = {
loadPage: function(){
var url = window.location.origin;
$.ajax({
type: "GET",
url: url
}).done(function(data) {
document.write(data);
document.close();
my_module.example()
});
},
example: function(){
alert(1) //this works fine
var waitForElement = setInterval(function(){
alert(5) //this won't work in IE or edge
},2000)
},
}
my_module.loadPage();
在其他浏览器中,我收到警报,但在IE和Edge中却没有。原因是什么,有什么解决办法吗?
答案 0 :(得分:0)
我认为这可能是由于在不同的浏览器中执行document.write()
的方式不同。您可以检查this documentation。另请检查this thread以获取更多信息。如果要在页面中加载某些元素,可以使用appendChild()
作为解决方法。