前端开发部分总结[兼容性、DOM操作、跨域等](持续更新)


Posted in Javascript onMarch 04, 2010

项目背景:.Net 3.5+MySQL+jQuery+WebService
在公司做这个项目已经6个多月了,总结一些问题,也算是抛砖引玉吧,希望园子里更多的朋友一起分享一些技巧。
1、 WebService方法返回值不能为void。
当WebService方法返回值为void时,FF和Chrome会持续等待,认为这个请求没有结束,而在IE中一切是正常的。
2、当input的type="button"时或者使用button时,点击后会触发form的submit。
当时查找页面刷新的问题找了很久,最后才发现是button会自动触发form的submit,导致当前页面的刷新。
3、js设置document.domain只能从二级域名设置到顶级域名。
比如访问moozi.cnblogs.com,可以在这个页面中写document.domain='cnblogs.com';如果把域设置为cnblogs.com之后,无法再使用document.domain='moozi.cnblogs.com';。
4、使用DOM片段创建iframe,当跨域时,不能用js写iframe的域。
比如你在moozi.cnblogs.com/test.html页面用js把域设置为document.domain='cnblogs.com',而此时你再用var ifrm=createElement('iframe') ,这时将不能用js设置iframe的域也为'cnblogs.com',只能让ifrm.src='test2.htm',并在test2.htm中设置域document.domain='cnblogs.com'。
5、当你修改过当前域的时候,CKEditor是正常的,而tinyMCE需要重新设置域。
CKEditor能自动识别当前域,并不出错。tinyMCE需要人为的设置。同时,如果你是用CKFinder上传文件,而需要修改它的输入代码,不然会因为域不同而出现没有权限的错误提示。
6、使用tinyMCE,尽管你的初始化代码只有一句,但是可能出现多次初如化。发生原因未知,在不确定的情况下会出现此BUG。
7、开发js组件的时候,要时刻注意闭包和this的指代,这方面之前吃了不少亏。
8、将字符串转换成jQuery对象时,要注意字符串html代码的闭合标签。
比如:var html='<span>test</span> 'var jqEl=$(html);此时,jqEl会把html里的' '丢掉。
9、jQuery1.2.6和jQuery1.3在细节的处理上有一些区别。
jQuery1.2.6处理hasClass('.className')会出错,而jQuery1.3不会。
10、尽量少用jQuery的each,多用js原生的代码,性能较高。

Javascript 相关文章推荐
window resize和scroll事件的基本优化思路
Apr 29 Javascript
按钮接受回车事件的三种实现方法
Jun 06 Javascript
angularJS中router的使用指南
Feb 09 Javascript
jQuery选择器源码解读(二):select方法
Mar 31 Javascript
Google 地图API Map()构造器详解
Aug 06 Javascript
基于js实现的限制文本框只可以输入数字
Dec 05 Javascript
js统计页面上每个标签的数量实例代码
May 29 Javascript
详解angular分页插件tm.pagination二次触发问题解决方案
Jul 20 Javascript
Vue之beforeEach非登录不能访问的实现(代码亲测)
Jul 18 Javascript
如何利用node.js开发一个生成逐帧动画的小工具
Dec 01 Javascript
JavaScript中继承原理与用法实例入门
May 09 Javascript
js实现省级联动(数据结构优化)
Jul 17 Javascript
jquery与google map api结合使用 控件,监听器
Mar 04 #Javascript
jquery 打开窗口返回值实现代码
Mar 04 #Javascript
jQuery入门知识简介
Mar 04 #Javascript
jQuery 获取URL参数的插件
Mar 04 #Javascript
老鱼 浅谈javascript面向对象编程
Mar 04 #Javascript
javascript实现的像java、c#之类的sleep暂停的函数代码
Mar 04 #Javascript
ExtJs之带图片的下拉列表框插件
Mar 04 #Javascript
You might like
PHP中在数据库中保存Checkbox数据(1)
2006/10/09 PHP
php一句话cmdshell新型 (非一句话木马)
2009/04/18 PHP
如何在php中正确的使用json
2013/08/06 PHP
Drupal7 form表单二次开发要点与实例
2014/03/02 PHP
PHP抓取淘宝商品的用户晒单评论+图片+搜索商品列表实例
2016/04/14 PHP
PHP创建多级目录的两种方法
2016/10/28 PHP
yii2-GridView在开发中常用的功能及技巧总结
2017/01/07 PHP
[原创]PHPCMS遭遇会员投稿审核无效的解决方法
2017/01/11 PHP
ThinkPHP整合datatables实现服务端分页的示例代码
2018/02/10 PHP
父子窗体间传递JSON格式的数据的代码
2010/12/25 Javascript
JavaScript Memoization 让函数也有记忆功能
2011/10/27 Javascript
jquery中常用的SET和GET$(”#msg”).html循环介绍
2013/10/09 Javascript
javascript解析json数据的3种方式
2014/05/08 Javascript
JavaScript闭包函数访问外部变量的方法
2014/08/27 Javascript
NodeJS学习笔记之MongoDB模块
2015/01/13 NodeJs
JS实现文件动态顺序载入的方法
2015/03/07 Javascript
jquery实现横向图片轮播特效代码分享
2015/11/19 Javascript
你不知道的高性能JAVASCRIPT
2016/01/18 Javascript
canvas绘制的直线动画
2017/01/23 Javascript
jQuery图片查看插件Magnify开发详解
2017/12/25 jQuery
Vue 组件参数校验与非props特性的方法
2019/02/12 Javascript
ES7之Async/await的使用详解
2019/03/28 Javascript
[06:24]DOTA2 2015国际邀请赛中国区预选赛第二日TOP10
2015/05/27 DOTA
python3+PyQt5实现柱状图
2018/04/24 Python
详解python之协程gevent模块
2018/06/14 Python
Python3.5内置模块之shelve模块、xml模块、configparser模块、hashlib、hmac模块用法分析
2019/04/27 Python
python 通过可变参数计算n个数的乘积方法
2019/06/13 Python
基于Python3.7.1无法导入Numpy的解决方式
2020/03/09 Python
numpy矩阵数值太多不能全部显示的解决
2020/05/14 Python
python打包生成so文件的实现
2020/10/30 Python
斯福泰克软件测试面试题
2015/02/16 面试题
平安建设工作方案
2014/06/02 职场文书
2014年教师节活动总结
2014/08/29 职场文书
公民代理授权委托书
2014/09/24 职场文书
Nginx服务器添加Systemd自定义服务过程解析
2021/03/31 Servers
python实现过滤敏感词
2021/05/08 Python