http://webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom.html这篇文章很有意思。
这种创建script标签并且设置script.text以动态执行JavaScript代码的方法,在IE下与eval和window.execScript的性能差不多,但是
在firefox3下性能比eval平均高2.4倍。
// Evalulates a script in a global context
globalEval: function( data ) {
if ( data && /\S/.test(data) ) {
// Inspired by code by Andrea Giammarchi
// http://webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom.html
var head = document.getElementsByTagName("head")[0] || document.documentElement,
script = document.createElement("script");
script.type = "text/javascript";
if ( jQuery.support.scriptEval )
script.appendChild( document.createTextNode( data ) );
else
script.text = data;
// Use insertBefore instead of appendChild to circumvent an IE6 bug.
// This arises when a base node is used (#2709).
head.insertBefore( script, head.firstChild );
head.removeChild( script );
}
},
分享到:
相关推荐
在详细分析jQuery 1.9.1源码系列的文章中,我们集中于探讨了jQuery库中常用工具函数的实现原理及其应用。这些工具函数广泛用于动画处理、事件处理、数据操作和性能优化等场景。本篇文章详细解释了多个核心工具函数的...
在描述中并未提供具体的内容,但从给出的部分代码片段中,我们可以看到jQuery的一些关键函数和方法: 1. `eq` 函数:用于从匹配的元素集合中选择指定索引位置的元素。例如,`eq(-1)` 会选择最后一个元素。 2. `map...
在源码中,`jQuery.fn`实际上是`jQuery.prototype`的别名,因此`jQuery.fn.ready`可以被任何jQuery对象调用。源码定义如下: ```javascript ready: function(fn) { // 绑定事件到DOM上 jQuery.bindReady(); // ...
首先,我们需要理解jQuery中的`ajaxForm`或`ajaxSubmit`方法,这两个方法是jQuery Form Plugin的一部分,可以在异步方式下提交表单,包括文件上传。这里,`index.jsp`文件可能是我们的HTML页面,其中包含用于文件...
以下是从所提供的文件内容中提取的关于jQuery1.6使用方法的知识点。 ### jQuery 1.6 基本使用方法 1. **jQuery对象初始化**:在使用jQuery前,需要先通过jQuery函数创建一个jQuery对象,这个函数可以接受一个参数...
对于内联JavaScript,jQuery则使用了globalEval()方法来执行其中的JavaScript代码。 这里有几个重要的知识点需要注意: 1. jQuery的html()函数不仅仅是一个简单的替换内容的方法,它还集成了对动态脚本加载顺序的...
jQuery.globalEval(data); } // 如果类型是"json",评估为JSON if (type == "json") { eval("data = " + data); } // 对于"html"类型,执行HTML中的脚本 if (type == "html") { jQuery("<div>").html(data)...
在浏览器环境中,获取当前执行的JavaScript文件名是一个常见的需求,特别是在动态插入脚本或调试时。以下是一些解决这个问题的方法: ### 解法A 这是最常见的一种方法,适用于页面上静态`<script>`标签引入或者单个...
动态加载JavaScript和CSS是网页开发中的重要技术,尤其在优化页面性能和提升用户体验方面起着关键作用。Omar AL Zabir开发的`ensure`工具实现了这一目标,并且具有良好的多浏览器兼容性,支持IE、Firefox、Opera和...