Javascript 未在internet explorer 9中呈现div
嗨,我有一个使用AJAX的自定义js自动完成组件,它使用一个包含表的div来显示匹配值 当在IE9中将其与DOCTYPE声明一起使用时,div不会出现 奇怪的是,如果我在页面中有另一个组件实例,一切正常(我在表中有这些组件,并以友好方式添加新行;如果表一开始是空的,我就有问题,否则我可以添加包含组件新实例的新行,一切正常) 该代码在firefox和chrome中运行良好 如果我指定,它在ie9中也可以正常工作Javascript 未在internet explorer 9中呈现div,javascript,internet-explorer-9,rendering,doctype,x-ua-compatible,Javascript,Internet Explorer 9,Rendering,Doctype,X Ua Compatible,嗨,我有一个使用AJAX的自定义js自动完成组件,它使用一个包含表的div来显示匹配值 当在IE9中将其与DOCTYPE声明一起使用时,div不会出现 奇怪的是,如果我在页面中有另一个组件实例,一切正常(我在表中有这些组件,并以友好方式添加新行;如果表一开始是空的,我就有问题,否则我可以添加包含组件新实例的新行,一切正常) 该代码在firefox和chrome中运行良好 如果我指定,它在ie9中也可以正常工作 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<meta http-equiv="X-UA-Compatible" content="IE=8" />
如果我调整窗口大小,div就会神奇地出现
提前感谢您的回复
编辑: 我已经找到了一个解决方案(感谢epascarello的提示) 我补充说
window.resizeBy(1,1);
window.resizeBy(-1,-1);
这几乎解决了,因为我的页面是在一个iframe 100%w/h中;剩下的唯一问题是最大化和恢复浏览器窗口导致iframe中出现不必要的srollbar;我解决了这个问题
getFrameForDocument(document).style.width='100%';
getFrameForDocument(document).style.height='100%';
getFrameForDocument在和中找到的位置
当z-index是整数时,为什么要将其值设置为字符串?我已经尝试使用.zIndex=1;问题仍然存在。这不能解决你的问题,只是吹毛求疵。在网上搜索“强制重画IE”,这会解决你的问题。
getFrameForDocument(document).style.width='100%';
getFrameForDocument(document).style.height='100%';
function getFrameForDocument(document) {
var w= document.defaultView || document.parentWindow;
var frames= w.parent.document.getElementsByTagName('iframe');
for (var i= frames.length; i-->0;) {
var frame= frames[i];
try {
var d= frame.contentDocument || frame.contentWindow.document;
if (d===document)
return frame;
} catch(e) {}
}
}