`

prototype库与flashget冲突问题

阅读更多

/***********本人原创,欢迎转载,转载请保留本人信息*************/
作者:wallimn
电邮:wallimn@sohu.com
博客:http://wallimn.bokee.com
   http://blog.csdn.net/wallimn
时间:2006-11-15
/***********本人原创,欢迎转载,转载请保留本人信息*************/
  
  最近使用Ajax技术做一个东东, 发现使用prototype库后,会导致flashget使用浏览器中的上下文菜单时,弹出个异常(异常的具体内容忘记了,意思好象是不支持指定的事件,而这个事件是个标准的事件)而无法正常下载。
  分析了一下,可能是由于prototype库对大量系统的函数进行了扩展、改写,导致这个情况发生。我自己写了一个简单的对于xmlhttp的封装,进行了一下测试,发现就没有这个问题了。
  由此我觉得,使用prototype到底有没有必要。对我而言,我使用这个库,基本上只用到了$()函数、Ajax.Request()两个东西,对于几个常用的功能,如:切换元素的使能状态、切换可见状态等我都自己写了几个相应的函数,简单而有效。由于prototype对系统函数的扩展和改写,不但影响了系统中其发JS代码的运行效率,也增加了出错了可能。因此,我觉得,如果没有使用prototype进行非常复杂的运用,还是不用的好。
  下面贴出我封装的xmlhttp函数。虽然功能不是很强大,但是够用了。

//var myAjax = new Ajax.Request("<%=path%>/MvMgr.do?method=mvvote&id=<%=mid%>", {method:'get',parameters:"score="+myscoreval, onComplete:mvvoteover});

 function AjaxRequest(asyn){
  if(typeof asyn=="undefined")this.asyn=true;
  else this.asyn=asyn;
  this.xmlDoc=null;
  this.dealxml=null;
  this.onloadAction=null;
 }
 AjaxRequest.prototype.loadurlover=function(myxmldoc){
   this.check=function(){
    if(myxmldoc.onloadAction!=null){
     if((!myxmldoc.xmlDoc.readyState)||(myxmldoc.xmlDoc.readyState == 4)){
      if(myxmldoc.onloadAction!=null)
       myxmldoc.onloadAction(myxmldoc.xmlDoc);
     myxmldoc=null;
    }
   }
  };
  return this.check;
 }
 AjaxRequest.prototype.submit=function(filePath,onloadfunc,postMode,postVars){
  this.onloadAction = onloadfunc;
   try{
    if(this.xmlDoc==null)
     this.xmlDoc = new XMLHttpRequest();
    this.xmlDoc.open(postMode?"POST":"GET",filePath,this.asyn);
    if(postMode)
    this.xmlDoc.setRequestHeader('Content-type','application/x-www-form-urlencoded');
    this.xmlDoc.onreadystatechange=new this.loadurlover(this);
    this.xmlDoc.send(null||postVars);
  }
   catch(e){
    if(this.xmlDoc==null)
     this.xmlDoc = new ActiveXObject("Microsoft.XMLHTTP");
    this.xmlDoc.open(postMode?"POST":"GET",filePath,this.asyn);
    if(postMode)this.xmlDoc.setRequestHeader('Content-type','application/x-www-form-urlencoded');
    this.xmlDoc.onreadystatechange= new this.loadurlover(this);
    this.xmlDoc.send(null||postVars);
  }
 }

分享到:
评论

相关推荐

    prototype js脚本库

    prototype js脚本库prototype js脚本库prototype js脚本库prototype js脚本库

    找到了一篇jQuery与Prototype并存的冲突的解决方法

    今天,我们就来讨论如何解决jQuery与Prototype并存的冲突问题。 首先,我们需要了解为什么jQuery和Prototype会出现冲突。 jQuery和Prototype都是JavaScript框架,它们都使用 `$` 变量来表示自己的对象。然而, `$` ...

    Prototype1.6.0在IE8 9下的问题

    在IE8和9中,这可能是由于 Prototype库中的某些代码段没有被正确地执行,或者与浏览器的内置对象或API产生了冲突。 在研究这个问题时,我们可以从以下几个方面入手: 1. **理解Prototype的版本历史**:Prototype ...

    Prototype_1.4.doc,Prototype_1.5.1.chm 中文版

    Prototype是JavaScript库的名称,表明文件与JavaScript编程语言紧密相关,特别是使用Prototype库进行开发的部分。"中文版"标签进一步确认了这些文档是为中文用户设计的,降低了语言障碍,便于中文开发者学习和使用...

    Prototype-v1.6.0一个javascript库

    "Johnson"这个名字可能指的是一个特定的插件或工具,它扩展了Prototype的功能,或者提供了与Prototype库协同工作的解决方案。 4. **johnson用法说明.txt** - 这是一个文本文件,提供了关于"johnson.js"的使用指南。...

    prototype-1.6.0.3.js+prototype1.4 、1.5中文手册+prototype1.6英文手册

    Prototype是JavaScript库,它为浏览器环境提供了强大的对象扩展和功能,尤其在处理DOM(文档对象模型)和Ajax交互时。这个压缩包包含了Prototype库的多个版本的手册和源代码文件,便于开发者理解和使用。 首先,...

    Prototype1.5.1使用手册

    Prototype库致力于提高JavaScript在不同浏览器之间的兼容性,如对IE6/7的一些特有问题进行了处理。 总结,Prototype 1.5.1使用手册涵盖了该库的主要特性和用法,对于前端开发者来说,是一个不可或缺的学习和参考...

    mootools/prototype的动画效果库moo.fx

    **mootools与Prototype库** MooTools和Prototype是两种流行的JavaScript库,它们为Web开发者提供了丰富的功能,简化了JavaScript的编程。虽然这两个库的名字相似,但它们是完全不同的项目,各自有着独特的特点和...

    prototype 开发应用手册,笔记,prototype.js文件下载

    学习Prototype开发应用手册,你还可以掌握到 Prototype 如何与其他库(如jQuery、MooTools等)共存的策略,以及如何有效地利用Prototype进行模块化开发。同时,通过阅读源码,开发者可以深入理解其内部机制,提升...

    Prototype中英文手册

    1. **介绍与安装**:解释Prototype库的起源、目标以及如何在项目中引入和设置。 2. **核心概念**:涵盖JavaScript原型继承、对象构造函数、闭包等基础概念。 3. **DOM操作**:详细讲解如何使用Prototype库来选择、...

    prototype帮助中文文档

    Prototype 是一个广泛使用的JavaScript库,它为浏览器端的开发提供了许多强大的功能,特别是对于处理DOM操作、Ajax交互以及对象扩展等方面。这个“prototype帮助中文文档”涵盖了Prototype库的核心概念、方法和最佳...

    prototype_1.7.3.js 最新版本

    它与流行的库如jQuery和Dojo相比,虽然在市场份额上可能略显逊色,但在某些特定场景下,如需要强大的面向对象特性时,Prototype.js仍然是一个理想的选择。 总之,Prototype_1.7.3.js以其丰富的功能、高效的性能和对...

    Prototype中文帮助文档

    Prototype 考虑到了浏览器兼容性问题,对不同版本的JavaScript引擎进行了优化。同时,它还提供了`document.observe()`和`document.stopObserving()`用于事件监听和取消监听,以提高性能。 ### 8. `Prototype.chm`...

    prototype demo

    Prototype库通常会提供一套完整的Ajax解决方案,允许开发者在不刷新整个页面的情况下与服务器进行异步交互,包括发送请求、处理响应和更新DOM。 通过这个Prototype demo,开发者可以学习到如何利用Prototype库来...

    prototype

    **关键词与标签:** Prototype, JavaScript, 库, 开发, 手册 **正文:** Prototype 是一个广泛使用的开源 JavaScript 库,它为JavaScript编程提供了一系列强大的工具和功能,旨在简化DOM操作,增强类型检测,并提供...

    Prototype-1.6.0 中文版\英文版\Prototype.js

    Prototype.js 是一个广泛使用的JavaScript库,它为JavaScript语言增加了许多实用的功能,使开发Web应用程序变得更加简单。这个压缩包包含了Prototype的1.6.0版本,包括中文版和英文版的文档,以及源代码文件。 首先...

    prototype1.6.0prototype1.6.0prototype1.6.0prototype1.6.0

    标题中的"prototype1.6.0"多次提及,暗示了我们正在讨论JavaScript库Prototype的1.6.0版本。Prototype是Web开发中一个强大的JavaScript框架,它为浏览器环境提供了许多实用的功能,增强了JavaScript语言的面向对象...

    网页模板——Prototype 开发者手册 PDF版.zip

    8. **Prototype与其他库的兼容性**:尽管Prototype对JavaScript原生对象进行了扩展,但它也提供了`Prototype.Browser`对象来检测浏览器特性,以及`Prototype.noConflict()`方法来解决与其他库的命名冲突问题。...

    prototype源码与API

    了解 Prototype 与其他 JavaScript 库,如 jQuery、AngularJS 或 React 的差异,可以帮助你选择最适合项目需求的工具。比如,Prototype 更注重于提供基础功能,而 jQuery 则在易用性和社区支持上更胜一筹。 ### 10....

Global site tag (gtag.js) - Google Analytics