`
鹤惊昆仑
  • 浏览: 229090 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

jquery1.3源码中有趣的链接--globalEval

阅读更多
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.9.1源码系列的文章中,我们集中于探讨了jQuery库中常用工具函数的实现原理及其应用。这些工具函数广泛用于动画处理、事件处理、数据操作和性能优化等场景。本篇文章详细解释了多个核心工具函数的...

    jquery-2.0.3.min.js.docx

    在描述中并未提供具体的内容,但从给出的部分代码片段中,我们可以看到jQuery的一些关键函数和方法: 1. `eq` 函数:用于从匹配的元素集合中选择指定索引位置的元素。例如,`eq(-1)` 会选择最后一个元素。 2. `map...

    jQuery 源码分析笔记(4) Ready函数

    在源码中,`jQuery.fn`实际上是`jQuery.prototype`的别名,因此`jQuery.fn.ready`可以被任何jQuery对象调用。源码定义如下: ```javascript ready: function(fn) { // 绑定事件到DOM上 jQuery.bindReady(); // ...

    jquery实现表单文件上传,并获取回调信息

    首先,我们需要理解jQuery中的`ajaxForm`或`ajaxSubmit`方法,这两个方法是jQuery Form Plugin的一部分,可以在异步方式下提交表单,包括文件上传。这里,`index.jsp`文件可能是我们的HTML页面,其中包含用于文件...

    jQuery1.6 使用方法一

    以下是从所提供的文件内容中提取的关于jQuery1.6使用方法的知识点。 ### jQuery 1.6 基本使用方法 1. **jQuery对象初始化**:在使用jQuery前,需要先通过jQuery函数创建一个jQuery对象,这个函数可以接受一个参数...

    如何确保JavaScript的执行顺序 之jQuery.html深度分析

    对于内联JavaScript,jQuery则使用了globalEval()方法来执行其中的JavaScript代码。 这里有几个重要的知识点需要注意: 1. jQuery的html()函数不仅仅是一个简单的替换内容的方法,它还集成了对动态脚本加载顺序的...

    ajaxFileUpload插件,C#返回Json数据报错问题的解决方案

    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第1/2页

    动态加载JavaScript和CSS是网页开发中的重要技术,尤其在优化页面性能和提升用户体验方面起着关键作用。Omar AL Zabir开发的`ensure`工具实现了这一目标,并且具有良好的多浏览器兼容性,支持IE、Firefox、Opera和...

Global site tag (gtag.js) - Google Analytics