我可以在jQuery中打开这样的对话框:
position: {
of: $( "#Parent" ),
my: "left top",
at: "left top"
}
这在FF中运行良好,但在IE9中,只有当doctype设置为<!DOCTYPE HTML>
时才有效,而不是像以下那样:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
似乎所有其他doctypes都将IE置于怪癖模式。
问题是使用<!DOCTYPE HTML>
搞砸了ActiveWidgets;网格不会在任何浏览器中显示。
我可以在IE中使用jQuery定位而不使用<!DOCTYPE HTML>
吗?或者我可以使用推荐的DOCTYPE使ActiveWidgets工作吗?
感谢您的回答
花了一天时间用jqwidgets替换activeWidgets网格后,我终于不喜欢结果了。我使用PHP模板从ini文本文件生成动态网格。
我最终将我的文档分成2个iframe。一个是对话框,另一个是网格
这样我就无法在框架外移动对话框,但它可以正常工作
这是一个伟大的社区,帮助我设计了很多伟大的Intranet网站 谢谢
答案 0 :(得分:2)
<强> tldr;使用有效/已识别的 DOCTYPE来确保非怪癖模式
HTML4过渡DOCTYPE listed in the W3C informational reference 包含 DTD URI:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
根据Quirks mode维基百科文章<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
中的模式矩阵列表(没有系统标识符)将将IE8 +置于Quirks模式。糟糕。
(请注意,即使使用过渡系统标识符,它仍处于 Almost-standards 模式!最好使用严格的DTD和/或HTML5 DOCTYPE,以便最近的浏览器能够运行标准模式。)
请参阅Quentin对某些解决方案的评论 - 在修复DOCTYPE以确保几乎标准/标准模式后。
答案 1 :(得分:0)
您可以使用头部&gt;内的元标记强制使用MSIE到最新版本:
<meta http-equiv="X-UA-Compatible" content="IE=edge" />