Project background: .Net 3.5 MySQL jQuery WebService
I have been working on this project in the company for more than 6 months. To summarize some problems, it can be considered as a way to attract new ideas. I hope more friends in the garden can share some skills.
1. The return value of the WebService method cannot be void.
When the return value of the WebService method is void, FF and Chrome will continue to wait, thinking that the request has not ended, but everything is normal in IE.
2. When the input type="button" or when using button, the submit of the form will be triggered after clicking.
I searched for the problem of page refresh for a long time, and finally discovered that the button would automatically trigger the submit of the form, causing the current page to be refreshed.
3. The js setting document.domain can only be set from the second-level domain name to the top-level domain name.
For example, when visiting moozi.cnblogs.com, you can write document.domain='cnblogs.com' on this page; if you set the domain to cnblogs.com, you can no longer use document.domain='moozi.cnblogs.com. ';.
4. Use DOM fragments to create iframes. When crossing domains, you cannot use js to write the domain of the iframe.
For example, if you use js to set the domain to document.domain='cnblogs.com' on the moozi.cnblogs.com/test.html page, and then use var ifrm=createElement('iframe'), then The domain where iframe cannot be set using js is also 'cnblogs.com'. You can only set ifrm.src='test2.htm' and set the domain document.domain='cnblogs.com' in test2.htm.
5. When you have modified the current domain, CKEditor is normal, but tinyMCE needs to reset the domain.
CKEditor can automatically identify the current domain without making any mistakes. tinyMCE requires manual setup. At the same time, if you use CKFinder to upload files, you need to modify its input code, otherwise an error message of no permissions will appear due to different domains.
6. Using tinyMCE, even though your initialization code only has one sentence, initialization may occur multiple times. The cause is unknown, and this BUG occurs under uncertain circumstances.
7. When developing js components, you must always pay attention to the closure and this reference. You have suffered a lot in this regard before.
8. When converting a string into a jQuery object, pay attention to the closing tag of the string html code.
For example: var html='test 'var jqEl=$(html); At this time, jqEl will discard the ' ' in the html.
9. There are some differences in the details of jQuery1.2.6 and jQuery1.3.
jQuery1.2.6 will make an error when processing hasClass('.className'), but jQuery1.3 will not.
10. Use jQuery’s each as little as possible and use more native js code, which has higher performance.