关于DEFER,载入HTML段中如果有脚本,如何运行?
<HTML>
<HEAD>
<TITLE> DEFER </TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
var newPage = new Array();
newPage[0] = '<div style="background:silver; width:200px; height:100px; margin:20px;"></div>';
newPage[1] = '<div style="background:blue; width:150px; height:200px; margin:10px;"><SCRIPT LANGUAGE="JavaScript">function doSomething(){;}</SCRIPT><br><a href="#" >Hello</a></div>';
//-->
</SCRIPT>
</HEAD>
<BODY>
Here laod page:<br>
<span id=sp1></span>
<button onclick="sp1.innerHTML=newPage[0];">p1</button><br>
<button onclick="sp1.innerHTML=''; sp1.innerHTML = newPage[1];alert(sp1.outerHTML);">p1</button><br>
</BODY>
</HTML>
此时sp1中已经没有<script>段了,即如果执行doSomething()会报缺少对象。我想可能innerHTML能够将非内嵌的教本过滤掉。
现在我需要在客户端运行过程中动态加载某些内容,比如在一个DIV中, 动态加入不同HTML文件的整个代码,且正常显示(原来是TABLE,现在也是TABLE),但发现原来HTML文件的客户端脚本都不可以运行了! 仔细分析后发现使用innerHTML 或 insertAdjecentHTML都会过滤脚本,使用innerText则根本不能显示效果。
望高手指点!
相关推荐
浅谈HTML5 defer和async的区别
下面小编就为大家带来一篇浅谈HTML5 defer和async的区别。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
浏览器环境下JavaScript脚本加载与执行探析之defer与async特性
defer和async特性相信是很多JavaScript开发者”熟悉而又不熟悉”的两个特性,从字面上来看,二者的功能很好理解,分别是”延迟脚本”和”异步脚本”的作用。然而,以defer为例,一些细节问题可能开发者却并不一定熟悉,比如:有了defer特性的脚本会延迟到什么时候执行;内部脚本和外部脚本是不是都能够支持defer;defer后的脚本除了会延迟执行之外,还有哪些特殊的地方等等。本文结合已有的一些文章以及MDN文档中对两个特性的阐述,对defer和async进行更全面的研究和总结,希望能够帮助开发者更好地掌握这两个特性。 1 引言 在《浏览器环境下JavaScript脚本加载与执行探
JS脚本defer的作用示例介绍
代码如下: [removed][removed] 中的defer作用是文档加载完毕了再执行脚本,这样回避免找不到对象的问题—有点问题 <button id=”myButton” onclick=”alert(‘ok’)”>test</button> [removed] myButton.click(); [removed] [removed] myButton.click(); [removed] <button id=”myButton” onclick=”alert(‘ok’)”>test</button> <script
HTML5 script元素async、defer异步加载使用介绍
异步加载,可以理解为无阻塞并发处理,过去我们使用各种JavaScript技巧来做这种事情,现在WebKit为HTML5实现了SCRIPT标签的async异步属性,感兴趣的朋友可以了解下
script标签defer与async详解[可运行源码]
本文深入探讨了script标签中defer与async属性的区别及其实际应用。默认情况下,script标签会阻塞HTML解析,而defer和async属性则通过异步下载脚本解决这一问题。defer属性确保脚本在HTML解析完成后按顺序执行,适合有依赖关系的脚本;async属性则在脚本下载完成后立即执行,适合独立无依赖的脚本。文章通过执行机制、关键特性和代码示例详细对比了两者的差异,并提供了Vue项目中的实际应用场景和常见问题解答,帮助开发者优化页面加载性能,避免执行时机不当导致的错误。


