Avoid using unsupported methods
Use a cross browser library
Always a cross browser library like jQuery will help the developers in developing web resources in CRM. Keep in mind to use these resources only with the HTML resources and avoid using unsupported methods to access CRM related objects.
Do not use jQuery for form scripts or commands
Continuation of the above point take a decision yourself to decide where to use jQuery.
Recognize limitations for content delivery network libraries
Use feature detection when writing functions for multiple browsers
When we target for multiple browsers, normally what we does is identifying the browsers and move ahead accordingly. But that never gives us a clear picture on what all features that particular browser supports. So its always good to detect the features instead of detecting the browser. How to detect features not browsers?
Do not access DOM
Always try to access CRM application pages or entity forms using Xrm.Page object model, we are tend to access these via DOM commands. These are always good to used only in a web resource. But wherever Xrm.Page object model can be used better to take that route as the DOM route is not supported by MSFT in this context. MSFT reserves the right to change how the pages are built and the elements in the pages and so on. So its always a risk to access and the elements via DOM.
Use asynchronous data access methods
To make sure the browser is responsive, its always recommended to run long running processes like data access using SOAP and REST endpoint asynchronously. Always use an XMLHttpRequest that is configured to execute asynchronously. This is because the browser will be running in a single thread and long running data processes can make is non responsive.