解决 XMLHTTP 的缓存问题
由于 Files 上应用程序的代码越来越多,我今天把应用程序的代码单提了出去,每个程序一个文件,第一次使用前加载。但 Files 现在还处于开发阶段,调试时代码经常变动。而 IE 中 XMLHTTP 默认会将内容缓存,GET 方式下只要 URL 没有变化,就会直接使用缓存,不发送任何请求。

经过搜索,最后在英文维基上发现了一个很好的解决方法:在调用 send 方法前设置 If-Modified-Since 头为一个比较早的日期。如使用

req.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
Current language: Chinese (Simplified)
为 Mozilla/Firefox 增加 children 集合
以下代码使用 Mozilla/Firefox 独有的方法,增加 children 集合(仅处理对象和长度属性,未处理 item, tags, urns 方法,但已能满足基本使用需求):

  1. HTMLElement.prototype.__defineGetter__("children",
  2.     function () {
  3.         var returnValue = new Object();
  4.         var number = 0;
  5.         for (var i = 0; i < this.childNodes.length; i++) {
  6.             if (this.childNodes[i].nodeType == 1) {
  7.                 returnValue[number] = this.childNodes[i];
  8.                 number++;
  9.             }
  10.         }
  11.         returnValue.length = number;
  12.         return returnValue;
  13.     }
  14. );
Current language: Chinese (Simplified)
More entries: [1]
« Previous page · Next page »