Home Web Front-end HTML Tutorial Browser kernel information sorting

Browser kernel information sorting

Mar 25, 2017 am 11:06 AM
Kernel Browser

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:

Mainstream browser kernels and JS engines

Browser kernel summary

php gets browser kernel version

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Solve caching issues in Craft CMS: Using wiejeben/craft-laravel-mix plug-in Solve caching issues in Craft CMS: Using wiejeben/craft-laravel-mix plug-in Apr 18, 2025 am 09:24 AM

When developing websites using CraftCMS, you often encounter resource file caching problems, especially when you frequently update CSS and JavaScript files, old versions of files may still be cached by the browser, causing users to not see the latest changes in time. This problem not only affects the user experience, but also increases the difficulty of development and debugging. Recently, I encountered similar troubles in my project, and after some exploration, I found the plugin wiejeben/craft-laravel-mix, which perfectly solved my caching problem.

Tips for using HDFS file system on CentOS Tips for using HDFS file system on CentOS Apr 14, 2025 pm 07:30 PM

The Installation, Configuration and Optimization Guide for HDFS File System under CentOS System This article will guide you how to install, configure and optimize Hadoop Distributed File System (HDFS) on CentOS System. HDFS installation and configuration Java environment installation: First, make sure that the appropriate Java environment is installed. Edit /etc/profile file, add the following, and replace /usr/lib/java-1.8.0/jdk1.8.0_144 with your actual Java installation path: exportJAVA_HOME=/usr/lib/java-1.8.0/jdk1.8.0_144exportPATH=$J

How to optimize website performance: Experiences and lessons learned from using the Minify library How to optimize website performance: Experiences and lessons learned from using the Minify library Apr 17, 2025 pm 11:18 PM

In the process of developing a website, improving page loading has always been one of my top priorities. Once, I tried using the Miniify library to compress and merge CSS and JavaScript files in order to improve the performance of the website. However, I encountered many problems and challenges during use, which eventually made me realize that Miniify may no longer be the best choice. Below I will share my experience and how to install and use Minify through Composer.

How to monitor HDFS status on CentOS How to monitor HDFS status on CentOS Apr 14, 2025 pm 07:33 PM

There are many ways to monitor the status of HDFS (Hadoop Distributed File System) on CentOS systems. This article will introduce several commonly used methods to help you choose the most suitable solution. 1. Use Hadoop’s own WebUI, Hadoop’s own Web interface to provide cluster status monitoring function. Steps: Make sure the Hadoop cluster is up and running. Access the WebUI: Enter http://:50070 (Hadoop2.x) or http://:9870 (Hadoop3.x) in your browser. The default username and password are usually hdfs/hdfs. 2. Command line tool monitoring Hadoop provides a series of command line tools to facilitate monitoring

How to solve the error in CentOS HDFS configuration How to solve the error in CentOS HDFS configuration Apr 14, 2025 pm 07:06 PM

Troubleshooting HDFS configuration errors under CentOS Systems This article is intended to help you solve problems encountered when configuring HDFS in CentOS systems. Please follow the following steps to troubleshoot: Java environment verification: Confirm that the JAVA_HOME environment variable is set correctly. Add the following in the /etc/profile or ~/.bashrc file: exportJAVA_HOME=/path/to/your/javaexportPATH=$JAVA_HOME/bin: $PATHExecute source/etc/profile or source~/.bashrc to make the configuration take effect. Hadoop

Use Composer to solve browser sniffing: The practical application of WhichBrowser/Parser library Use Composer to solve browser sniffing: The practical application of WhichBrowser/Parser library Apr 17, 2025 pm 11:21 PM

I encountered a tricky problem when developing a multi-device-compatible website: how to accurately identify the user's browser and device information. After trying multiple methods, I found that directly parsing user-agent strings (User-Agent) are both complex and unreliable, and often misjudgments occur. Fortunately, I successfully solved this problem by installing the WhichBrowser/Parser library using Composer.

What is the reason why the browser does not respond after the WebSocket server returns 401? How to solve it? What is the reason why the browser does not respond after the WebSocket server returns 401? How to solve it? Apr 19, 2025 pm 02:21 PM

The browser's unresponsive method after the WebSocket server returns 401. When using Netty to develop a WebSocket server, you often encounter the need to verify the token. �...

Why can't JavaScript directly obtain hardware information on the user's computer? Why can't JavaScript directly obtain hardware information on the user's computer? Apr 19, 2025 pm 08:15 PM

Discussion on the reasons why JavaScript cannot obtain user computer hardware information In daily programming, many developers will be curious about why JavaScript cannot be directly obtained...

See all articles