A, problem,

In order to promote the Edge browser of its Chromium kernel, Microsoft suddenly announced on May 19, 2021 that from June 15, 2022, Internet Explorer will no longer be supported by most versions of Windows 10 system, so IE will completely withdraw from the stage of the Internet. Specifically, Microsoft has decided that Internet Explorer will no longer be supported on all consumer versions of Windows 10. Even if users forcibly start Internet Explorer, they will be redirected to the Edge browser to open web pages, like this:

Server and Long Term Service Channel (LTSC) support will remain in Windows 10 for now, but there is no telling when it will be removed. For details, please click: The Future of Internet Explorer on Windows 10 is in Microsoft Edge and Internet Explorer 11 Desktop App Retirement FAQ

Internet Explorer was launched in 1995 as the default free web browser for Windows, and Microsoft quickly beat Netscape, then a fee-paying rival, by bundling the system. At its peak, IE accounted for more than 90% of the global desktop browser market until Google Chrome became mainstream around 2013. During this period of nearly 20 years, although The Firefox browser occupied about 30% of the market share at its peak in the middle, no matter which website was launched at that time, compatibility with IE was the main test. And in the process of the history of the development of Internet, the browser function is relatively simple to begin with, in order to make up for the inadequacy of the browser itself function and improve interaction experience in web browser developers have provided very open plug-in development interface to a third party call, of which the ActiveX controls in Internet explorer and non NPAPI plugins are the most typical in IE. Third-party companies have developed a variety of controls or plug-ins based on the browser plug-in development interface, such as security and card reading controls in the financial industry e-banking system, web players such as Flash Player in the multimedia field, drawing viewing controls such as DWG/DXF in the industrial design field. Therefore, each major download site category also added a separate browser plug-in software. In order to preempt IE users, Google Chrome released Chrome Frame plug-in based on IE development interface, which can change IE web pages into Chromium kernel rendering display. In order to simplify the plug-in development of various browsers, FireBreath, a very famous cross-browser open source plug-in framework, was born abroad. The underlying implementation adopts ActiveX control and NPAPI plug-in technology, as well as the once-popular Java Applet and Unity web game engine. There are several years based on the development of the two web games are not only more, but also very popular, the national midnight network to steal vegetables become a scene. And RIA(rich Internet application) has also been very popular with enterprises, Adobe Flex and Microsoft Silverlight as two typical representatives of RIA development due to low threshold, convenient development and other advantages in the field of enterprise information has been widely used. Its implementation also depends on ActiveX control and NPAPI plug-in technology.

However, whether the browser control or plug-in is safe, stable, totally depends on its developer, so every so often by people or companies to use to send out, embedded Trojan virus or steal the sensitive information, lead to network operation is more and more insecure, browser itself also often lose response or collapse. Internet Explorer has had to add a variety of so-called security Settings to restrict the use of ActiveX controls. This makes for a poor experience and difficult maintenance, because most computer users don’t know how to modify the Settings to ensure that ActiveX controls work. As shown below:

In 2015, Google announced that it would remove the NPAPI plug-in from its Chrome browser. Later, the new Version of Firefox followed Chrome to remove the NPAPI plug-in. Since then, all old sites using NPAPI will no longer run in Chrome, Firefox, Opera and other older browsers, and most of the old site providers will have to do the next best thing, letting users launch Internet Explorer when they need to. To this day, even the richest banks in the financial industry have not solved the problem of using their e-banking systems in advanced browsers such as Chrome and Firefox. When users encounter compatibility problems in these browsers, they can only helplessly tell users to use Internet Explorer, 囧. However, now Microsoft suddenly announced the end of IE, such as mostly public services such as banking, industry and commerce, taxation, education and other old websites and OA, ERP and other enterprise information systems have to continue to provide services, which will face no suitable browser available dilemma. Now it is urgent to have a good compatibility, stable and feasible mainstream technical solution to solve this problem completely.

Ii. Existing programs

Based on the current information, the existing solutions generally fall into the following categories:

