In the 21st century, the variety of browsers is enough to dazzle you. When we do page compatibility testing, how should we debug our web pages in the face of numerous browsers? In fact, if you understand the core of the browser, you won't have a headache. Because their cores are not as numerous as their number, the common types of cores can be classified into four types: Trident, Gecko, WebKit, and Presto.
As for the many browsers, they are just: {shells of different browsers kernel = browser}. The shell refers to the menus and toolbars on the browser interface, which allow users to operate. And they all call the kernel to implement various functions. It can be seen that the kernel is the core of the browser. Therefore, as long as we understand what the core engine of a browser is, we can then conduct compatibility testing on it without feeling stuck.
The core of the browser can be divided into: rendering engine and js engine:
Rendering engine: layout engineer or Rendering Engine, which are responsible for parsing and rendering of page content , that is, when visiting a website, the process goes from a blank page to the completion of page loading, from a simple page to a complete layout. It parses the page's tags, loads the css, and calculates how the page should be displayed. This understanding is that there are different browser cores, and their lexical parsing of web pages is also different, so there are display differences, which is a headache compatibility issue for our front-end development.
js engine: parses the page script (javascript) language to achieve some dynamic effects on the page.
Introduction to the four cores:
1. Trident: an engine developed by Microsoft. Its IE products are driven by it, and many other browsers also use it as the kernel. Because Microsoft IE has always been the leader, it is a bit self-developed, and its support for W3C standards is not that good. There are many bugs, and there were very few updates at first, which led to the existence of ie5, ie6 and other evil browsers, which made many students with little front-end development experience despise it! Yes, starting from ie8, ie has slowly become more powerful again. I look forward to ie10...
2. Gecko: an open source rendering engine, written in C, with powerful functions, rich functions, and can support many complex functions. FireFox is the representative of web page effects and browser extension interfaces. It has good support for w3c standards and is very powerful in development and debugging, but the startup speed is not very fast;
3. WebKit: developed by Apple based on KHTML. The parsing of web pages is relatively fast, only second to Presto, but the fault tolerance is relatively poor, and non-standard web pages cannot be displayed normally. Representative browsers that use it for core development are Safari and Chrome;
4. Presto: Started by Opera Software, it is recognized as the fastest rendering engine. When processing scripting languages such as JS scripts, it will be about 3 times faster than other kernels, but there are also some problems with the speed, that is, some web compatibility is lost;
Now, I guess you have a certain understanding of browsers , it should be helpful for you to deal with browser compatibility issues in the future. Different kernels have different rendering engines, and their parsing of pages is also different. This is the reason for page differences. But if we try to use a streamlined HTML structure and use CSS reasonably when laying out, we can greatly reduce compatibility issues and speed up our development efficiency.
Related articles: