错误:
IE
中"HTML
Parsing Error:Unable to modify the parent container element before the child
element is closed"
现象:
同事之间几个IE
测试情况下,有的报这个错,有的不报。经查询资料后,可归纳以下原因。
1.
有未关闭的
html
标签,比如
<table>
而没有
</table>
2.
在页面未加载完前
js
代码操作了
body
里的元素,将相关
js
代码移到
</body>
后面
我这里的原因是进行了某些
DOM
操作发生在
DOM
树加载完成之前,有
appendChild
<html>
<head>
</head>
<body>
<div>
<script type="text/javascript">
alert(document.readyState);
var oDiv = document.createElement("DIV");
oDiv.innerHTML = 'test odiv test odiv';
document.body.appendChild(oDiv);
</script>
</div>
</body>
</html>
---------------------------------------------------------------------------------------------------------------------------------
当解析到
DIV
时就开始在
BODY
上
appendChild
,而这个时候
BODY
是还没有完全就绪的(
It is not fully loaded
),文档结构仍在
loading
和
interactive
状态之间,于是,便会得到上述错误
解决办法:
要解决这个问题,可以进行
document.readyState
状态判断,当它为
complete
时再进行相应的操作
if (document.readyState=="complete")
{
createDiv ();
}
else
{
document.onreadystatechange = function(){
if (document.readyState == "complete")
{
createDiv ();
}
}
}
function createDiv()
{
var oDiv = document.createElement("DIV");
oDiv.innerHTML = 'test odiv test odiv';
document.body.appendChild(oDiv);
}
onreadystatechange
:
存储函数(或函数名),每当 readyState
属性改变时,就会调用该函数。
readyState:
存有 XMLHttpRequest
的状态。从 0
到 4
发生变化。
-
0:
请求未初始化
-
1:
服务器连接已建立
-
2:
请求已接收
-
3:
请求处理中
-
4:
请求已完成,且响应已就绪
0 - UNINITIALIZED
:
XML
对象被产生,但没有任何文件被加载。
1 - LOADING
:加载程序进行中,但文件尚未开始解析。
2 - LOADED
:部分的文件已经加载且进行解析,但对象模型尚未生效。
3 - INTERACTIVE
:仅对已加载的部分文件有效,在此情况下,对象模型是有效但只读的。
4 - COMPLETED
:文件已完全加载,代表加载成功。
分享到:
相关推荐
网页错误详细信息 用户代理: Mozilla/4.0 (compatible...消息: HTML Parsing Error: Unable to modify the parent container element before the child element is closed (KB927917)行: 0字符: 0代码: 0 今天调试一段J
Parsing, also referred to as syntax analysis, has been and continues to be an essential part of computer science and linguistics. Parsing techniques have grown considerably in importance, both in ...
### Parsing Techniques:A Practical Guide — 关键知识点概览 #### 一、引言与背景介绍 《Parsing Techniques:A Practical Guide》是一本详细介绍解析技术的著作,由Dick Grune和Ceriel J. Jacobs共同撰写。该书...
http://en.wikipedia.org/wiki/Parsing 这个页面上的链接下载的。
在Vue.js开发过程中,我们可能会遇到“Error: Cannot find module”这样的错误,这通常是由于模块导入路径不正确、npm包未安装或者环境配置问题导致的。以下是一些常见的解决步骤和详细解释,希望能帮助到遇到此类...
在“vue樱花漫天效果文件”这个项目中,我们主要关注的是如何使用Vue.js来实现一种动态视觉效果——樱花飘落的场景。这通常涉及到Vue的基本组件创建、动画处理以及图像渲染等方面的知识点。 首先,我们要理解Vue...
### Parsing Techniques: A Practical Guide #### 核心知识点解析 **1. 解析技术概览** - **定义与重要性:** 解析技术(Parsing)是计算机科学中的一个重要领域,主要关注如何将输入字符串转换为有意义的数据...
根据给定文件的内容,我们今天要详细探讨的知识点是ArcGIS中的Python字段计算器(Python field calculator)。这个工具对于使用ArcGIS10版本的用户尤其重要,因为它提供了字段计算器只支持Python语言的解决方案,极...
这包括: 配置和规则配置和规则(不建议使用) 配置配置目录 Parsing error: "parserOptions.project" has been set for @typescript-eslint/parser. TSLint的自定义规则tinkoff-angular-member-ordering tinkoff-...
Data Parsing Error(解决方案).md
Knockout是一个轻量级的UI类库,它采用了MVVM(Model-View-ViewModel)模式,这是一种设计模式,可以将应用程序的用户界面(UI)从业务逻辑中分离出来,通过数据绑定实现用户界面的自动化更新。使用Knockout,开发者...
郁闷啊,有时候不得不承认,无论是什么事,曾经是好的,到后边未必还是好的,不要拿曾经的种种来判断今天的结果, 前景:之前本地用jeecg(1.7版本)设计流程、发布流程、修改流程,所有的操作都是项目有汉字启动的,...
ParsingError.md
* C51 FATAL-ERROR –ACTION <current action> LINE : <line in which the error is detected> ERROR : <corresponding error message> * C51 FATAL-ERROR –ACTION <current action> FILE : <file in which the ...
2020-02-19 10:34:46.901 INFO 5920 --- [nio-8080-exec-1] o.apache.coyote.http11.Http11Processor : Error parsing HTTP request header Note: further occurrences of HTTP header parsing errors will be ...
5. The version of your subversion (client) is below 1.5.0, upgrade to 1.5.0 or above. 该错误提示的原因是客户端的软件版本低于 1.5.0。解决方法是升级本地的 Subversion 客户端软件到 1.5.0 或以上版本,以...
在Spring框架中,配置文件是核心组件之一,它定义了bean的实例化、依赖注入以及其他的设置。当遇到“cvc-elt.1: 找不到元素 'beans' 的声明”这种异常时,通常意味着Spring在尝试解析XML配置文件时遇到了问题。这个...
infinite loop (due to an error in ListScanEx in the method FlexUtils). - FIX: The value of some string flex-properties that began with a parenthese or curly bracket had no apostrophe at the end; ...