1. Continue to behave like an ostrich, do not upgrade the operating system and browser version, to avoid the situation that cannot be used. Although this is not impossible, it will face a huge security risk, because the use of older operating systems such as Windows 7 or browsers of lower versions are increasingly discovered and exposed vulnerabilities and cannot be fixed, can be attacked or exploited at any time, resulting in business system shutdown and loss of sensitive data. Moreover, this scheme only applies to the scenario where the number of internal computers is small and fixed. For similar online banking so for the public service website or terminal request computer number and often change the site, the user’s computer operating system and browser version is often not controllable, can only try to take the initiative to adapt to the user’s computer environment to ensure availability, otherwise each spit will drown the customer service staff. Perhaps you will say all lets the user switch using a mobile phone APP or traditional desktop client to go, no longer provide desktop web, regardless of this hidden cat lazy administration behavior will cause huge damage to the corporate image, corporate online banking desktop web version, do not want to cancel also support, because in the proportion of enterprise Intranet using the desktop computer is high, Due to screen size limitations or security considerations, mobile terminal is still a minority, and traditional desktop client development, deployment, maintenance and so on is a big trouble. There is also the business system used by the computer, over a long time may break down or need to increase the number of use, and these new computers are often installed is the current mainstream operating system, maybe one day can not downgrade the installation of the old version of the system to use. In January 2021, there was an accident that the current car system in Dalian Car Depot could not be used normally due to the automatic installation of Flash Player software version which was suddenly stopped by Adobe, which caused widespread public attention and ridicule of netizens. Fortunately, these newly purchased computers could also be used with the old version. But the problem has not been fundamentally solved.

2. Use the browser extension scheme, such as Chrome, Edge and other browser extension stores, you can download and install the Internet Explorer Tab provided by foreign developers, but its commercial use is charged. With this extension, you can render a whole web page in the Browser TAB page with the IE kernel. According to statistics, this is the most paid extension in the Chrome app store, visible demand is quite strong. However, due to the special network environment in China, it is often impossible to complete the installation directly online, which is too difficult for ordinary computer users. Moreover, for commercial purposes, the enterprise Intranet is often blocked from the external network, so the implementation of deployment is very troublesome, and the web page needs to be switched to IE kernel rendering also requires users to manually click, the experience is still poor, and can not meet the requirements of domestic autonomy and control. Its price is not low, because it is a foreign developer, there are barriers in communication, procurement process is also long and tedious. The advantage is that there is no need to modify the site code and it can be used by mainstream browsers.

3. Dual-core browser scheme, domestic typical such as 360, QQ and other browsers, need to use IE kernel to render the web page, you can manually click the lightning icon switch kernel on the right side of the address bar to complete the reload display. The solution is free, but the trade-off is that the end-user may be constantly bombarded with pop-up ads. These browsers also tend to be bloated because they have a lot of proprietary features that are relevant to the developer, and the Chromium kernel versions built in are often not up to date and have potential security vulnerabilities. The biggest problem is that their share of the overall desktop browser market is so low that Chrome, which has around 70% of the market, cannot be guaranteed to work properly. This scheme also does not need to modify the site code, low cost.

4. Microsoft’s official suggested solution is the IE mode of Edge. As a professional in this area, I have not practiced how to render a website in IE mode according to the relevant tutorials on the Internet in the latest Version of Edge. The complex setup is shown below:

The Edge of the core Chromium browser, under Microsoft heavily promoting, the current market share also is only the digits, perhaps, as Microsoft’s own web page translation service automatically translated into the meaning of “Edge” browser has been so, like as the main technical solution to implement or too reluctant, and the Edge can simulate IE 11, It is not clear whether Edge will be able to load 32-bit ActiveX controls in IE mode on 64-bit systems. Microsoft is trying to get its customers to switch to Edge mode.

5. The overhaul plan is to rewrite the functions of program modules that cannot be compatible with Chrome and other browsers, such as ActiveX controls, to new technologies such as HTML5, WebGL, WebAssembly and so on. However, the ideal is good, but the reality is very sad, as Chrome and other browsers increasingly tighten their development interface, too much of the desired functionality is difficult to achieve. Even if it can be realized, it is likely that the function is not complete, and the investment is large and the cycle is long. The front-end web code needs to be adjusted synchronously, and the running performance is also a big problem. Take the RTSP real-time video streaming of the camera for example, IE calls ActiveX controls to play the delay in milliseconds, and in Chrome can only use transcoding scheme to play the delay in seconds, the difference is several times, often can not meet the requirements of the security industry. In addition, it is common that the caller of ActiveX controls is not the same as the developer of ActiveX controls. It is even more difficult for the caller to implement the functions of the ActiveX controls, and it is often not feasible for the developer company to provide alternative components. It is not uncommon for the developer to lose contact or go out of business.

