http://hotoo.ik8.com/cn/hotoo/javascript/tools/Browser.js
一个封装的判断浏览器“static”对象,用于支持多浏览器兼容http://hotoo.ik8.com/cn/hotoo/javascript/tools/Counter.js
一个计数器类,HTWindow.js创建了一个全局计数器,用于记录“窗口”最大的z-index,保证获得焦点的“窗口”可以显示在最前面。http://hotoo.ik8.com/cn/hotoo/javascript/tools/HTWindow.js
封装的窗口类,new HTWindow(title, body,...);后,窗口所有的动作处理都将封装在内部处理,可以不需要外部对象引用。请多指教
[email protected]

解决方案 »

  1.   

    很多地方有待于改进哪。
    Browser 里的判断更精确的应该是使用 navigator.userAgent
    HTWindow 里没有考虑比如页面里还有<select> 和 Flash 的问题
    Counter 最为主要的你的类设计里比如 this._index 已经暴露给外面了,我可以直接调用/设置这个变量还不用通过你的 set/get 了对不对。所以要实现 private 的话应该这样:function Counter( defaultValue ){
        if (typeof(defaultValue) != 'number') {
            alert('param is error!'); return;
        };
        var index = defaultValue;
        this.getCount = function(){
            return index;
        };
        this.setCount = function( value ){
            index =  value;
        };
        this.addCount = function( value ){
            index += (typeof(value) == "number") ? value : 1;
        }
        this.subCount = function( value ){
            index -= (typeof(value) == "number") ? value : 1;
        }
    }另,JS代码里尽量不要出现中文,以避免编码问题带来的困扰!
      

  2.   

    感谢MeizzBrowser使用UserAgent判断应该是最好的
    立即改正到现在我才明白
    var创建才是private的
    而不是this._var
    而之前我却莫名其妙的有恰相反的观点至于中文问题
    主要是为了方便我们自己人
    我已经通过Browser来判断了
    测试发现只有Opera有编码问题
    当然
    其实全部使用unicode也可以至于select, flash带来的问题
    正在学习createPopup方法衷心感谢各位~~`
      

  3.   

    我自己做的BS架构软件框架,能做到免刷新.网址是:  
    http://37.wuyou.com  
    由于在自己电脑,IP不固定,如果不能及时查看,请下次光临.谢谢. 期待与你交流.
      

  4.   

    有个数据类型问题
    parseInt(NotaNumber)得到的结果是NaN
    NaN的数据类型也是属于number (typeof(NaN) == 'number')
    犀牛书《Javascript权威指南》说“ECMA标准还要求两个全局属性 Infinity 和 NaN 与 Number.POSITIVE_INFINITY 和 Number.NaN 的值相同。这些属性是在 Internet Explorer 4 中实现的,Navigator 4 中没有它们。”但是我在IE6.0中测试发现它们并不符合ECMA标准如果我希望能够同时处理 数值 和 能够转换成数值的字符串
    转换成不成功则抛出异常
    应该怎么做呢
    经过测试try{
        i = parseInt(s);
    }catch(e){
        throw(new Error(-1, "param is error."));
    }是不抛出异常的
    i == NaN请教如何解决
      

  5.   

    还有就是
    如果我希望在class中实现private的方法
    应该怎么写呢?
    请教当然
    银子方面好说
      

  6.   

    try{
        i = parseInt(s);
    }catch(e){
        throw(new Error(-1, "param is error."));
    }
    if(i!=i) throw(new Error(-1, "param is error."));================================
    根据一个特性,NaN之间无法用== !=来判断 NaN != NaN
    如果parseInt的结果i不等于自身,肯定就是NaN
      

  7.   

    严重感谢 eglic(圪圪)正愁 NaN 不等于 anything
    无法使用 ==原来劣势可以转变成优势
    原来 NaN != NaN 就暴露了他就是 NaN
      

  8.   

    http://www.biho.com.cn/onlinedemo.shtml
    是偶见过模拟的最像的
      

  9.   

    love01px(JAVA CUP)说的这个
    模拟WIN XP 是很像
    功能也很不错
    学习但是说实在的
    闲耘并不想模拟成WIN
    我对Linux更感兴趣
    呵呵~~`
      

  10.   

    最近更新:
    1. 变量私有化
    2. 可以覆盖select, object等标签
    3. 添加了callback方法,“窗口”关闭时调用
    4. 使用HTWindow类,完成了一个简单的模拟window.alert()的类
    5. Browser对象和Counter类也进行了改正
    6. HTWindow类移到cn.hotoo.javascript.UI包中严重感谢meizz
    如果发现还有任何不足
    请多指教
    [email protected]明日结帖
      

  11.   

    你应该用正确的代码进行演示吧?行:74
    字符:1
    错误:'HTWinIndex' 未定义
    代码:0
    URL: http://hotoo.ik8.com/cn/hotoo/javascript/UI/HTWindow.html
      

  12.   

    行:1
    字符:1
    代码:0
    错误:'win2' 为空或不是对象
      

  13.   

    抱歉
    是由于头文件base的设置问题
    cn/hotoo/config/script/base.js
    用来配置类似Java的classpath的信息
    现在已经修正傲游也通过测试
      

  14.   

    基本定型
    前几天一直思考inner method 私有化的问题
    突发奇想
    终于解决
    感谢各位结帖!