前端开发部分总结[兼容性、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 相关文章推荐
javascript 实现父窗口引用弹出窗口的值的脚本
Aug 07 Javascript
js 使FORM表单的所有元素不可编辑的示例代码
Oct 17 Javascript
Javascript实现Web颜色值转换
Feb 05 Javascript
BootStrap tooltip提示框使用小结
Oct 26 Javascript
jQuery用FormData实现文件上传的方法
Nov 21 Javascript
详解Vue项目编译后部署在非网站根目录的解决方案
Apr 26 Javascript
详解使用jest对vue项目进行单元测试
Sep 07 Javascript
angularjs手动识别字符串中的换行符方法
Oct 02 Javascript
深入探讨JavaScript的最基本部分之执行上下文
Feb 12 Javascript
vue以组件或者插件的形式实现throttle或者debounce
May 22 Javascript
解决layer.open弹出框不能获取input框的值为空的问题
Sep 10 Javascript
jQuery实现二级导航菜单的示例
Sep 30 jQuery
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
phpMyAdmin 安装教程全攻略
2007/03/19 PHP
Php获取金书网的书名的实现代码
2010/06/11 PHP
10 个经典PHP函数
2013/10/17 PHP
PHP检测移动设备类mobile detection使用实例
2014/04/14 PHP
php中curl和file_get_content的区别
2014/05/10 PHP
浅析PHP类的反射来实现依赖注入过程
2018/02/06 PHP
微信公众平台开发教程⑤ 微信扫码支付模式介绍
2019/04/10 PHP
Extjs学习过程中新手容易碰到的低级错误积累
2010/02/11 Javascript
jQuery中nextUntil()方法用法实例
2015/01/07 Javascript
jquery实现可横向和竖向展开的动态下滑菜单效果
2015/08/24 Javascript
jQuery on()方法示例及jquery on()方法的优点
2015/08/27 Javascript
每天一篇javascript学习小结(Array数组)
2015/11/11 Javascript
HTML5 canvas 9绘制图片实例详解
2016/09/06 Javascript
根据输入邮箱号跳转到相应登录地址的解决方法
2016/12/13 Javascript
利用js的闭包原理做对象封装及调用方法
2017/04/07 Javascript
vue2.0 axios前后端数据处理实例代码
2017/06/30 Javascript
Vue实现数字输入框中分割手机号码的示例
2017/10/10 Javascript
vue-router 路由基础的详解
2017/10/17 Javascript
vue.js模仿京东省市区三级联动的选择组件实例代码
2017/11/22 Javascript
详解babel升级到7.X采坑总结
2019/05/12 Javascript
通过循环优化 JavaScript 程序
2019/06/24 Javascript
JS通用方法触发点击事件代码实例
2020/02/17 Javascript
原生javascript中this几种常见用法总结
2020/02/24 Javascript
[01:08:57]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第二场
2014/05/24 DOTA
python基础入门详解(文件输入/输出 内建类型 字典操作使用方法)
2013/12/08 Python
Python 爬虫爬取指定博客的所有文章
2016/02/17 Python
PyQt5每天必学之带有标签的复选框
2018/04/19 Python
Linux 修改Python命令的方法示例
2018/12/03 Python
对python中矩阵相加函数sum()的使用详解
2019/01/28 Python
办公室内勤岗位职责范本
2013/12/09 职场文书
仓管岗位职责范本
2014/02/08 职场文书
不遵守课堂纪律的检讨书
2014/09/24 职场文书
求职简历自我评价范文
2015/03/10 职场文书
关于教师节的广播稿
2015/08/19 职场文书
党风廉政承诺书2016
2016/03/25 职场文书
Vue监视数据的原理详解
2022/02/24 Vue.js