Tuesday, 6 May 2014

So I thought to myself how bad it could be if I'll eligible my question for a bounty of 250 reputation for more helpful answers to my technical issue, at most, no best answer - no risk..Forget it!The stackoverflow team won't let you to list your questions in the Featured tab for free. Either if you will get your best answer or not, your eligible bounty will be gone for good, no refund, and you know as good as me that it could be very hard & time consuming to earn such a amount of reputation score.That what I painfully found out when try it on my own question.Now, don't get me wrong, this is a business strategy of stackoverflow for many good reasons and it is a legitimate policy. Take a look at this great Meta question about this issue: Why aren't bounties refunded if they are not awarded?You have been warned!

Monday, 14 April 2014

b.Using the retrieved host-name from the DNS Lookup, the
Web Browser communication-layer component creates and opens a TCP connection to
the Web Server.

c.Using the opened TCP connection, the Web Browser
construct and transmits an HTTP GET request with the relevant details (e.g.
URL, User-Agent, Accepted-Content) to the Web Server.

d.In turn, the Web Server performs its internal process on
the income HTTP request and responds its results in the form of HTTP Response
packet back to the Web Browser.

e.Upon successful HTTP Response packet arrival to the Web
Browser, the Web Browser’s Layout Engine is starts to take its rendering actions – There are three major
engines out there: Gecko, WebKit and Trident.

f.The Web Browser extracts and parses out the HTML
source-code from the HTTP Response packet and constructs a DOM tree out of it,
which is a data representation where every HTML tag has a corresponding node in
the tree and the text chunks between tags get a text node representation too.
The root node in the DOM tree is the documentElement (the <html> tag).

g.New HTTP requests are made to the server for each new
resource that is found in the HTML source (typically: images, style sheets, and
JavaScript files) and for each resource, the Web Browser will go back to step A.

h.The engine parses out the inline & external
style-sheets (CSS) instructions. The rendering information in each style-sheet
gets attached to the matching node in the DOM tree.

i.Scripts/JavaScript
is parsed and executed, and in any case of DOM manipulations using scripts, the
DOM nodes are moved and style information is updated accordingly.

j.While the DOM tree is being constructed by the Layout
Engine, the browser constructs another tree, the render tree. This tree is of
visual elements in the order in which they will be displayed. It is the visual
representation of the document. The purpose of this tree is to enable painting
the contents in their correct order. The render tree is sort of like the DOM
tree, but doesn't match it exactly. The render tree knows about styles, so if
you're hiding a div with display: none, it won't be represented in the render
tree.

k.In between the Render tree construction and the
painting of the page to the screen, there is a Layout calculation of the page’s
elements positions and sizes.

l.Once the
render tree is constructed, the engine can paint (draw) the render tree nodes
on the screen. And voilà! The user see the requested webpage in his Web Browser!

Thursday, 7 February 2013

I was recently requested to create multiple select drop-down list that'll also support images display.As you probably know, the standard selectHTML tag supports single-choice and text only.Since no in-built support for this kind of behavior I had to implement it by myself and I choose the fantastic AngularJSMVC framework to do it, with a little help of jQuery.I wanted to share my work with you so enjoy it.Demo and source-code are available through plunker:

Saturday, 18 August 2012

The idea is simple, event bubbling is occurring when any event is fired on the browser.Base on this concept, if a specific element's event not handled, then it will anyway reach to the document level and there will be the required check.

Using a pure JavaScript object which I created, you can understand how live method is working:Update: As of jQuery 1.7, the .live() method is deprecated. Use .on() to attach event handlers. Users of older versions of jQuery should use .delegate() in preference to .live().