}
==================================== Gorgeous demarcation line ====================== ========
Thanks for the inspiration provided by Ivony!
The Code is as follows:
Function isWindow (obj ){If (typeof obj! = "Object") return false; // it must be an objectVar expando = "dom" + (new Date-0) // generate a random variable name// Globally parse the code. The eval of IE is only valid for the original scope.// See http://www.javaeye.com/topic/519098//
resources become fewer and fewer. To demonstrate this problem, we will overwrite the content in the Script element to cause a large amount of memory leakage ".Loop referenceLoop reference is basically the start of all leaks. Generally, the script engine processes cyclic references through the garbage collector (GC), but some unknown factors may prevent the release of resources from the environment. For IE, the status of some DOM object instances is unknown to the script. The following are
Many users prefer to store data on the htmlelement attribute in projects, such
Added the custom property "data" and value "some data" to the DIV on the page ". Subsequent JSCodeGetattribute.
Jquery provides the data/removedata method from 1.2.3 to store/delete data. 1.6.1 code snippet
Jquery. Extend ({cache :{}, // please use with cautionuuid: 0 ,...});
That is, a static field/method is added to jquery, including jquery. Cache/jquery. UUID/jquery.
it to execute]IE will pop up false, and other browsers will pop up true. However, all browsers are unified as follows: [Ctrl + A select all Note: If you need to introduce external Js, You need to refresh it to execute]Are there any rigorous judgments? Do not forget that window references itself in an infinite loop. It should be said that it references the previous one. Therefore, we can: [Ctrl + A select all Note: If you need to introduce external Js, You need to refresh it to execute]Finally
I think this method is not a private Implementation of IE. It can achieve perfect copy in IE, And the other seems to be a little strong, it is similar to the replacenode naming method.
In IE, clonenode can copy all attributes, attributes, and expando attributes of a node, and all events ), the standard browser can only copy the first two. However, unfortunately, sometimes the standard browser cannot tell which one is, and once it is regarded as a cust
Native JS does not support anonymous uninstall events, jquery is useful for developers to support anonymousThoughts on anonymous EventsFirst she will determine whether the target is an element or an object, and if it is an element, mark the element with an identifier (expando) and then the value is a GUID generated and a cache is created under the cache object, such as:
$.cache={
' 2 ': {
data: {},
events: {},
handle:function () {}}
,
}
Then you will
scriptscope.
The following uses ironpython as an example to describe how to integrate dynamic programming language code in a program developed in C #4.
First, you must create a scriptruntime object, which is a top-level object used to "embed" the runtime environment of a specific dynamic language in A. NET application domain:
Scriptruntime pythonruntime = python. createruntime ();
Next, you need to create a scriptengine object, which is the execution engine of Dynamic Language code:
Scripten
Many users prefer to store data on the HTMLElement attribute in projects, suchCopy codeThe Code is as follows: Added the custom property "data" and value "some data" to the div on the page ". Use getAttribute in subsequent JS Code.JQuery provides the data/removeData method from 1.2.3 to store/delete data. 1.6.1 code snippetCopy codeThe Code is as follows:JQuery. extend ({Cache :{},// Please use with cautionUuid: 0,...}); That is, a static field/method is added to jQuery, including jQuery. cache/
We often use a hidden control or a JS global variable to temporarily store data, global variables are prone to name pollution, hidden controls cause often read and write Dom wasted performance. jquery provides its own data caching scheme to achieve the same effect as hiding controls and global variables, but jquery is more elegant in its implementation. In order to better use the jquery data caching scheme, we need to Master $.data (), $.cache, $.expando
[type])Jquery.each (Jquery.cache, function () {All elements registered for the event are found from the cache and the handler function that triggers the Change eventif (this.events amp;amp; This.events[type])JQuery.event.trigger (type, data, This.handle.elem);});else {//handling fire event for individual element eventsif (Elem.nodetype = 3 | | elem.nodetype = 8)return undefined;
var val, ret, fn = jquery.isfunction (Elem[type] | | | null),Do we have to submit a forged event?event =!data[0] | |
A long time ago, I was in the cnblogs when I had to ask a question (just look for a half-day did not find). I wonder if anyone has found that the jquery********* attribute is added to the DOM after "select" with the jquery selector.
First of all, the "1294122065250" in jQuery1294122065250 is actually a timestamp. Look at the source code for jquery.
var expando = "JQuery" + Now (), uuid = 0, windowdata = {};
Because a closure is used, each jquery o
The action for an event is nothing more than a addevent,fireevent,removeevent of these three event methods. General Lib will make some extensions to the functions provided by the browser to solve the problems such as compatibility memory leaks. The third question is how to get the Domready state.Package of 6.1 EventBrowser event compatibility is a troubling issue. IE's event is under the Global window, and Mozilla's event is the incident source parameter passed into the callback function. There
not particularly specific. There are roughly two types of functions:
For standard browsers, use the DOMParser object:
The Code is as follows:
Var parser = new DOMParser ();Var xml = parser. parseFromString (text, 'text/html '); for IE, use the Microsoft. XMLDOM object:Var parser = new ActiveXObject ('Microsoft. XMLDOM ');Parser. async = 'false ';Parser. loadXML (text );Var xml = parser.doc umentElement;
Data SectionAdded the jQuery. hasData function to determine whether an element has dat
. apart from some basic data type primitive values (String, Number), do not put anything else in DOM expando or property. Of course, if you can ensure that it is cleared in time, it is an exception.
This is the most important golden rule. Put things in DOM expando, you will find it very convenient, and then get it with $ (), but never do this. Really, I know what you're thinking, and now I already think abo
/html '); for IE, use the Microsoft. XMLDOM object:
Var parser = new ActiveXObject ('Microsoft. XMLDOM ');Parser. async = 'false ';Parser. loadXML (text );Var xml = parser.doc umentElement;
Data SectionAdded the jQuery. hasData function to determine whether an element has data appended to jQuery.
Modified the implementation of jQuery. expando and added a random number based on the original time:
Expando = "
. But I cannot find this interface in. net, so I don't know how to implement it.
3. Interaction with ApplicationsThe interaction between a webpage and an application is similar to clicking a link on the webpage or navigating the browser to a new link through other channels, such as form submission. Therefore, I use the beforenavigate2 event, this event has flags, headers, postdata, targetframename, URL, and other attributes, which are sufficient for processing. In this way, our program is like a
Mark DavisMicrosoft Corporation
Abstract:This article describes the significant impact of some DHTML functions on performance and provides some tips for improving DHTML page performance.
Directory
IntroductionBatch Process DHTML changesUse innertextUse Dom to add a single elementExtend the options in the select ElementUpdate a table with DomWrite Once, use multiple timesDo not use dynamic attributes too muchData Binding is very effectiveDo not set the expand
look at the screenshot above, you will find that the leak code above will be associated with the library (with facts proving the source of the accident, Frank Note)3. In addition to some basic types of data primitive value (String, number), do not put anything else in the DOM expando or property. Of course, you can guarantee that it will be cleared in time, which is an exception.This is the most important golden rule. You'll find it handy to put some
I wonder if anyone has found that the jquery********* attribute is added to the DOM after "select" with the jquery selector.First of all, "1294122065250" in jQuery1294122065250 is actually a time stamp. Look at the source code for jquery.var expando = "JQuery" + Now (), uuid = 0, windowdata = {};Since closures are used, each jquery object has a expando property.The attribute value jquery1294122065250= "1" o
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.