大概看了一下,没有什么死循环,但你用try用的太多了,建议不要用为好,所以错误都应该是事先考虑到的,而不是让程序去跳过错误,你这样写代码出现的意外会太多。http://3http.com是我用js写的论坛,没用什么try,一样正常运行的,不管多大的程序,没用try都能正常运行的。

解决方案 »

  1.   

    我在你的代码中看到了以下的代码,省了不少引号,但不知道是否是JS充许的标准写法,能否讲一下原理。
    var dialogBox = '\
       <table width="100%" height="100%" border="1" cellpadding="0" cellspacing="0" bordercolor="' + dialogconf['bordercolor'] + '">\
        <tr>\
          <td height="20" bgcolor="' + dialogconf['titlebgcolor'] + '" id="dialogTitle" onMouseOver="this.style.cursor=\'move\'" onMouseDown="dialogDrag(\'' + oDivID + '\',event)">&nbsp;</td>\
        </tr>\
        <tr>\
          <td bgcolor="' + dialogconf['bodybgcolor'] + '"><table width="90%"  border="0" align="center" cellpadding="0" cellspacing="0">\
            <tr>\
              <td height="100"><span id="dialogMsg">&nbsp;</span></td>\
            </tr>\
            <tr>\
              <td height="30" align="center" id="dialogBtn">&nbsp;</td>\
            </tr>\
          </table></td>\
        </tr>\
       </table>';
      

  2.   

    感觉是把回车转换成了\n,因为\t表示tab,但\e或\其它字符等,js里是没有意义的,不过\回车虽然没有意见,但却在经过js处理后,变成了js字符中的回车而不再是代码中的回车了。但所怕的是其它浏览器或以后万一IE升级时,这个不支持了就麻烦了,得知道微软已经考虑了这个了才行。
      

  3.   

    目前ie和firefox都是支持的说跑题了,现在主要是是否有内存泄漏的问题,继续等待中...
      

  4.   

    用资源管理器观察了了一下,平均每提交一次用去6、7M内存,-_-~!
    ====CSDN====
    无厘头冲动回帖
      

  5.   

    粗略看了一下,问题可能出在提示对话框上,每次提交都会调用dialog()来初始化对话框,每次都会重建一个层,建议做个判断只构建一次
    -----------------------------//发送请求
    function sendRequest()
    {
        dialogBgShade();
        dialog();
    //对话框初始化
    function dialog(code, msg, title)
    {
      

  6.   

    我每次显示对话框前先判断一下对话框是否存在,存在的话先remove掉,这样不行吗?if ($(oDivID)) { $(oDivID).parentNode.removeChild($(oDivID)) };
      

  7.   

    在关闭对话框的时候也会remove对话框和背景层
    function dialogClose()
    {
    var arrDialogElemId = new Array('dialogBg','dialog');
    for (key in arrDialogElemId)
    {
    if ($(arrDialogElemId[key])) { $(arrDialogElemId[key]).parentNode.removeChild($(arrDialogElemId[key])) };
    }
    }
      

  8.   

    看了一下,查出一个问题,出现在你的timerid=setInterval...你可以这样测试dialog函数这一段改成:function dialogBg()
    {
    //if ($(dialogBgId)) { $(dialogBgId).parentNode.removeChild($(dialogBgId)) };
    if (!$(dialogBgId)) {
    var oDiv = document.createElement('div');
    oDiv.id = dialogBgId;
    document.body.appendChild(oDiv);
    } else {
    oDiv = $(dialogBgId);
    }
    alert(document.body.outerHTML);
      

  9.   

    一个带有偶然性的问题。中午,我用Windows 2000 Server + IE 6.0 (打上所有补丁)访问,没有出现内存泄漏的问题。我都提交了几十次,内存基本稳定。晚上,我用Windows XP+IE 6.0 (打上了SP1补丁)访问,依然稳定,没有出现内存泄漏。
      

  10.   

    不明白“BlueDestiny(Last, Present, Future) ”的意思。你究竟说的是什么问题?我用调试工具单步执行,没有看到异常。
      

  11.   

    请问一下楼主,你测试的操作系统是什么?是否打过补丁?如果打过,升级到什么版本?用的浏览器是什么类型?补丁情况?因为我对“http://wanghui.name/demo/dialogdemo.htm”测试,一直观察不到你说的情况。用Microsoft InterDev 6.0对脚步单步调试,也没发现什么异常。
      

  12.   

    不好意思,最近一直没上csdn,帖子没有及时回复
     BlueDestiny(Last, Present, Future)说的确实是个bug,是因为提交以后,焦点还是在提交按钮上,按空格键会再次提交,应该在提交以后把提交按钮disabled掉就好了这个程序我后来又改了一下,现在的问题是只有在背景第一次变暗时会才消耗掉比较大的内存,以后再次变暗就不会消耗内存了。我的操作系统是xp,IE6,打过sp2的补丁,别的补丁没打过,只有在IE浏览器中才出现这个问题,在firefox中不会出现这个问题