代码改变世界

随笔分类 -  JavaScript

勤于思考:jQuery Validation 在IE7(兼容模式)下出现“找不到成员”的脚本错误

2013-11-06 14:54 by 薛凯凯圆滚滚, 2220 阅读, 收藏,
摘要: 今天在调试IE10下使用IE6判断脚本出现错误,处理后说IE7也不行,调试后则会出现以下错误:SCRIPT3: 找不到成员。 jquery171.js, 行2582 字符4其实开始我认为是jquery本身的问题。百度了下找到一篇CSDN的帖子:SCRIPT3:找不到成员原来是用了jquery.validate.js才会出现这个问题。用了帖子提供的临时解决方案:打开jquery.validate.js找到以下内容// Add novalidate tag if HTML5.this.attr( "novalidate", "novalidate" );把这 阅读全文

勤于思考:IE10不支持检测IE6的代码

2013-11-06 09:29 by 薛凯凯圆滚滚, 334 阅读, 收藏,
摘要: 这句话var isIE6 = isIE && ([/MSIE (\d)\.0/i.exec(navigator.userAgent)][0][1] == 6);在IE6~9都没问题,就IE10下报错改成var isIE6 = isIE && ([/MSIE (\d+)\.0/i.exec(navigator.userAgent)][0][1] == 6); 阅读全文

勤于思考:target="_search"解决每次只在浏览器的同一个标签栏中打开

2013-04-15 11:54 by 薛凯凯圆滚滚, 531 阅读, 收藏,
摘要: 以前看网页的时候开打一个链接地址都会在一个标签中打开,但是那时还年幼不知道这是啥技术。废话少说,这个属性其实已经不再HTML标准里了,所以一般的IDE的智能提示里是不会出现这个属性的,但是还是可以用。仔细查了下,发现其实它的原理其实是在浏览器的搜索区装载文档的,所以在多标签的浏览器使用没什么问题,但是在IE6中会让人蛋疼的打开浏览器窗口。_blank 浏览器会另开一个新窗口显示链接 _self,在同一框架或窗口中打开所链接的文档。此参数为默认值,通常不用指定。 _parent,将链接的文件载入含有该链接框架的父框架集或父窗口中。如果含有该链接的框架不是嵌套的,则在浏览器全屏窗口中载入链接的文件 阅读全文

勤于思考:jquery.getJSON的缓存问题的解决方法

2013-03-29 11:34 by 薛凯凯圆滚滚, 434 阅读, 收藏,
摘要: 在项目中遇到一个问题,在火狐下,$.getJSON();请求数据一切正常,但是在IE下面,$.getJSON();只请求一次数据,第二次根本就不发送请求了,用fiddler抓取了才知道,第二次没有发送请求,改成了post就正常了$.getJSON()存在缓存问题,如果其调用的url之前曾经调用过的话,回调函数就会直接在缓存里面取得想要得值,而不是进入到后台解决方法如下:1、让每次调用的URL都不一样。方法:在参数中加一个随机数$.getJSON("/Member/GetExercise.html", { id: $("#Wareid").val(), i 阅读全文

步步为营:JS键盘各键对应的代码

2012-06-01 09:54 by 薛凯凯圆滚滚, 388 阅读, 收藏,
摘要: <body onkeydown=alert(event.keyCode)>描述 0x1 鼠标左键 0x2 鼠标右键 0x3 CANCEL 键 0x4 鼠标中键 0x8 BACKSPACE 键 0x9 TAB 键 0xC CLEAR 键 0xD ENTER 键 0x10 SHIFT 键 0x11 CTRL 键 0x12 MENU 键 0x13 PAUSE 键 0x14 CAPS LOCK 键 0x1B ESC 键 0x20 SPACEBAR 键 0x21 PAGE UP 键 0x22 PAGE DOWN 键 0x23 END 键 0x24 HOME 键 0x25 LEFT ARROW 阅读全文

天天小知识:JavaScript IE6 中 window.location.href 不能跳转

2011-12-15 17:19 by 薛凯凯圆滚滚, 498 阅读, 收藏,
摘要: 前几天在实现试客演示流程,使用Cookie记录值时使用了 window.location.href但是测试人员在测试中提交有浏览器不兼容,IE6 IE7都不能跳转。于是乎,以为检查之后发现是 window.location.href 不跳转,这是为何。思考过后,应该是IE6-7在对这个属性赋值后,如果没有在事件处理后return false;的话 就只是给这属性赋值,不进行跳转。return false;进行测试<a href="javascript:;" onclick="javascript:goUrl('http://www.sina.com& 阅读全文

14条最佳JS代码编写技巧

2011-08-03 11:45 by 薛凯凯圆滚滚, 414 阅读, 收藏,
摘要: 1. 总是使用 var 在javascript中,变量不是全局范围的就是函数范围的,使用var关键词将是保持变量简洁明了的关键。当声明一个或者是全局或者是函数级(function-level)的变量,需总是前置var关键词,下面的例子将强调不这样做潜在的问题。 不使用 Var 造成的问题var i=0; // This is good - creates a global variablefunction test() { for (i=0; i10; i++) { alert("Hello World!"); }}test();alert(i); // The globa 阅读全文

如何判断Javascript对象是否存在

2011-08-03 11:30 by 薛凯凯圆滚滚, 334 阅读, 收藏,
摘要: 1.如果只判断对象是否存在,推荐使用第1种写法第1种写法 还可以使用typeof运算符,判断myObj是否有定义。 if (typeof myObj == "undefined"){ var myObj = {}; } 这是目前使用最广泛的判断javascript对象是否存在的方法。2. 如果除了对象是否存在,还要判断对象是否有null值,推荐使用第2种写法。 if (!myObj){ var myObj = {}; } 阅读全文

JS实现动态显示当前时间(12/24小时制)(转载Mr.Think)

2011-07-11 11:05 by 薛凯凯圆滚滚, 1063 阅读, 收藏,
摘要: 今天又要用到动态显示当前时间,且要求可以切换24/12小时制, 记得很久前写过一个24小时制的,但一时没能找着, 于是又重新写了个,若有需要的朋友自行复制粘贴一份吧.很简单的一个功能函数,实现方式不多言,用Date()对象获取到当前时间,然后用setTimeout每隔1秒获取最新的时间.写的过程中碰到过一个小小的问题: 我最初的想法是用setInterval()每隔1秒获取最新时间,可是可以,但setInterval如果放在主函数内部,但导致内存泄漏(至于原因,暂时还没想明白),后来在Rocky的提醒下用setTimeout()才解决内存泄漏问题,感谢Rocky同学:)//显示时间 windo 阅读全文

JavaScript显示剩余时间

2011-07-08 09:58 by 薛凯凯圆滚滚, 1781 阅读, 收藏,
摘要: 今天要做一个显示倒数计时还有几天几小时几分钟几秒的功能。上网看了下看到淘宝写的原代码。于是动了动脑筋把它给改了function showtime(ts) { var timerun = false; //是否启用 var Temp; //输出字符串 var tempts = ts - 1; //剩余秒数-1 var startTime = (new Date()).getTime(); //当前时间 var dateLeft = 0; //剩余天数 var hourLeft = 0; //剩余小时 var minuteLeft = 0; //剩余分钟 var secondLeft = 0; / 阅读全文