
JavaScript
mydeman
积极,认真,负责,热情,善于沟通
展开
-
JavaScript在Android的WebView中出现一个问题
今天被一个问题困扰,有一个页面在浏览器(无论是手机还是PC)上运行良好,而通过WebView就出现了问题,有两个值得计算始终出错。于是就通过alert,把这个值显示出来,发现和浏览器上计算的结果差了很多,本来是正数,却变成了负数。仔细比对发现,其中一部分数字被抹掉了,这些数字都是通过parseInt由字符串转化而来的。而被抹掉的值,和其他正常的数字唯一区别是,它们都是以0开头的,比如“04903”原创 2013-05-22 11:14:33 · 2695 阅读 · 0 评论 -
JavaScript FAQ(十四)——鼠标事件(一)
十二、 鼠标事件 1. 鼠标事件属性(Mouse Event Properties )Q:哪些事件属性我可以用来分析鼠标事件?A:Netscape Navigator 4和Internet Explorer 4(以及较新版本)支持相当少的事件属性。其中一些在两个浏览器上是一样的(例如,event.screenX或者event.typ);不过,多数还是平台相关。移动或点击鼠标,下面的文本框会显示你当翻译 2009-02-16 10:59:00 · 1255 阅读 · 0 评论 -
JavaScript FAQ(十七)——颜色
十三、颜色 1. 背景色(Background Color)Q:如何修改页面背景色?A:可以通过设置document.bgcolor属性来改变背景色。例如,把背景色改为灰色:document.bgColor="#CCCCCC"; // set to gray 现在就试一下(译者注:由于优快云上代码会被自动修改,所以省去了例子): 这里选择框由下列代码创建:Try it now: <sele翻译 2009-03-13 14:59:00 · 1734 阅读 · 0 评论 -
JavaScript FAQ(十八)—— CSS
十五、层叠样式表(CSS) 1. 应用样式表(Applying Stylesheets)Q:我如何在页面上应用另外一个样式表?A:浏览器通过一个或者多个LINK命令(主要是在页面的HEAD区域)加载样式表(CSS文件),例如:JavaScript通过使用集合document.styleSheets访问样式表。你可以通过将document.styleSheets[i].disabled的值设为翻译 2009-03-23 19:00:00 · 1478 阅读 · 0 评论 -
JavaScript FAQ (十九)——文件访问
十六、文件访问(File Access) 1、读取文件(Reading a File)Q:如何将文件读取到JavaScript变量中?A:根据脚本运行的环境和文件的位置,你可以有以下选项:XMLHttpRequest 对象(通过URL读取网站上可用的文件)FileSystemObject(如果你在一个被信任的环境下使用Windows Scripting Hosting或者IE)一个读取文件或者UR原创 2009-07-14 15:59:00 · 1241 阅读 · 1 评论 -
JavaScript FAQ(二十)—— 日期和时间
十七、日期和时间 1. 时钟示例(Clock Example)Q:我如何使用JavaScript编写一个时钟程序?A:一个简单的时钟程序就是每秒获取一个新的Date()(或者,更好些,一秒几次),然后将时间信息从Date()对象中显示出来。下面的代码就是在浏览器的状态栏中显示一个时钟: function sbClock() { var DateString=(new Date()).toStr翻译 2009-08-13 20:20:00 · 1453 阅读 · 0 评论 -
JavaScript FAQ(二十一)——Cookie
十八、Cookies 1、设置一个Cookie(Setting a Cookie)Q:我如何用JavaScript设置一个cookie?A:要设置一个cookie在n天后过期,可以使用下面的函数: function SetCookie(cookieName,cookieValue,nDays) { var today = new Date(); var expire = new Date();翻译 2009-08-15 10:19:00 · 1357 阅读 · 0 评论 -
JavaScript FAQ(二十二)——客户端信息
十九、客户端信息 1、浏览器名称(Browser Name)Q:我如何检测浏览器名称?A:要获取用户浏览器的实际名称,你可以用navigator.appName和navigator.userAgent属性。userAgent属性比appName更可靠些,例如,Firefox(和其他一些浏览器)由于兼容Netscape Navigator,因此对navigator.appName可能返回“Netsc翻译 2009-08-16 17:37:00 · 1629 阅读 · 2 评论 -
JavaScript FAQ(二十三)—— Bookmarklet
二十、Bookmarklet 1、什么是Bookmarklet?(What's a Bookmarklet?)Q:什么是Bookmarklet?A:Bookmarklet是整个都被包含在超链接URL中的一小段JavaScript程序。(JavaScript URL就是这个样子:。)多数浏览器允许用户添加这些JavaScript URL书签,就像添加其他超链接一样。bookmarklet这个词是由S翻译 2009-09-15 16:37:00 · 1891 阅读 · 0 评论 -
JavaScript FAQ(十六)——鼠标事件(三)
十二、鼠标事件 5. Ctrl、Alt、Shift键(Ctrl, Alt, Shift Keys)Q:我如何检测和按下Ctrl、Alt和Shift键一起的鼠标事件?A:在当今的浏览器中,脚本可以检测鼠标事件发生时,用户是否按下了Ctrl、Alt或者Shift键中任何一个。在下面的例子中,由MouseDown和MouseUp事件完成演示。而至于其它鼠标事件,类似的方法可能达到效果,也可能达不到效果,翻译 2009-03-10 08:13:00 · 1964 阅读 · 0 评论 -
JavaScript FAQ(十五)——鼠标事件(二)
十二、鼠标事件 2. 左键 vs.右键(Left vs. Right Button)Q:我如何检查用户点击的是右键还是左键?A:click事件只在左键发生,因此onClick事件处理器不用进行左右键测试。另一方面,mousedown和mouseup事件可能发生在鼠标的任何键上。要确定用户点击的是左键还是右键,可以使用下列事件属性:Netscape Navigator中 event.whichInt翻译 2009-03-09 17:07:00 · 1545 阅读 · 0 评论 -
JavaScript FAQ(十一)——表单(Form)
九、表单 1. 验证表单(Validating a Form)Q:我如何在表单数据提交服务器之前进行验证?A:要验证表单的输入,可以在表单的onSubmit事件处理器中调用你的验证函数。当用户提交表单时,浏览器首先会调用onSubmit事件处理器。事实上,只有这个处理器返回true时,表单才会被提交。在下面的例子中,onSubmit事件处理器验证了用户email地址。(为了简单期间,如果地址中没有翻译 2008-12-30 08:42:00 · 1735 阅读 · 0 评论 -
JavaScript FAQ(五)——数字
三、数字 1. 常量(Constants)Q:在编写JavaScript代码时,我可以使用什么类型的数字?A:在JavaScript中,你可以使用下列形式的数字:常规十进制数字:5 137 1.3指数形式的十进制数字:6.67e-11 -1.127e20八进制数,例如: 01234 -077 0312八进制的正数需以0开头,而负数应以-0开头。十六进制数,例如:0xFF -0xCCFF翻译 2008-12-03 15:11:00 · 1790 阅读 · 1 评论 -
JavaScript FAQ(四)——导航功能增强
二、导航功能增强 1. 下拉菜单中的链接(Links in Select Menu)Q:我如何实现在下拉菜单中链接到不同的页面?A:要创建一个所示的下拉菜单: 选择一个页面JavaScript FAQNumbersStringsNavigationColorsJavaScripter.net你可以使用下面的代码:<select onChange="if(this.selectedIndex!=翻译 2008-12-02 16:11:00 · 1583 阅读 · 0 评论 -
JavaScript FAQ(一)—— 常见问题(一)
今天在网上看到了一份很不错的JavaScript FAQ,由于担心自己并不能一直把它读完,所以就尝试翻译一些内容,和朋友们一起分享。 FAQ原地址:http://www.javascripter.net/faq/index.htm 一、常见问题 1、关于这个FAQ(About this FAQ) Q:为什么要使用这个FAQ? A:这个F翻译 2008-11-28 10:16:00 · 1909 阅读 · 0 评论 -
JavaScript FAQ(六)——字符串
四、字符串 1. 字符串中的引号(Quotes in String)Q:我如何在字符串中插入引号呢?A:字符串中的引号应该用一个反斜杠(/)引导。如此,JavaScript就会分辨出这些引号是普通字符串还是字符串的分隔符。下面是示例:string1='It/'s five o/'clock!';string2="";或者,如果字符串中只包含有单引号,那么你可以使用双引号作为字符串的分隔符,反之亦翻译 2008-12-06 17:25:00 · 1575 阅读 · 0 评论 -
JavaScript FAQ(七)——对话框
五、对话框 1. 警告(Alert)Q:我如何从JavaScript产生警告信息?A:要产生警告信息,可以使用alert()方法: alert('Message goes here'); 上面的按钮由下面的代码创建:<input type=button value="Try it now" onClick="alert('Hello from JavaScript!')">2. 确认对话框(翻译 2008-12-08 13:45:00 · 1396 阅读 · 0 评论 -
JavaScript FAQ(九)——Ajax
七、Ajax问题 1. Ajax:异步JavaScript和XML(Ajax: Asynchronous JavaScript and XML)Q:Ajax这个流行词到底是什么意思呀?A:Ajax这个短语最初有Jesse James Garrett提出,他是Adaptive Path的共同创始人。缩略语Ajax(通常只有第一个字母A大写)代表异步JavaScript和XML(Asynchronou翻译 2008-12-15 19:13:00 · 1121 阅读 · 0 评论 -
JavaScript FAQ(十)——框架(Frame)
八、框架 1. 我的页面在框架里吗?(Is my page framed?)Q:我的页面是框架中的页面呢,还是浏览器的顶层窗口呢?A:要测试页面是否在框架中,可以使用下面的条件操作符:if (self.location!=top.location) // if yes, you're framedif (self.location==top.location) // here you aren'翻译 2008-12-23 15:41:00 · 1218 阅读 · 0 评论 -
JavaScript FAQ(十二)——层
十、层 1. 层内放置外部文件(External Files Within Layers)Q:我可以在将外部的HTML文件作为页面的一部分显示吗?A:可以,你可以通过使用下面方法实现:LAYER或者ILAYER标记,SRC=FILENAME.HTM(在Netscape4中)IFRAME标记,SRC=FILENAME.HTM(在Explore4+ 和 Netscape 6中)你可以使用JavaScr翻译 2008-12-31 19:19:00 · 1315 阅读 · 0 评论 -
JavaScript FAQ(二十四)—— 声音
二十一、声音 1、可以播放声音的浏览器(Audio-enabled Browsers)Q:什么可以浏览器可以执行播放声音的脚本?A:如果在声音播放描述的技术可以在Miscrosoft Internet Explorer 4.0及其更新版本中工作,那么同样可以在Netscape Navigator 3.0及其更新版本中工作。要在Internet Explorer中播放声音,在4.0以及后来版本中测试翻译 2009-09-17 15:33:00 · 3966 阅读 · 1 评论 -
JavaScript FAQ(二十五 完)—— 错误处理
二十二、错误处理 1、禁止JS错误(Suppress JS Errors)Q:我是否可以禁止JavaScript错误信息?A:可以。要禁止页面上所有的JavaScript错误信息,你要把下面一段代码放在页面的HEAD部分:<!--function silentErrorHandler() {return true;}window.onerror=silentErrorHandler;//-翻译 2009-09-19 07:00:00 · 1278 阅读 · 0 评论 -
JavaScript FAQ (三)——常见问题(三)
一、常见问题 9. JavaScript的注释(Comments in JavaScript)Q:我如何在JavaScript代码中插入注释?A:JavaScript支持三种不同类型的注释:多行C样式的注释。 包括在/* 和 */ 内的内容都是注释,例如:/* This is a comment *//* C-style comments can spanas many lines as翻译 2008-12-02 10:08:00 · 1870 阅读 · 0 评论 -
JavaScript中的作用域(Scope in JavaScript)
英语原文:http://www.digital-web.com/articles/scope_in_javascript/ 译文原址:http://realazy.org/blog/2007/07/18/scope-in-javascript/ 作用域(scope)是JavaScript语言的基石之一,在构建复杂程序时也可能是最令我头痛的东西。记转载 2008-10-19 22:16:00 · 1159 阅读 · 0 评论 -
设置正确的Content-Type以解决Ext的中文乱码问题
1、前后台所有文件统一用utf-8编码方式。2、在Request Headers中设置Content-Type:application/x-www-form-urlencoded; charset=utf-8,具体方法:将Ext.lib.Ajax.defaultPostHeader += ; charset=utf-8加在Ext.onReady块里,此方法可以解决用EXT在POST时的中文乱码转载 2008-10-15 15:20:00 · 5476 阅读 · 0 评论 -
JavaScript and HTML Tricks
Here are some of my favorite JavaScript and HTML tricks. There are a wide variety of options: from storing and using hidden data to making HTML forms and lists look great. Each topic has a brief intro转载 2008-08-29 15:51:00 · 1549 阅读 · 0 评论 -
使用createElement()创建checkbox不能设置name属性
今天在使用document.createElement()动态创建复选框时,发现不能为其name赋值,以下是测试代码: html> head> title>Testtitle> head> body> div id="testDiv">div> input type="button" onclick="a原创 2008-08-01 17:23:00 · 4810 阅读 · 2 评论 -
JavaScript中的setMonth()方法的小问题
今天测试人员发现一个问题,从英文日期转化中文日期,月份总会有“6月”变为“7月”。于是我在本地反复测试,发现如下规律:只要setMonth()的参数为小于31天的月份时就会变为下一个月。 原因是:因为当前月份是31天,而设置的月份小于31天,就会把日期顺延。在setMonth的说明是这样的:setMonth 方法设置 Date 对象中用 本地时间表示的月份值。原创 2008-07-31 17:45:00 · 3195 阅读 · 3 评论 -
JavaScript高级编程 III
原文地址:http://www.onlamp.com/pub/a/onlamp/2007/11/20/advanced-javascript-iii.html JavaScript高级编程I:http://blog.youkuaiyun.com/mydeman/archive/2007/08/20/1751479.aspx JavaScript高级编程II:http://blog.cs翻译 2008-07-21 14:51:00 · 3161 阅读 · 1 评论 -
dojo传递中文字串时的问题
今天在Fixing Bug的过程中,发现了一个使用dojo的问题。当输入CJK字符时提交到后台发现就变成了“策”的形式,虽然有时在显示的时候并不会出错的,但是在某些时候放到超链接里或者经过几次前后传递之后就不能正常显示中文了,会直接显示成“策”。 问题原因:dojo对CJK字符进行了编码,而默认的编码是ascii。所以要想还原字串本来的面原创 2008-03-13 13:47:00 · 1852 阅读 · 0 评论 -
JavaScript获取HTML DOM节点元素的方法的总结
在Web应用程序特别是Web2.0程序开发中,经常要获取页面中某个元素,然后更新该元素的样式、内容等。如何获取要更新的元素,是首先要解决的问题。令人欣慰的是,使用JavaScript获取节点的方法有很多种,这里简单做一下总结(以下方法在IE7和Firefox2.0.0.11测试通过): 1. 通过顶层document节点获取: (1) docu原创 2008-02-02 13:00:00 · 26954 阅读 · 8 评论 -
正则表达式中的反向预搜索
这几天在用正则表达式做一个小程序,需要替换内容中的某些特殊字符串。这些字符串的出现是有规律的,那就是在它左面总会特定的内容出现,右面却没有。于是自然就想到了反向预搜索。 在以前的应用,大多是应用正向预搜索情况。也就是说,在查找内容的右面有特定的内容限定,例如下面的例子:var str3 = CPU: Intel Core2 5200; Memory: 2G;OS:原创 2009-09-29 15:36:00 · 4460 阅读 · 0 评论 -
FireFox对TABLE中各元素的firstChild属性的处理
前几天测试一个小程序,其中需要获取表格中某行第一个单元格自定义的属性值,很自然地就用到:tr.firstChild.getAttribute(bill_id); 这行代码在IE6上可以正确执行,但是在FireFox3.5上却没有结果。错误提示:不支持该属性或方法。根据经验判断,应该是tr或者tr.firstChild二者中有一个没有获取正确的对象。于是使用tr.nodeName和tr.原创 2009-10-17 00:50:00 · 4515 阅读 · 0 评论 -
正则表达式中的反向预搜索(续)
在前面《正则表达式中的反向预搜索》中,在JavaScript中利用RegExp对象实现了正则表达式反向预搜索的字符串替换功能,代码为://程序目的,去掉图片路径中的域名 var str = ; var reg1 = /(/<img)(.*(?=(http|https)/:////))((http|https)/:////[^//]*)/gim; str.matc原创 2009-11-09 15:12:00 · 1891 阅读 · 0 评论 -
JavaScript FAQ(二)——常见问题(二)
一、常见问题 4. JavaScript的局限性(JavaScript Lminitations)Q:JavaScript程序不能做什么?A:JavaScript代码不能做下列事情:不能使用用户系统上或者客户端局域网中的打印机或者其他设备。(解决方法,见打印JavaScript输出。)不能直接访问用户系统或者客户端局域网中的文件;唯一例外就是可以访问浏览器的Cookie文件。(解决方法,见文件访问翻译 2008-12-01 09:41:00 · 1150 阅读 · 0 评论 -
JavaScript FAQ(八)——窗口(Window)
六、窗口 1. 打开一个窗口(Opening a window)Q:我如何打开一个新的浏览器窗口?A:可以使用window.open()方法,打开一个新浏览器窗口。例如,下面的代码就在一个新窗口中显示当前页。 myRef = window.open(''+self.location,'mywin', 'left=20,top=20,width=500,height=500,toolbar=1,re翻译 2008-12-11 11:25:00 · 1337 阅读 · 0 评论 -
JavaScript FAQ(十三)——图片
十一、图片 1. OnMouseOver效果(OnMouseOver Effects)Q:我如何在用户鼠标放到图片上时更改这个图片?A:这里一个简单的例子:鼠标移到文件上,它就会打开。鼠标移走,它就会关闭。在这个例子中,图像是2.gif,而图片是1.gif。它们都保存在../hi-icons文件夹中。为了实现“mouseover”效果,标记被嵌入到一个超链接中,由这个超链接来处理onMouseOv翻译 2009-01-03 10:19:00 · 1756 阅读 · 0 评论 -
使用Node.js + MongoDB实现一个简单的日志分析系统
在最近的项目中,为了便于分析把项目的日志都存成了JSON格式。之前日志直接存在了文件中,而MongoDB适时闯入了我的视线,于是就把log存进了MongoDB中。log只存起来是没有意义的,最关键的是要从日志中发现业务的趋势、系统的性能漏洞等。之前有一个用Java写的分析模块,运行在Tomcat下。实现相当的重量级,添加一个新指标的流程也比较繁琐,而且由于NFS的原因还导致分析失败。一直想改写,最原创 2011-10-31 16:51:16 · 39208 阅读 · 12 评论 -
在CentOS5.6上安装Node.js(续)——编写程序验证安装
在上一篇文章《在CentOS5.6上安装Node.js》中,只用简单的几步就完成了安装。虽然看起来安装都是成功的,但是实际如何就要求我们写一个程序来进行验证一下。由于最近也在学习MongoDB,所以就写一个读取MongoDB数据库:计算actionId为772的日志总数。 1. 使用安装mongodb驱动# npm install mongodbnpm WARN mongodb@0原创 2011-10-23 00:12:03 · 4299 阅读 · 0 评论 -
在CentOS5.6上安装Node.js
之前听说过Node.js,只是知道它可以应用于服务器端,但是对很多具体的东西并不了解。今天在QCon上听了袁锋的分享《Node.js脱离了浏览器的Javascript》之后,顿时有了想立刻试一下的冲动。 Node.js的安装步骤算是比较简单,没有太多的弯路,主要参考文档: Building and Installing Node.js 1. 安装Pyth原创 2011-10-21 22:05:46 · 4503 阅读 · 4 评论