在Internet Explorer中以Quirks模式加载页面 - 文档类型已注释掉
Page loading in Quirks mode in Internet Explorer - doctype commented out
我遇到了一个问题,即所有版本的IE都以Quirks模式在我的网站上呈现一个页面。通过单击以下链接在新窗口中打开此页面:
<a href="javascript:void(0);" onclick="popUp();" target="popupWindow">Launch Processor</a>
窗口使用以下js确定:
function popUp(contactId) {
"use strict";
var url, width, height, leftPos, topPos, targetWin;
url = '/company/process';
if (contactId !== undefined && contactId !== null && contactId > 0) {
url += '?contact_id=' + contactId;
}
width = 900;
height = 800;
leftPos = (screen.width / 2) - (width / 2);
topPos = (screen.height / 2) - (height / 2);
targetWin = window.open(url, 'popupWindow', 'toolbar=no, location=0, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width=' + width + ', height=' + height + ', top=' + topPos + ', left=' + leftPos).focus();
}
现在,经过大量的研究,我已经尝试了所有方法,并阅读了这里提出的各种其他问题,这些问题记录了相同的问题,比如这个和这个。
我已经在我的文本编辑器中检查了我的文件,并在IE和Chrome中查看源代码(不使用IE中的检查器工具或开发人员工具),并且在doctype之前没有空格,字符或其他可能干扰的东西。在IE开发人员工具中查看文档类型,尽管我看到它已被注释掉。这与我在站点范围内使用的文档类型结构(来自HTML5样板)相同。没有其他页面有此问题。文档类型声明和元项目如下:
<!doctype html>
<!--[if lt IE 7]><html class="no-js lt-ie9 lt-ie8 lt-ie7 page-company" lang="en"> <![endif]-->
<!--[if IE 7]><html class="no-js lt-ie9 lt-ie8 page-company" lang="en"> <![endif]-->
<!--[if IE 8]><html class="no-js lt-ie9 page-company" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js page-company" lang="en"> <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
现在,就像我提到的,这个页面被加载到一个用一些js打开的新窗口中。如果我右键单击窗口并选择刷新,则页面权限本身,doctype不再被注释掉,并且页面在标准模式下正确呈现,而不是Quirks。如果我直接访问此 url,而不是通过新的弹出窗口,它也会正确呈现。
什么原因可能导致这种情况?这与用于强制打开新窗口的 js 有关吗?
提前感谢任何和所有的帮助,我将不胜感激!
文档类型被注释掉的事实表明页面正在被处理,就好像IE是IE7或更早版本一样。
请注意,具有<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
对您的页面没有影响,因为您在页面前面带有条件注释。这些具有将 IE 提交为特定版本的效果。
您可以尝试将 X-UA-Compatible, IE=edge 设置为真正的 HTTP 标头。这将在条件注释之前处理,因此应强制 IE 使用其最新模式。
在文件开头检查页面是否有无关字符时,我建议不要使用浏览器或文本编辑器,而是使用十六进制编辑器。例如,十六进制编辑器Neo(免费下载)将允许您直接从URL加载资源,因此您可以看到发送到浏览器的确切字节。
- 自动将我上传的文档分配给内容类型
- 如果我添加 pageX 页面 Y 在 IE8 中不起作用<!文档类型 html>.
- Foundation 5可能的错误:未捕获类型错误:层必须是文档节点Foundation.min.js:8
- 未捕获的类型错误: $(..).文档窗体不是一个函数
- 文档类型和点击事件
- Chrome html5 文档类型会更改输入的宽度,但不会更改选择
- 弹性搜索更新文档类型
- 文档类型不允许元素“”;h4”;在这里
- HTML文档类型导致视频自动播放而不滚动到
- XHTML文档类型不允许元素“”;风格”;体内
- IE7中的HTML5文档类型破坏了Jquery下拉菜单
- 文档类型不允许元素“”;ul”;在这里
- W3C -文档类型不允许元素"在这里
- 限制web表单中文件上传框的文档类型
- W3C错误:文档类型不允许元素X在这里;缺少一个Y开始标签
- 无效的tumblr头,重复的文档类型,奇怪的javascript
- 文档类型不允许元素"script"在这里;假设失踪的“身体”;开始标记
- 在Internet Explorer中以Quirks模式加载页面 - 文档类型已注释掉
- 函数不能在HTML文档类型的文件中工作
- Javascript创建一个具有严格文档类型的iframe