`
leng_cn
  • 浏览: 301935 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

innerHTML导致CPU长时间占用

 
阅读更多
function getScheculTable() {
var beginHour = 7;
var endHour = 22;
var timeInter = 30;
var howHalf = (endHour - beginHour)*2;
var srcTbl = document.getElementById("srcData");
d = new Date(); 
tmpd = new Date();
d.setHours(beginHour,timeInter);
var b,e;
var tbody = document.createElement("TBODY");
for(var i=1;i<howHalf;i++) {
d.setHours(beginHour,i*timeInter);
tmpd.setHours(beginHour,i*30+30);
b = (d.getHours()<10?"0"+d.getHours():d.getHours()) + ":" + (d.getMinutes()==0?"00":d.getMinutes());
e = (tmpd.getHours()<10?"0"+tmpd.getHours():tmpd.getHours()) + ":" +  (tmpd.getMinutes()==0?"00":tmpd.getMinutes());
var row = document.createElement("TR");
var cell = document.createElement("TD");
cell.innerText = b+"-"+e;
cell.width = "25%"
row.appendChild(cell);
for(var n=0;n<5;n++) {
var cell = document.createElement("TD");
cell.width = "15%"
var div = document.createElement("DIV");
div.contentEditable = true;
div.style.width="100%";
cell.appendChild(div);
//cell.innerHTML = "<DIV CONTENTEDITABLE align=center STYLE='height: 100%; width: 100%;'>"
row.appendChild(cell);
}
tbody.appendChild(row);
}
srcTbl.appendChild(tbody);

}

见上面注释掉的一行cell.innerHTML = "<DIV CONTENTEDITABLE align=center STYLE='height: 100%; width: 100%;'>"
当我在BODY的onload里面掉用此方法时,发现电脑的CPU占用率居然直线上涨,最后才发现,原来当你对一个元素的innerHTML进行替换时,会占用大量的CPU时间,后来改用appendChild的方法,才使CPU降了下来,而前者CPU占用率是72%左右,后者的CPU占用率在30%左右
分享到:
评论

相关推荐

    innerHtml(转)

    不适当的使用可能导致恶意代码执行,因此需要进行适当的输入验证和编码。 4. **与innerText的区别**:`innerText`属性与`innerHTML`相似,但它只返回或设置纯文本,不包含任何HTML标记。这意味着`innerText`在处理...

    innerHTML的简单应用

    innerHTML的简单应用

    关于在innerHTML中JS不执行的问题

    首先,我们需要理解`innerHTML`的工作原理。当设置一个元素的`innerHTML`时,浏览器会做以下几件事: 1. 清空当前元素的所有子节点。 2. 解析新设置的HTML字符串,生成一个DOM树。 3. 将新的DOM树插入到原始元素的...

    innerHTML的使用

    innerHTML的使用document.getElementById("id").innerHTML = "contenttext";

    innerHTML和innerText的区别

    innerHTML 属性 innerHTML 属性用于获取 HTML 元素中的所有内容,包括 HTML 标签。例如,在上面的代码中,test.innerHTML 的值就是“&lt;span style="color:red"&gt;test1&lt;/span&gt; test2”,包括 HTML 标签。 innerHTML ...

    通过优化网页页面降低对内存及CPU的占用

    在标题和描述中提到的"通过优化网页页面降低对内存及CPU的占用",主要是指通过改进网页设计和编码,减少浏览器在解析、渲染和执行时对计算机内存和处理器的依赖。以下是一些具体的优化策略: 1. **文档类型(DocType...

    js中innerHTML与innerText的用法与区别

    ### JavaScript中的innerHTML与innerText的用法与区别 在前端开发中,经常需要用到JavaScript来操作DOM元素,其中`innerHTML`和`innerText`是非常重要的属性,它们分别用于获取或设置元素内部的HTML内容和纯文本...

    解决ajax返回innerHTML中javascript不能运行问题

    解决 Ajax 返回 innerHTML 中 JavaScript 不能运行问题 在实际应用中,我们经常会遇到使用 Ajax 返回某一个网页的内容到模板页面的某一个 `&lt;div&gt;` 标签中显示的操作。如果返回的值仅仅是文本类数据,不会影响模板...

    react-Innerself使用innerHTML将ReactRedux转换成50行代码

    4. **性能考虑**:innerHTML虽然方便,但其动态更新DOM可能导致性能问题。在大型应用中,这可能不是最佳选择,但对于小规模的项目,尤其是在追求简洁性时,这种牺牲可能是值得的。 5. **安全问题**:使用innerHTML...

    通过改变innerHTML的内容,动态增加选择项

    频繁地改变`innerHTML`可能会导致性能问题,因为浏览器需要解析和重新渲染整个元素的内容。因此,在处理大量数据时,更推荐使用`createDocumentFragment`或`appendChild`等方法,它们可以提高性能。 总结来说,通过...

    超全面javaweb第4天- 08 innerHTML属性

    超全面javaweb第4天-_08_innerHTML属性

    利用innerHTML实现隐显效果-两种实现方法

    本文将探讨如何利用innerHTML实现页面元素的隐藏与显示效果,同时提供两种不同的实现方法。 首先,我们需要理解innerHTML的工作原理。innerHTML允许我们获取或设置一个元素的所有子节点,包括文本、HTML标签等。当...

    innerHTML-outerHTML-innerTEXT.txt

    根据提供的文件信息,我们可以深入探讨三个重要的DOM属性:`innerHTML`、`innerText`以及`outerHTML`。这些属性在Web开发中非常关键,用于获取或设置元素内部的内容。接下来将详细解析这些属性的功能、用途及差异。 ...

    前端教程:48 日期对象 定时器和innerhtml

    千锋Web前端教程_48_日期对象_定时器和innerhtml

    关于innerHTML后丢失动态绑定的EVENT问题解决方法

    总结起来,当面临`innerHTML`导致动态绑定事件丢失的问题时,可以选择事件委托、使用`outerHTML`、手动创建DOM节点或借助库和框架来解决。每种方法都有其优缺点,应根据实际项目需求和性能考虑来选择合适的方法。

    简单日历和innerHTML使用

    简单日历和innerHTML使用 javascript的简单应用实例 可以自定义Css

    python的xpath获取div标签内html内容,实现innerhtml功能的方法

    python的xpath没有获取div标签内html内容的功能,也就是获取div或a标签中的innerhtml,写了个小程序实现一下: 源代码 [webadmin@centos7 csdnd4q] #162&gt; vim /mywork/python/csdnd4q/z040.py #去掉最外层标签,...

    innerHtml用法精解

    - **性能问题**:频繁地使用`innerHTML`可能会导致性能下降。 - **XSS攻击**:直接插入用户提供的数据可能会导致XSS(Cross-Site Scripting)攻击。 - **浏览器兼容性**:不同浏览器对`innerHTML`的支持程度不同,...

    IE6/7/8中使用innerHTML清空元素,其子元素也被清空

    这意味着,无论之前元素内有多少子节点,一旦`innerHTML`被设为空字符串,浏览器会认为该元素应该没有任何子节点,从而导致所有子元素被删除。 要解决这个问题,开发者可以采取以下几种策略: 1. **使用`...

    html innerHTML outerHTML innerText outerText等的区别及实例汇总

    html js innerHTML outerHTML innerText outerText 等的区别及实例汇总

Global site tag (gtag.js) - Google Analytics