呵呵,你跟http://topic.csdn.net/u/20080908/16/d1baf83e-797d-4bc4-81c3-c0a965adb481.html
是一个人啊养马甲啊

解决方案 »

  1.   

    晕死,就一个问题,是prototype.js这个里面的第2967行attr:/\[((?:[\w-]*:)?[\w-]+)\s*(?:([!^$*~|]?=)\s*((['"])([^\4]*?)\4|([^'"][^\]]*?)))?\]/这个注释掉,就解决问题了!
      

  2.   

    prototype.js是从官方网站下载下来的,在其他地方运行也没有问题,应该不是prototype.js的问题
      

  3.   


    你注释掉以后弹出窗口有选项吗?
    你先把对prototype.js去掉看看正常情况下弹出窗口的情形
      

  4.   

    http://www.chinmo.net/zhaopin/zhaopin.htm要不然我就给你看我改后的,免得你不相信你看看源文件是不是有prototype.js
      

  5.   

    我的prototype.js是123K,你的prototype.js是128K,还有什么其他地方修改了?
      

  6.   

    你和prototype最重要的一个核心产生冲突了--迭代器
    prototype为数组扩张了一个迭代接口,所以像下面的语句,i返回的是迭代接口的调用,而不是你要想的索引或key了
    for(i in arr)
    {
       arr[i]=xxx;
    }解决方法就是把你的这些用法改为
    for(i=0; i<arr.length;i++)
    {
       arr[i]=xxx;
    }或者是按prototype里的迭代方式来修改代码(工作量很大)
      

  7.   


    有道理,那就是把代码中的for(i in arr) 改为for(i=0; i <arr.length;i++)就可以了?
    奇怪chinmo 给的展示可以解决问题,但是他的prototype.js好像多了5K
      

  8.   

    我把libSearch_adv.js 中的for(i in arr) 替换为for(i=0; i <arr.length;i++) 问题仍然存在 
      

  9.   

    http://www.chinmo.net/zhaopin.rar 要不然你就下载回去看看
      

  10.   


    我试过你的代码是可以运行的,我之所以要把问题搞清楚,是担心解决了这个问题引出了另外的问题我不能使用你的版本的prototype.js,因为可能会导致网站的其他js出现问题,我其他的代码都是调用prototype.js的
      

  11.   


    还有,我在看你的prototype.js,你把那一行注释掉以后引发了一个异常,要处理这个异常就是把这行前的,号去掉去掉,号以后问题仍然出来了。
    所以我觉得你的解决方法是这样工作的:
    引发了prototype.js的异常,导致prototype没有完全运行,所以也就没法与我的代码产生冲突
      

  12.   

    我没改任何东西,就只是把prototype.js里的一个注释掉了
      

  13.   


    我没发现有什么异常,说不运行?那你提供一个调用prototype,你认为出了问题的代码出来
      

  14.   

    请参见:
    (注:是按你说的修改的,最好将ie的js调试打开)http://www.soodex.com/zhaopin/zhaopin.htm
      

  15.   

    还有,我在看你的prototype.js,你把那一行注释掉以后引发了一个异常,要处理这个异常就是把这行前的,号去掉 去掉,号以后问题仍然出来了。 
    ***************************************************
    这个异常我想应该要把ie浏览器的js调试打开才可以
      

  16.   

    你自己试下其他调用prototype.js的是否正常运行就知道了之前问你,你说没有冲突了就实在想不出来你还有什么了代码太多,又懒得看大概看了下就发现了那个问题
      

  17.   

    http://www.soodex.com/zhaopin/zhaopin.htm这个示例,因为注释掉那一行多余的一个,号已经被去掉了,所以因你修改产生的prototype.js的异常已经去掉了去掉这个异常之后,prototype.js才会正常运行,所以原来的问题才会暴露出来。你如果想看到你注释掉那一行后的prototype.js异常,你的ie的js调试打开就可以了(我的是ie7),不确信你是否是ie6所以没有异常?
      

  18.   


    你说的去掉,号没有用,不但prototype.js不正常运行,还出现了原来的问题
      

  19.   

    即使你从官网下载prototype.js也会有该问题,所有用prototype就要注意下一他对
    数组的扩展。你改了也不能成功关键是你有些地方的for in是数组,有的地方是对象,所以不是所有都能改的
    例如:
    var obj={'a':'aa','b':'bb'}
    for(key in obj)
    {
       alert(key); //这个在有prototype和没prototype都不会出现问题
    }但是如下就会有问题了
    var a = new Array();
    a[0] = "aa";
    a[1] = "bb";for(index in a)
    {
       alert(index); //这个在有prototype会多出一些东西,你可以自己测试
    }
      

  20.   


    注释掉那一行的实质,就相当于没有引用prototype.js
    这一点我测试来测试去,确实是这样的,而且prototype.js是官网上下载下来的,在其他地方使用也没有出现问题,因此,你说的那一行实际上是没有问题的;
    之所以你那样注释掉可以运行出结果(但页面打开时会报错,源自注释掉的那一行),是因为注释掉了导致prototype.js不能运行的原因。
      

  21.   

    事实上分析的出发点走了弯路,不应该在prototype.js上做文章,因为这个是毕竟是通用的组件
      

  22.   


    你不在他上做文章不行因为你调用他才有问题,那么肯定是冲突了而你说没有,那么就只有是prototype.js里的问题了
      

  23.   

    感谢windboyzsj解决问题,两个帖子的得分归你