Welcome 微信登录

首页 / 脚本样式 / JavaScript

原型方法的不同写法居然会影响调试的解决方法

原型方法的不同写法居然会影响调试的解决方法

上次我写过一篇文章,讨论"JavaScript类定义原型方法的两种实现的区别"。研究后发现除了方法的初始化方式不同外,没有发现别的原则上的却别,也就是说用哪种方式都一样。可是后来发现在VS.NET中给原型方法设置断点来调试时,两种定义方式却出现了很大的差别。 先看如下代码示例:1ToolBar.prototype.Dispose=function() 2{ 3varelmt=this.GetElement();*** 4elmt.onselectstart...
在JavaScript中遭遇级联表达式陷阱

在JavaScript中遭遇级联表达式陷阱

依稀还记得,在学习C语言的库函数时,很多字符串操作相关的函数都会返回和结果相关的指针。其实这个返回值很多时候都并不是非常必要,因为在我们的传入的参数中,十有八九已包含了这个指针。而加上这个返回值的最大好处就是,可以让我们方便的书写出级联表达式。但是这些年的实际工作中,越发觉得级联表达式是个魔鬼馅饼。 比如在C语言中,我们熟悉的字符串操作函数strcpy,strcat等,它们的原形一般是:externchar*strxxx(char*dest,char*sr...
获取JavaScript用户自定义类的类名称的代码

获取JavaScript用户自定义类的类名称的代码

我们知道,虽然JavaScript是基于对象(object-based)的语言。但是使用其原形(prototype)特性,我们完全可以实现十分sexy的OO编成框架,这个可以看看经典论坛的文章"基本上实现javascript的OOP(0423版)"。 不过虽然我们实现了"类"这种概念,可是JavaScript的脚本系统却仍然是不认账的。我们并没有办法使用脚本系统中的typeof方法获取自定义类的类型,比如"类"JSClass定义如下: functionJS...
使用TextRange获取输入框中光标的位置的代码

使用TextRange获取输入框中光标的位置的代码

TextRange是用来表现HTML元素中文字的对象,虽然我们平时不太常用这个对象,可是它却在IE4.0中就已提供了。不过TextRange提供的调用方法却都比较晦涩,那么我们能拿它做些什么呢? TextRange的传统用途是对用户在Web页上用鼠标圈选的文字内容的操作,比如变化、删除、新增等。但其经典的用途却是,在Web页面中查找文字(这个比较简单)和获取输入框光标的位置。其中后者又有可以衍生出很多更有用的用途,比如:限制输入的MaskTextBox,其...
HTML中不支持静态Expando的元素的问题

HTML中不支持静态Expando的元素的问题

在使用脚本统一处理一批页面的时候,我希望通过被处理页面的TITLE元素取到文档的标题和我自定义的一些属性。这些附加的属性是我在服务器端通过Attributes集合添加的,可是运行的结果和我的期望老是相去甚远,怎么我在TITLE元素里写入的自定义属性老是空值呢? 客服端和服务器端代码分别是: ASPX: <titleid="title"runat="server">QueryInfo</title> C#:protectedHtmlG...
使用onbeforeunload属性后的副作用

使用onbeforeunload属性后的副作用

在使用博客园的编辑器编辑文章时,有一个挺体贴用户的功能,就是如果用户进入编辑器后,不是执行"POST"操作而要退出当前编辑器页面,我们会得到一个Alert窗口提示(如下图)。这个功能其实很简单,就是通过处理window、body或frameset对象或元素的onbeforeunload事件实现的。 这个unbeforeunload的具体用法我就不说了,反正几乎能引起当前页面发生跳转的任何动作,都会触发这个事件。并且它先于unload事件被触发,如果在其的事...
IE7提供XMLHttpRequest对象为兼容

IE7提供XMLHttpRequest对象为兼容

在IE7的开发中,据说新增加了一个Native对象——XMLHttpRequest。怎么难道开发IE7的"新警察"不知道IE6们都用ActiveX对象XmlHttp吗?XmlHttp出了什么问题,IE7为什么要这么做?原来一切就为了一个简单的兼容而已,但让人感慨颇多。 IE7提供XMLHttpRequest对象后,当然会继续支持ActiveX对象XmlHttp,这是微软这么几十年来产品升级起码的"素养",丝毫不用我们去担心现在IE上的Ajax应用代码。在S...
encode脚本和normal脚本混用的问题与解决方法

encode脚本和normal脚本混用的问题与解决方法

半年前第一次做脚本编码的时候,由于没有什么使用经验,于是在51js上询问了一下encode脚本和normal脚本混用是否有什么问题呢?结果没有得到任何有建设性的意见,这也至少说明了两个问题,一是没有人在意,二是就没有什么问题嘛。当然我更乐意于接受后一种结果,就开始了encode脚本和normal脚本的混合使用。 在这样的理解下做了很多的脚本,似乎也真的没有出现过什么问题,于是更加笃信自己当初的判断。结果又一次被IE暗算了,encode后的脚本和normal...
在IE模态窗口中自由查看HTML源码的方法

在IE模态窗口中自由查看HTML源码的方法

IE提供的模态窗口,在我们制作数据录入窗口和Wizard等功能上,有着非常不错的应用。不过由于一些安全性上的限制,使得在模态窗口中调试脚本变得非常的郁闷。因为模态窗口不支持对象的选取和右键菜单,使得我们想察看html代码非常的不方便。那么有什么办法可以解决吗? 虽然我们在制作模态窗口中的页面时,可以使用普通的IE窗口来访问其内容和调试脚本。可是当我的页面完成,并装载入模态窗口并依赖一系列的输入数据后,我们要对他进行debug,就变得很不方便了。如果我们不想...
用js判断用户浏览器是否是XP SP2的IE6

用js判断用户浏览器是否是XP SP2的IE6

由于WindowsXP的补丁SP2,对IE6的安全性也做了很多的提升,使得有不少原来我们可以使用的功能,会变得很奇怪甚至歇菜掉:(。特别是弹出窗口、模态窗口和Popup窗口等受的影响相当大。那么我能不能判断用户使用的IE6是普通IE6(IE6sp1)还是IE6+xpsp2呢?下面是两个比较典型的IE6浏览器UserAgent字段:1、WindowsXP+SP1(NT5.1)Connection:Keep-AliveAccept:*/*Accept-Enco...
关于使用runtimeStyle属性问题讨论文章

关于使用runtimeStyle属性问题讨论文章

当我们在IE中使用IE提供的DOM时,我们会发现关于style的相关属性有三个分组,它们分别是style、runtimeStyle和currentStyle。关于这个三种style的作用和基本用途,我曾经在这篇文章中有讲过,但随着越来越深入的使用,总算对怎么使用runtimeStyle属性有了一些自己的心得。 首先,runtimeStyle属性不是必需的,它的存在甚至远没有currentStyle有意义,因为由于IE布局、呈现原理限制,style属性里的定...
javascript学习随笔(使用window和frame)的技巧

javascript学习随笔(使用window和frame)的技巧

JavaScript允许创建和打开代表HTML文本,form对象和frame的窗口.window对象是JavaScript客户层次结构的最顶层对象,form元素和全部JavaScript代码都是存在于文档中,而文档被装载进窗口.为了理解窗口怎样工作,你可以控制操作这些窗口. 打开和关闭窗口 当用户启动(launch)Navigator时,将自动创建一个窗口.用户还可以使用Navigator的File菜单上的NewWebBrowser打开一个窗口,可以用Na...
javascript的对话框详解与参数

javascript的对话框详解与参数

对话框可以分为模式对话框和无模式对话框两种,两者区别是在对话框被关闭之前用户能否在同一应用程序的其他地方进行工作。举例说明:打开文件对话框便是典型的模式对话框,在你选择好要打开的文件按下确定后,或者取消打开文件操作后,才可以在同一应用程序进行其他操作。而常见的查找和替换对话框便是无模式对话框的典型,在该对话框打开的同时,我们还可以进行其他工作。模式对话框会始终保持焦点。除非关闭对话框,否则无法切换窗口。无模式对话框不会始终保持焦点,但始终保持显示在最前端。...
<< 201 202 203 204 205 206 207 208 209 210 >>