`

Prototype的简单介绍

阅读更多

Prototype只是一个JavaScript库, 可到http://www.prototypejs.org/download站点去下载最新版本,点击连接“目标另存为”就可以了。使用它很简单copy到项目中,然后:
<script type="text/javascript" src="js/prototype-1.6.0.3.js"></script>

 第一个简单的Prototype程序:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>Prototype 的相关属性</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<script type="text/javascript" src="js/prototype-1.6.0.3.js"></script>
  </head>
  
  <body>
  	
    <script type="text/javascript">
    	//document.writeIn("Prototype库的版本为:" + Prototype.Version + "<br />");
    	document.write("Prototype库的版本为:" + Prototype.Version + "<br>");
    	//document.writeIn("Prototype是否支持Firefox:" + Prototype.Browser.Gecko + "<br>");
    	document.write("Prototype是否支持Firefox:" + Prototype.Browser.Gecko + "<br>");
    	//alert(Prototype.Version);
    	//alert(Prototype.Browser.Gecko);
 		//K方法返回本身
 		alert(Prototype.K("测试"));
 		document.write(Prototype.K("测试") + "<br>");
    </script>
  </body>
</html>

 使用$()函数:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>Prototype测试一</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<script type="text/javascript" src="js/prototype-1.6.0.3.js"></script>

	<script type="text/javascript">
		function clickHandler(){
			$("out").innerHTML = "使用Prototype.js"
		}
	</script>

  </head>
  
  <body>
    <input type="button" value="测试" onclick="clickHandler();" />
	<div id="out"></div>
  </body>
</html>

 

<script type="text/javascript" src="js/prototype-1.6.0.3.js"></script>

	<script type="text/javascript">
		function clickHandler(){
			$("out").innerHTML += $("a2").value
		}
	</script>

  </head>
  
  <body>
  	<input type="text" id="a1" name="a2" value="第一个文本框" /><br>
  	<input type="text" id="a2" name="a1" value="第二个文本框" /><br>
    <input type="button" value="显示" onclick="clickHandler();" />
	<div id="out" style="font-weight: bold;"></div>
  </body>

 

<script type="text/javascript" src="js/prototype-1.6.0.3.js"></script>

	<script type="text/javascript">
		function clickHandler(){
			var a = $("a1","a2");
			$("out").innerHTML += a[0].value + " " + a[1].value + " " ;
		}
	</script>

  </head>
  
  <body>
  	<input type="text" id="a1" name="a1" value="第一个文本框" /><br>
  	<input type="text" id="a2" name="a2" value="第二个文本框" /><br>
    <input type="button" value="显示" onclick="clickHandler();" />
	<div id="out" style="font-weight: bold;"></div>
  </body>

 使用$A()函数:

<script src="js/prototype-1.6.0.3.js" type="text/javascript"></script>
	</head>
	<body>
		<div id="menuBar">
			<div>
				文件
			</div>
			<div>
				编辑
			</div>
			<div>
				查看
			</div>
		</div>
	
	<script type="text/javascript">
		//获得id为menuBar的元素,再获取该元素的所有div子元素,返回一个HTMLCollection
		var fileList = $("menuBar").getElementsByTagName("div");
		document.write(fileList + "<br>");
		//将fileList转换为一个数组
		var fileArray = $A(fileList);
		//依次输出数组的每个元素
		for ( var i = 0; i < fileArray.length; i++) {
			document.write(fileArray[i].innerHTML + "<br>");
		}
	</script>
	</body>

 

<body>
		<script src="js/prototype-1.6.0.3.js" type="text/javascript">
		</script>
		<script type="text/javascript">
			var str = "crazyit";
			//使用$A将一个字符串转换成字符数组
			var strArray = $A(str);
			//依次输出每个字符数组中的每个字符
			for ( var i = 0; i < strArray.length; i++) {
				document.writeln(strArray[i] + "<br />");
			}
		</script>
	</body>

 使用$F()函数:

<script src="js/prototype-1.6.0.3.js" type="text/javascript"></script>
		
		<script type="text/javascript">
			//事件处理函数,用于输出三个表单控件的值
			function aaa() {
				$("show").innerHTML = $F("text1") + "<br />" + $F("text2") + "<br />"
						+ $F("text3");
			}
		</script>
		
	</head>
	<body>
		<form id="form1" name="form1" action="#">
			<input type="text" id="text1" name="text1" />
		</form>
		
		<form id="form2" name="form2" action="#">
			<input type="text" id="text2" name="text2" />
			<br />
			<textarea cols="40" rows="2" id="text3"></textarea>
		</form>
		
		<div id="show"></div>
		
		<input type="button" value="显示" onclick="aaa();" />
		
	</body>

 使用$H()函数:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<title>$H()函数</title>
		<meta name="author" content="Yeeku.H.Lee" />
		<meta name="website" content="http://www.crazyit.org" />
		<meta http-equiv="Content-Type" content="text/html; charset=GBK" />
	</head>
	<body>
		<script src="js/prototype-1.6.0.3.js" type="text/javascript"></script>
		<script type="text/javascript">
			// 将navigator对象里的属性名和属性值转换成对应的Hash对象
			var nav = $H(navigator);
			// 输出该Hash对象
			alert(nav.inspect());
		</script>
	</body>
</html>

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<title>$H()函数</title>
		<meta name="author" content="Yeeku.H.Lee" />
		<meta name="website" content="http://www.crazyit.org" />
		<meta http-equiv="Content-Type" content="text/html; charset=GBK" />
	</head>
	<body>
		<script src="js/prototype-1.6.0.3.js" type="text/javascript"></script>
		<script type="text/javascript">
			//将空对象变成Hash对象
			var nav = $H( {});
			//输出该Hash对象
			alert(nav.inspect());
		</script>
	</body>
</html>

 使用$R()函数:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<title>$H()函数</title>
		<meta name="author" content="Yeeku.H.Lee" />
		<meta name="website" content="http://www.crazyit.org" />
		<meta http-equiv="Content-Type" content="text/html; charset=GBK" />
	</head>
	<body>
		<script src="js/prototype-1.6.0.3.js" type="text/javascript"></script>
		<script type="text/javascript">
			//构造一个ObjectRange对象
			var range = $R(10, 20, false);
			//遍历ObjectRange对象的每个元素
			range.each(function(value, index) {
				document.write(value + "<br>");
			});
		</script>
	</body>
</html>

 使用Try.these函数:
<body>
		<script src="js/prototype-1.6.0.3.js" type="text/javascript"></script>
		<script type="text/javascript">
			function createXMLHttpRequest(){
				var request;
				if(window.XMLHttpRequest){
					//DOM 2 浏览器
					request = new XMLHttpRequest();
				}else if(window.ActiveXObject){
					try{
						request = new ActiveXObject("Msxm12.XMLHTTP");
					}catch(e){
						try{
							request = new ActiveXObject("Microsoft.XMLHTTP");
						}catch(e){
						}
					}
				}
				return request;
			}
			var req  = Try.these(createXMLHttpRequest);
			alert(req);
			//使用Try.these创建XMLHttpRequest对象
			//依次调用多个函数,直到遇到第一个函数的有返回值时,
			//该返回值将作为Try.these()函数的返回值
			var objXMLHttp = Try.these(function() {
				return new XMLHttpRequest();
			}, function() {
				return new ActiveXObject('MSXML2.XMLHTTP.5.0');
			}, function() {
				return new ActiveXObject('MSXML2.XMLHTTP.4.0');
			}, function() {
				return new ActiveXObject('MSXML2.XMLHTTP.3.0');
			}, function() {
				return new ActiveXObject('MSXML2.XMLHTTP');
			}, function() {
				return new ActiveXObject('Microsoft.XMLHTTP');
			});
			alert(objXMLHttp);
		</script>
	</body>
 
<body>
		<script src="js/prototype-1.6.0.3.js" type="text/javascript"></script>
		<script type="text/javascript">
			//定义一个aa函数
			function aa() {
				return "hello";
			}
			//Try.these()的参数只是函数的引用,而不是调用函数
			var b = Try.these(aa);
			alert(b);
		</script>
	</body>
 

分享到:
评论

相关推荐

    prototype的Ajax介绍

    ### Prototype的Ajax介绍 #### 一、Prototype框架与Ajax **Prototype** 是一款JavaScript库,其设计目的是为了简化客户端脚本编程。它提供了一系列高级功能,使得开发人员能够更加高效地构建动态网页应用。其中,*...

    Prototype.js学习从简单开始

    本文旨在通过实际案例,介绍Prototype.js的基础知识和应用技巧,特别是如何利用Prototype.js进行元素定位和DOM操作。 #### 为何选择Prototype.js? 1. **轻量级与广泛应用**:Prototype.js体积小,易于集成,且...

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

    2. "Prototype_1.4.doc" - 这个文件可能是Prototype 1.4版本的文档,以.doc格式呈现,可能包含详细的类库介绍、方法和属性说明,以及可能的使用案例。 **知识点详解** 1. **Prototype库基础**:Prototype库提供了...

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

    Prototype通过`Ajax`类封装了这一技术,包括`Ajax.Request`、`Ajax.Updater`和`Ajax.PeriodicalUpdater`等方法,使得创建异步请求变得简单直观。 总结来说,这个压缩包是学习和使用Prototype JavaScript库的宝贵...

    prototype中文帮助文档

    在这个案例中,"prototype.chm"很可能是Prototype.js的官方中文帮助文档,里面详细介绍了每个函数、类和方法的使用方法、参数和返回值,是学习和使用Prototype.js的重要参考资料。用户可以通过搜索、索引或目录浏览...

    prototype介绍

    ### prototype介绍:深入理解JavaScript的面向对象编程与Prototype.js库 #### 1. JavaScript中的`prototype`机制 在JavaScript的世界里,`prototype`扮演着一个至关重要的角色,尤其是在面向对象编程(OOP)的语境下...

    prototype开发者手册(中文版)+prototype.js

    《Prototype开发者手册(中文版)》是一本专为JavaScript开发者准备的重要参考资料,它详细介绍了Prototype JavaScript框架的使用方法和核心概念。Prototype是一个广泛使用的开源JavaScript库,它的目标是简化...

    Prototype&Prototype中文手册

    Prototype是JavaScript库中的一个关键工具,它为Web开发者提供了丰富的功能和便利,使得在JavaScript中进行AJAX(异步JavaScript和XML)编程变得更加简单高效。这个"Prototype&Prototype中文手册"压缩包包含了对...

    prototype(JS类库).rar

    - **prototype1.4开发手册.chm**、**prototype1.4开发手册.doc**:这些文档详细介绍了1.4版本的功能和使用方法,对于研究早期版本的特性非常有帮助。 - **prototype-1.6.0.3.js**、**prototype1.4.js**:这两个文件...

    prototype.js

    2. **Ajax**:Prototype.js提供了一套完善的Ajax解决方案,包括`Ajax.Request`和`Ajax.Updater`,使得异步数据交互更为简单,同时支持JSON、XML等多种数据格式。 3. **事件处理**:Prototype.js通过`Event.observe...

    Prototype各版本

    实践是学习的关键,可以通过创建小型项目来熟悉 Prototype 的使用,比如实现动态加载数据、创建可交互的表单或构建一个简单的 AJAX 应用。 综上所述,Prototype 各版本提供了不同的功能和改进,适用于多种 ...

    prototype1.6手册

    《Prototype 1.6 手册》是一本详细介绍 Prototype JavaScript 库 1.6 版本的指南。Prototype 是一个广泛使用的 JavaScript 框架,它扩展了 JavaScript 的核心功能,使得开发动态网页和Web应用变得更加高效。这个手册...

    prototype 1.4 开发者手册(中文PDF)

    手册将详细介绍`$`函数、`$$`函数以及`Element`对象的各种方法,如`insert`、`replace`、`remove`等,这些都是Prototype强大之处。 再者,Prototype对AJAX(异步JavaScript和XML)的支持非常全面。手册会讲解如何...

    介绍ajax开发框架的书《Prototype and Scriptaculous quickly》

    《Prototype and Scriptaculous Quickly》这本书主要介绍了Prototype和Scriptaculous这两个相关的库,它们不仅为开发者提供了丰富的功能,还极大地提升了用户体验。 - **Prototype**:这是一个轻量级的JavaScript库...

    自己翻译的 Prototype 1.6.0.3 中文参考手册

    4. **事件处理**:Prototype 改进了事件处理机制,如`Event.observe`和`Event.stop`,使得处理用户交互变得更加简单。 5. **Class与Object继承**:Prototype 提供了类(Class)和对象(Objects)的继承机制,如`Class....

    prototype-1.6.0.2.js.rar

    在压缩包中的"Prototype-v1.6.0.chm"文件是Prototype 1.6.0的官方API文档,包含了详细的类、方法和函数介绍,是学习和查找Prototype库功能的重要参考。通过阅读文档,开发者可以更深入地理解每个功能的用法和适用...

    prototype 1.6中文API

    Ajax在Prototype中被封装成`Ajax`对象,提供`Request`、`FormRequest`、`Updater`等类,使得异步数据交换变得简单。`new Ajax.Request(url, options)`是基础的Ajax请求,可以配置各种参数如HTTP方法、回调函数等。 ...

    prototype-chm 操作手册

    在DOM操作方面,Prototype提供了一系列简洁的API,使得操作HTML元素变得异常简单。手册会详细介绍`Element`、`$$`、`$$()`选择器函数、`Element.Methods`等,这些工具极大地简化了DOM遍历和修改。此外,还会讲解如何...

    开源JS包Prototype使用指南

    以上介绍了一些Prototype的基本用法。通过这些简单而强大的函数,我们可以更加高效地进行DOM操作、事件处理和AJAX调用等常见的Web开发任务。Prototype的强大之处在于它不仅简化了这些操作,还保持了代码的清晰和易读...

Global site tag (gtag.js) - Google Analytics