摘要:看到这个题目:http://blog.zhaojie.me/2010/06/code-for-fun-iterator-generator-yield-in-javascript.html我也做了一个答案如下:
阅读全文
摘要:http://www.json.org/json2.js因为之前的版本会注入对象的 prototype, 导致很多问题。最常见的,是for (var key in obj) { doSomething(obj);}的时候,会枚举到 toJSONString 这个方法,搞得现在代码要这样写:for (var key in obj) { if (key != 'toJSONString') {...
阅读全文
摘要:今天程序中有个地方需要 Ajax 方式 POST 数据,发现在 IE 6.0 下正常,而 FireFox 2.0.0.9 下则出错。通过 FireBug 抓取 ajax 回发后得到的页面信息如下: HTTP Error 411 - Length required 经过 google 搜索发现,这个 HTTP 状态码对应于服务器没有接收到 Content-Lengh 这个 Header 的情况。(我...
阅读全文
摘要:以前我发过一个:实现浏览器兼容的漂浮窗体拖动/改变尺寸的技术要点另外还提到一个 jquery 的插件 easydrag,这个插件处理拖放还算好用,但自从我上次修改后,现在又发现了它的另一个 bug. 在应用了 easydrag 的页面中,某种情况下会在页面加载时出现“找不到对象”的脚本错误。经过仔细检查,发现问题在于 easydrag 中过早的绑定了 document 的 mousemove 和 ...
阅读全文
摘要:jQuery 1.2 中抛弃了不少之前的功能,因此不能向前兼容,而有不少非官方的 jQuery 插件(比如 thickbox),使用的是 jQuery 1.2 之前的语法开发的,如果这次还未根据新版本更新的,则可能会出现问题。下面是一些新的写法,主要是关于选择器 (Selector) 的语法方面: $("div//p") XPath Descendant SelectorPlease use th...
阅读全文
摘要:jquery 实现拖动的插件,试了几个,interface 是一个,但是 bug 太多,代码又复杂不好修改,就放弃了。今天找到了一个叫做 easydrag 的,但用了下也不灵活,于是扩充了一下,现在可以指定拖动的 handle.jquery.easydrag.js(以下绿色部分是我增加或修改的代码): Code highlighting produced by Actipro CodeHighli...
阅读全文
摘要:GoogleGears 的第二个官方例子:http://code.google.com/apis/gears/samples/hello_world_resourcestore.html这个例子的内容是演示如何在本机保存网上的资源,以便开发离线应用。要注意的是这个离线资源是和浏览器的缓存无关的,可以拔掉网线,删除浏览器缓存,这时仍然可以通过常规 URL (比如:http://code.google...
阅读全文
摘要:GoogleGears 是一个开源的浏览器扩展,用于创建可离线使用的 web 应用程序,目前尚在 beta 阶段。其主页地址在:http://code.google.com/apis/gears/网上论坛:http://groups.google.com/group/google-gears/Blog: http://gearsblog.blogspot.com/ (好像暂时不能访问了。。。) G...
阅读全文
摘要:应用场景: 用一个 div 套一个 iframe 实现的漂浮窗口,要实现拖动标题栏自由移动,拖动边缘改变尺寸的功能。要实现流畅的拖动效果,其要点总结如下:1. 处理这些事件:mousemove, mousedown, mouseup.2. 同时处理当前窗口和父窗口 document 的鼠标移动事件,防止移动出子窗体边界时,造成“假死”的现象。3. 当前窗体和父窗体中,都包含一个 div 满屏显示...
阅读全文
摘要:python 项目一运行后会产生很多 .pyc 文件,给源代码管理带来很大的干扰,于是我做了个 js 脚本来清除这些文件。使用方法很简单,把下列代码保存为 del_pyc.js,放到需要清理的项目的文件夹中,双击运行即可。 /// Global ----------------------------------------------------var consoleOnly = true;va...
阅读全文
摘要:前一阵开发的一个 web 界面上有很多诸如“按钮隐藏显示”,“边框隐藏显示”,“伸缩” 等效果的切换,在展示不同内容的时候,这些配套的显示控件需要跟着切换不同的状态。迫于进度,使用的是 if..else, 或者 switch..case 的繁杂的 js 代码来实现这些状态的判断和转换。js 代码很快到了 400~500行,变得很难理解。并且我要加入新的状态切换的时候感觉比较困难。今天决心重构,于是...
阅读全文
摘要:困扰了好几天的一个问题,我做的漂浮的层里面的 Frameset 总是有白底,今天发现原来就是 Frameset 的问题,改成 iframe 应该就可以透明了。iframe 和 frame 都支持 allowTransparency 属性,但是不知道为啥 frameset 却不行。那么 frame 的这个属性什么时候有用呢?比较困惑。具体的做法应该是,并且在 test.html 中,设置或者
阅读全文
摘要:为了页面不显示滚动条,通常是用 body{overflow:hidden;} 来控制。这两天我郁闷的发现,如果用了这个样式,在 IE 7.0 里面好像有时候如果页面内容超出,则整个页面显示为空白。刷新几次,有时候能显示有时候不能显示。目前我还没时间去仔细研究这到底是 IE 7 独有的现象,还是其他版本也有。先记录于此。
阅读全文
摘要:JavaScript 中的 RegExp 对象用于正则表达式相关的操作,这个对象提供了一个方法 test 来判定某个字符串是否满足某个 pattern. 返回值是 true/false.今天我碰到了一个问题: 这里两个测试的字符串应该都满足正则表达式中的模式,返回 true. 可是测试结果却依次是:true, false.我估计问题的原因可能是因为 RegExp 对象是有状态的,并且在 test ...
阅读全文
摘要:showModalDialog 打开的模态对话框有不少经典的缺陷,在这里不再冗述,我只谈谈最近碰到的几个问题以及解决办法。问题1. showModalDialog 打开一个 aspx 页面时,如果该页面在之前已经打开过一次,则自动会加载缓存中的页面,而不能显示最新数据。解决的办法有两种:(1). 在打开模态框时,给 url 后面多加一个随机参数,来避免页面被缓存: var url = 'EditF...
阅读全文
摘要:现在的软件认真一点都要注重所谓用户体验(user experience),比如在 B/S 开发这块大家越来越喜欢用 Ajax,就是为了提高界面对用户的友好程度。我们知道 Ajax 开发中经常会使用联动下拉列表,或类似的“连锁反应”。前不久,在我开发的一个页面中使用了联动列表的技术,在向客户演示时,出现了一个尴尬的局面:客户在选中了第一级下拉的选项后,程序无刷新读取数据,调出了相关的数据,是一个稍微...
阅读全文
摘要:一个按照 Master Page 的实现层次(可嵌套),逐层合并的 CSS 模型
阅读全文
摘要:原来 JS 也支持跟 Lua 语意一样的内嵌函数的闭包概念。我是从这里看来的:http://blog.dreambrook.com/soloist/archive/2005/03/13/526.aspx在 JS 里面验证了一下,结果相同。 类似的代码在 python 中还没有发现有这个行为。
阅读全文
摘要:使用某些 DOCTYPE 时会导致 document.body.scrollTop 失效,总是等于 0, 这使得在编写一些浮动层的定位代码时会出现差错。解决的办法是改用 document.documentElement.scrollTop.(document.documentElement 在通常情况下就是 标签)详细的参考在这里:http://blog.sina.com.cn/u/558da3...
阅读全文
摘要:1. IE 中,window 对象的 onbeforeunload 和 onunload 事件的异同,分别的作用。2. Janc 的原理。 同步调用,异步调用,同步调用时的异常处理,异步调用时的异常处理。 序列化(客户端,服务器端都有)。 CreateCall 返回方法调用对象,提供方法调用的上下文。 类型系统的映射。 自定义 HttpHandler 处理 Janc.ashx,...
阅读全文