Third, new plan

Take all of the above proposals together and you will find that none of them is satisfactory. To achieve a low-cost, compatible, high-performance, easy-to-implement autonomous and controllable solution, we need to take a different approach. The root cause of this problem is still because browser of Chromium and other kernel no longer supports DLL, ActiveX control and other native program running, and the PPAPI plug-in technology provided by the new technology has few successful cases so far because of too many restrictions, and will soon be cancelled. Therefore, the breakthrough point lies in whether a general external framework can be implemented on the mainstream Chrome, Firefox and other browsers to support the embedded web page running of these native programs, and can automatically respond to various operations of the browser, such as window zooming, window moving, window closing, web scrolling, TAB page switching and so on. After the search found a mature half open source domestic middleware software (codechina.csdn.net/zorrosoft/p…). Just realized, compatibility is also very strong, claims to be a cross-browser native applets system, at the same time provides the front end can automatically install, upgrade the control mechanism of applets, the key also introduced the caller authority verification mechanism, can ensure that these applets run safely. This set of technical solutions has strong innovation and practicability, and the developer has applied for software discovery patent protection. After downloading the software, I quickly contacted the customer service to open the permission for a free trial. It was really magical, and the operation effect was exactly the same as the previous NPAPI plug-in. Here is the implementation schematic:

Through a simple analysis and the documentation of the technology, this is outside of the browser to set up a interact with the operating system of the channel is used to support DLLS, ActiveX controls, such as the operation of the native application, not by the development of the browser interface, thus well avoid the browser upgrade may cause failure risk of technology solutions. And in the browser through the HTML5 standard Web Socket technology and the pluginok middleware and the start of the native small program communication, to achieve a two-way command request and feedback mechanism. The difficulties of this solution is for external application can good simulation run in a web page, the realization of embedded web run real experience, the good news is that we see pluginok implementation effect is satisfactory, not only have support interface window procedure can be embedded operation, can also call on all kinds of hardware driver DLL. Developers also released VLC web page play small programs, desktop Microsoft Office and Kingsoft WPS online editing series of small programs, you can put Word, Excel and other program Windows directly complete embedded in Chrome web page to run. As can be seen in the middleware is not only in order to solve the problems of the old website compatible operation, and is based on the browser to set up a similar WeChat small program that small application ecosystem, used in the function of extending the browser, the browser the best containers of all kinds of information system integration, can completely solve various pain points and difficult points of B/S system, Let traditional C/S desktop applications migrate to the browser to run again barrier-free.

In terms of compatibility with older sites, pluginok middleware provides two solutions: The first is pluginok middleware with its official RELEASE of IE control small program, can be in Chrome and other browser web pages through script request to achieve local load IE kernel rendered web pages, low cost, small front-end transformation, deployment can achieve independent control, which is much better than IE Tab extension, of course, there are also some disadvantages. This is the Internet Explorer browser itself, loading run time bomb warning experience is poor, poor stability, high memory footprint, do not want to be too toss about the old site recommended. The second scheme belongs to the complete transformation scheme, completely abandon THE IE kernel, the original ActiveX control or DLL and other program modules, based on pluginok middleware secondary development interface encapsulation into an independent process of small programs to run. The front-end transformation of this scheme is larger, and the cost is relatively high, but the experience is good, the performance is high, and the memory occupation is low, so it is suitable for new projects. Both solutions can reuse the original DLL or ActiveX control without the source code, which saves development costs significantly. The first solution only need to modify the site front-end code, the second also need to develop a small program, but the development is relatively easy, look at the introduction to provide friendly interface COM components, can also be commissioned to develop, just a little more cost, at least technically is completely no problem.

Four,

A good technical implementation plan, first of all, is to meet the rigid needs of customers, second is to minimize the total cost of procurement, development, implementation and maintenance, third is to have good compatibility and stability, and finally, to ensure that the technical plan can not be invalid because of the upgrade of the operating system or browser. Based on the latest technical information and practical experience, this paper provides two new solutions based on Pluginok middleware to solve the problem of compatible use of old websites in Chrome and other browsers, especially suitable for less modification to avoid affecting the operation of existing business systems, so as to provide reference for technical selection.