Javascript 使用XMLHttpRequest查看网页中的网页
我构建了一个web应用程序,其中包含一个预览窗口,显示html页面的内容。由于html页面不断更新,我需要预览窗口每0.5秒反映一次这些更改 除了预览窗口在刷新时闪烁外,其他一切正常。这只是偶尔发生的,而且似乎非常喜怒无常。大多数情况下,它不会闪烁,而且html页面的更新非常流畅 下面是代码-有人能对如何防止闪烁的发生提出建议吗Javascript 使用XMLHttpRequest查看网页中的网页,javascript,jquery,html,ajax,xmlhttprequest,Javascript,Jquery,Html,Ajax,Xmlhttprequest,我构建了一个web应用程序,其中包含一个预览窗口,显示html页面的内容。由于html页面不断更新,我需要预览窗口每0.5秒反映一次这些更改 除了预览窗口在刷新时闪烁外,其他一切正常。这只是偶尔发生的,而且似乎非常喜怒无常。大多数情况下,它不会闪烁,而且html页面的更新非常流畅 下面是代码-有人能对如何防止闪烁的发生提出建议吗 //Get the preview data and insert / refresh it in the #preview-fram div func
//Get the preview data and insert / refresh it in the #preview-fram div
function refreshinfo(){
var xmlhttp;
var id = $.urlParam('id');
var grid = $.urlParam('grid');
if (window.XMLHttpRequest){
xmlhttp=new XMLHttpRequest();
}
else{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200){
document.getElementById("preview-frame").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","http://webhost:8888/subs-banner-generator/preview?id="+id+'&grid='+grid,true);
xmlhttp.send();
}
setInterval(refreshinfo, 500); //refresh the data every 0.5 secs
function refreshinfo(){
var id = $.urlParam('id');
var grid = $.urlParam('grid');
var url = "http://webhost:8888/subs-banner-generator/preview?id="+id+'&grid='+grid;
$("#preview-frame").load(url,function() {
setTimeout(refreshinfo,500); // will load the page again 500ms after successful load
});
}
$(function() {
refreshinfo();
});
谢谢你。我刚刚实现了你的代码,它确实有效。你怎么能确定它会解决我的闪烁问题呢?它肯定会使它变得不那么突出,因为如果加载和渲染时间超过500毫秒,你的代码会中断渲染。我会在接下来的几天里测试它,如果闪烁消失,我会将你的答案标记为正确!