The name conflict to be introduced today is not a name conflict within the system, but a name conflict between the system and the browser plug-in.
Ii. symptom description:
III. The fault analysis process tries to reproduce the fault:
(1) HTML can be successfully parsed to eliminate network issues. (2) Check the ngnix access logs of the resource server. Only page requests do not have JS or CSS requests. I guess there is a problem when the page requests loading static resources. (3) but static resources are loaded in the mailbox in a unified way: loadscript and loadcss. If the problem occurs, it should be because all users have problems, not some users. In addition, if there is a problem with the two methods, it is easy for the test colleagues to find that it is impossible to bring a line of generation. (4) start to suspect that the user's browser is infected with a Trojan. Malicious Code is injected into the mailbox page, causing loading of static resources to fail.
4. log on to the user's computer to verify the fault analysis process:
5. Identify malicious plug-ins:
6. Preventive measures:
When a global function must be defined during encoding, the name must carry the product features. Avoid being overwritten by browser plug-ins of other products.
In fact, quickplay injection is not malicious code, but the root cause of the failure is actually a name conflict. Martin Fowler
Refactoring: improving the design of existing code
I have introduced the naming of functions. If you are interested, you can read this book. It is definitely worth it.
Current Network Fault Caused by Name Conflict