- 浏览: 842752 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (530)
- Java编程 (64)
- C/C++/D (6)
- .Net/C# (9)
- Ruby (12)
- JavaScript (77)
- XML (1)
- JSON (1)
- Ajax (17)
- ExtJs (81)
- YUI (1)
- JQuery (7)
- DWR (1)
- HTML (7)
- CSS (7)
- Database (6)
- PowerDesigner (23)
- DB2 (2)
- Oracle (57)
- MS SQL Server (8)
- MySQL (6)
- JSP/Servlet/JSTL/TagLib (3)
- Spring (1)
- Hibernate (0)
- iText (0)
- Struts (0)
- Struts2 (0)
- iReport (0)
- FreeMarker (0)
- HttpClient (1)
- POI (6)
- FckEditor (15)
- Eclipse / MyEclipse (10)
- IntelliJ IDEA (0)
- NetBeans (0)
- Tomcat (11)
- WebLogic (1)
- Jboss (3)
- jetty (4)
- IIS (2)
- CVS/VSS (1)
- FTP (1)
- Windows/DOS (6)
- Linux/Unix (0)
- 软件建模 UML (0)
- Design Pattern & Thinking In Programming (10)
- 数据结构与算法 (12)
- 软件项目管理 (9)
- 行业应用解决方案 (3)
- 电脑软件与故障解决 (13)
- 编程语言 (1)
- 十万个为什么 (3)
- JBPM (2)
- sysbase (2)
- JDBC (8)
- Ant (2)
- Case-计算机辅助软件工程 (1)
- WebService (4)
- 浏览器 (1)
最新评论
-
gaoqiangjava:
同一楼,还请大手帮解决
JAVA读取word文件 -
hyl523:
// 判断数组中的第一个值是否未定义,如果未定义,便定义为空对 ...
javascript面向对象之二 命名空间 -
ping12132200:
ping12132200 写道我抱着个错不是因为:body标签 ...
extjs在IE报对象不支持此属性或方法 -
ping12132200:
我抱着个错不是因为:body标签内的第一个元素不能为文本tex ...
extjs在IE报对象不支持此属性或方法 -
fireinjava:
呀,不错,转走了,谢谢啦~
利用OpenOffice将word转换成PDF
function Ajax(){
var XmlHttp = null;
var DataObject = null;//数据接收对象
var LoadingBar = null;//状态显示对象
var LoadingMax = 100;//进度条最大值
var LoadingWidth = null;//保存宽度,还原初始属性
var LoadingTimer = 10;//刷新时间
var LoadingTimerID = null;//时间ID
var FinishTimer = 10;//完成停留时间,等候进度条完成
var FinishTimerID = null;//时间ID
var HttpState = 0;
var CanFree = false;//释放
this.Create = function(free){
try{
if(free)CanFree = true;
if(navigator.appName.indexOf("Netscape")==-1){
try{
XmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){
XmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}
}else{
XmlHttp=new XMLHttpRequest();
}
return true;
}catch(e2){
return false;
}
}
this.Send = function(url, obj1, obj2){
try{
DataObject = obj1;
LoadingBar = obj2;
if(LoadingBar){
LoadingMax = LoadingBar.offsetWidth;//保存可见宽度
LoadingWidth = LoadingBar.style.width;//可能会没有设置宽度,这时数据为空
LoadingBar.style.width = "0px";
LoadingBar.innerHTML = "0%";
LoadingBar.style.display = "";
DataObject.style.display = "none";
HttpState = 0;
if(LoadingTimerID)clearInterval(LoadingTimerID);//清空时钟
LoadingTimerID = setInterval(this.StatusBar, LoadingTimer);
}
XmlHttp.open("GET", url, true);
XmlHttp.onreadystatechange = this.StateChange;
XmlHttp.send(null);
return true;
}catch(e){
return false;
}
}
this.StateChange = function(){
try{
if(XmlHttp.readyState)HttpState = XmlHttp.readyState;
if (XmlHttp.readyState == 4) {
if(LoadingTimerID)clearInterval(LoadingTimerID);//清空时钟
if(LoadingBar){
LoadingBar.style.width = LoadingWidth;
LoadingBar.innerHTML = "100%";
if(FinishTimerID)clearInterval(FinishTimerID);//清空时钟
FinishTimerID = setInterval(this.Finish, FinishTimer);
}else{
DataObject.innerHTML = XmlHttp.responseText;
if(CanFree)this.Destroy();
}
}
this.Finish = function(){//放到外面访问不了
if(FinishTimerID)clearInterval(FinishTimerID);//清空时钟
LoadingBar.style.display = "none";
DataObject.style.display = "";
DataObject.innerHTML = XmlHttp.responseText;
if(CanFree)this.Destroy();
}
this.Destroy = function(){
if(LoadingTimerID)clearInterval(LoadingTimerID);//清空时钟
if(FinishTimerID)clearInterval(FinishTimerID);//清空时钟
XmlHttp = null;
}
}catch(e){}
}
this.StatusBar = function(){
try{
if(LoadingBar.offsetWidth >= LoadingMax){
LoadingBar.innerHTML = "100%";
LoadingBar.style.width = LoadingWidth;
return;//返回
}
if(LoadingBar.offsetWidth < (HttpState + 1) * Math.floor(LoadingMax / 4)){
var loading = LoadingBar.offsetWidth + Math.floor(LoadingMax / 40);//十分之一
LoadingBar.style.width = loading + "px";
var percen = Math.floor(loading / LoadingMax * 100);
LoadingBar.innerHTML = (percen>100?100:percen) + "%";
}else{
LoadingBar.style.width = (HttpState + 1) * Math.floor(LoadingMax / 4) + "px";
LoadingBar.innerHTML = Math.floor(100 / (4 - HttpState)) + "%";
}
}catch(e){}
}
this.Destroy = function(){
if(LoadingTimerID)clearInterval(LoadingTimerID);//清空时钟
if(FinishTimerID)clearInterval(FinishTimerID);//清空时钟
XmlHttp = null;
}
}
使用一例:
<script language="jscript.encode" src="js/ajax.js"></script>
<div style="background:#b7d2ec url(http://www.gzyd.net/lael/loading.gif) center no-repeat; height:10px; text-align:center; color:#fff; " id="status">
</div>
<div id="data"></div>
<script language="javascript">
<!--
var obj = new Ajax();
if(obj.Create(true)){
obj.Send('http://www.gzyd.net', document.getElementById('data'), document.getElementById('status'));
}
//-->
function Ajax(){
var XmlHttp = null;
var DataObject = null;//数据接收对象
var LoadingBar = null;//状态显示对象
var LoadingMax = 100;//进度条最大值
var LoadingWidth = null;//保存宽度,还原初始属性
var LoadingTimer = 10;//刷新时间
var LoadingTimerID = null;//时间ID
var FinishTimer = 10;//完成停留时间,等候进度条完成
var FinishTimerID = null;//时间ID
var HttpState = 0;
var CanFree = false;//释放
this.Create = function(free){
try{
if(free)CanFree = true;
if(navigator.appName.indexOf("Netscape")==-1){
try{
XmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){
XmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}
}else{
XmlHttp=new XMLHttpRequest();
}
return true;
}catch(e2){
return false;
}
}
this.Send = function(url, obj1, obj2){
try{
DataObject = obj1;
LoadingBar = obj2;
if(LoadingBar){
LoadingMax = LoadingBar.offsetWidth;//保存可见宽度
LoadingWidth = LoadingBar.style.width;//可能会没有设置宽度,这时数据为空
LoadingBar.style.width = "0px";
LoadingBar.innerHTML = "0%";
LoadingBar.style.display = "";
DataObject.style.display = "none";
HttpState = 0;
if(LoadingTimerID)clearInterval(LoadingTimerID);//清空时钟
LoadingTimerID = setInterval(this.StatusBar, LoadingTimer);
}
XmlHttp.open("GET", url, true);
XmlHttp.onreadystatechange = this.StateChange;
XmlHttp.send(null);
return true;
}catch(e){
return false;
}
}
this.StateChange = function(){
try{
if(XmlHttp.readyState)HttpState = XmlHttp.readyState;
if (XmlHttp.readyState == 4) {
if(LoadingTimerID)clearInterval(LoadingTimerID);//清空时钟
if(LoadingBar){
LoadingBar.style.width = LoadingWidth;
LoadingBar.innerHTML = "100%";
if(FinishTimerID)clearInterval(FinishTimerID);//清空时钟
FinishTimerID = setInterval(this.Finish, FinishTimer);
}else{
DataObject.innerHTML = XmlHttp.responseText;
if(CanFree)this.Destroy();
}
}
this.Finish = function(){//放到外面访问不了
if(FinishTimerID)clearInterval(FinishTimerID);//清空时钟
LoadingBar.style.display = "none";
DataObject.style.display = "";
DataObject.innerHTML = XmlHttp.responseText;
if(CanFree)this.Destroy();
}
this.Destroy = function(){
if(LoadingTimerID)clearInterval(LoadingTimerID);//清空时钟
if(FinishTimerID)clearInterval(FinishTimerID);//清空时钟
XmlHttp = null;
}
}catch(e){}
}
this.StatusBar = function(){
try{
if(LoadingBar.offsetWidth >= LoadingMax){
LoadingBar.innerHTML = "100%";
LoadingBar.style.width = LoadingWidth;
return;//返回
}
if(LoadingBar.offsetWidth < (HttpState + 1) * Math.floor(LoadingMax / 4)){
var loading = LoadingBar.offsetWidth + Math.floor(LoadingMax / 40);//十分之一
LoadingBar.style.width = loading + "px";
var percen = Math.floor(loading / LoadingMax * 100);
LoadingBar.innerHTML = (percen>100?100:percen) + "%";
}else{
LoadingBar.style.width = (HttpState + 1) * Math.floor(LoadingMax / 4) + "px";
LoadingBar.innerHTML = Math.floor(100 / (4 - HttpState)) + "%";
}
}catch(e){}
}
this.Destroy = function(){
if(LoadingTimerID)clearInterval(LoadingTimerID);//清空时钟
if(FinishTimerID)clearInterval(FinishTimerID);//清空时钟
XmlHttp = null;
}
}
使用一例:
<script language="jscript.encode" src="js/ajax.js"></script>
<div style="background:#b7d2ec url(http://www.gzyd.net/lael/loading.gif) center no-repeat; height:10px; text-align:center; color:#fff; " id="status">
</div>
<div id="data"></div>
<script language="javascript">
<!--
var obj = new Ajax();
if(obj.Create(true)){
obj.Send('http://www.gzyd.net', document.getElementById('data'), document.getElementById('status'));
}
//-->
发表评论
-
Ajax各类Http请求状态(status,state)及其含义
2010-01-25 13:20 1442AJAX中请求远端文件、或在检测远端文件是否掉链时,都需要了解 ... -
Ajax dialog
2010-01-13 20:23 975<html><head><tit ... -
让ajax中实现提示框
2010-01-13 20:22 957tooTip.html: <!DOCTYPE HTML ... -
AJAX+JSP实现基于WEB的文件上传的进度控制(2)
2010-01-13 20:22 16722.1.3. 后台服务类(BackGroundService) ... -
一个ajax的经典测试用例 (jsp)
2010-01-13 20:21 987写index.jsp文件 <%@ page conten ... -
Ajax 示例程序
2010-01-13 20:20 829Ajaxtest.htm: <html>< ... -
xml学习笔记(DOM重要接口)
2010-01-13 20:19 1107Dom是w3c定义的一组和程 ... -
在IE浏览器下用javascript解析XML的三种方法
2010-01-13 20:18 858我自己在学习的过程中 ... -
在firefox浏览器下用javascript解析XML
2010-01-13 20:18 1382刚接触ajax不久,想通过ajax实现从服务器上动态取得xml ... -
使用JavaScript解析xml文件或xml格式字符串
2010-01-13 20:17 1253javascript中,不论是解析 ... -
AJAX(Javascript)解析xml简略总结
2010-01-13 20:10 1048首先,通过 ajax 向 url 提交请求,来取得远程 xm ... -
Ajax乱码问题整理
2010-01-13 20:09 1284产生原因主要有2个原因 1 xtmlhttp 返回的数据默 ... -
一份老外写的XMLHttpRequest代码多浏览器支持兼容性
2010-01-13 20:08 1041/* Cross-Browser XMLHttpRequest ... -
XMLHTTPRequest
2010-01-13 20:06 1246XMLHttpRequest是Ajax技术体 ... -
window.XMLHttpRequest
2010-01-13 20:02 1363XMLHttpRequest对象是当今所有AJAX和Web 2 ... -
掌握 Ajax,第 1 部分: Ajax 入门简介
2010-01-13 19:53 771理解 Ajax 及其工作原理,构建网站的一种有效方法 B ...
相关推荐
实验八的目的是让学生深入理解AJAX(异步JavaScript和XML)的语法和功能,并能熟练运用其中的关键对象和浏览器对象的属性与方法。在实验中,主要涉及以下几个知识点: 1. **AJAX基础**:AJAX是一种在无需重新加载...
首先,进度条是一种常见的用户界面元素,用于显示任务、数据加载或过程的完成状态。在传统的进度条中,通常采用线条或条状图形填充来表示进度。而在这个模板中,设计者引入了彩色圆球作为进度的表示,不仅视觉上更具...
JavaScript是一种广泛应用于网页和网络应用开发的脚本语言,它允许动态内容在用户与页面交互时更新,非常适合构建此类实时反馈的应用。 1. **音乐序列处理**: 在这个项目中,核心功能是生成和播放音乐序列。这...
【描述】"关于进度条的实验,可以使用部分功能进行修改,欢迎使用" 暗示了这个项目包含了一些实验性的进度条实现,开发者可以参考并根据自己的需求进行修改。这可能包括不同样式、动画效果或者自定义事件的处理。...
本资源提供了“web交互设计课程实验”的源代码,专注于用户登录和注册功能的实现,旨在帮助学习者理解并掌握相关的设计原则和技术。 首先,我们要了解Web交互设计的基本概念。它涉及网站或应用程序的用户界面(UI)...
考虑到标签为"JavaScript",我们可以推断这个实验可能使用了JavaScript(可能是AngularJS、React、Vue等现代框架)来实现加载子状态。在JavaScript中,我们可以利用事件监听、异步编程(如Promise、async/await)和...
3. **自定义用户界面**:为了实现定制化的播放器界面,开发者可能会用JavaScript和CSS来创建和操纵DOM元素,展示播放、暂停按钮、进度条、音量控制等组件。 4. **响应式设计**:bc-webplayer可能采用了响应式布局,...
- **进度条显示**:可以使用`WebView.setWebChromeClient()`和`WebChromeClient.onProgressChanged()`监听网页加载进度。 2. **HTTP协议访问网络** - **Android网络访问权限**:在AndroidManifest.xml中添加`...
同时,JavaScript负责动态加载数据和实现滑动效果。 3. **音乐播放**:实现歌曲播放功能,需要使用微信小程序的媒体API,包括`<audio>`组件,控制播放、暂停、切换歌曲等。还要考虑音量控制、播放模式(顺序、随机...
1. **模块系统**:Dojo 使用了名为 Dojo 模块化加载器(AMD,Asynchronous Module Definition)的机制,允许开发者按需加载 JavaScript 文件,提高了页面加载速度和代码组织性。 2. **DOM 操作**:Dojo 提供了方便...
2. **加载网页**:在Java代码中找到`WebView`并设置其属性,如加载网页的URL。 ```java WebView webView = (WebView) findViewById(R.id.webView); webView.getSettings().setJavaScriptEnabled(true); // 启用...
- **打包工具**:用于优化JavaScript代码,生成最小化的部署包,提高加载速度。 - **测试工具**:支持命令行单元测试,确保代码质量。 ### 2. DOJO的体系架构 DOJO的体系结构分为四个层次: - **包系统**:基础层...
这是对AngularJS,CoffeeScript和D3.js的实验。 它创建一个指令,该指令采用两个actual值和expected值,并绘制一个圆形进度条。 演示: : 安装和运行 签出项目,然后进入文件夹并运行 npm install 安装所有软件包...
1. **新特性**:Firefox 80.0b3是beta测试版,意味着它包含了最新的开发者实验性功能,如WebRender图形渲染技术,旨在提高页面加载速度和视觉质量。 2. **安全性**:火狐浏览器始终注重用户隐私,80.0b3版本继续...
这是PCA和健壮的稀疏K均值(RSKM)的快速javascript实现。 实际上,这不一定是CyTOF数据,而是任何高维数据集。 请记住,一切都在浏览器中完成,因此选择一个大文件可能需要一些时间来进行分析。 用法 您的数据应为...
6. **进度条(Progress Bar)**: 显示任务或加载过程的进度,提供可视化反馈。 7. **可折叠(Accordion)**和** tabs (选项卡)**: 用于组织和展示大量内容,提高页面空间利用。 **学习与实践** 对于初学者,...
Dojo是核心功能包,Dijit包含所有Widget组件,而DojoX则用于实验性和扩展功能。 1. **Dojo** - `dojo.io`:提供了多种网络请求方法,如脚本注入和IFrame。 - `dojo.dnd`:支持拖放功能。 - `dojo.string`:提供...
- **进度条(Progressbar)**:显示任务或加载过程的进度。 - **日期选择器(Datepicker)**:为输入字段添加日历选择功能。 - **自动补全(Autocomplete)**:根据用户输入提供下拉建议,常见于搜索框。 - **...
- **应用程序支持库与Widget系统**:这是开发者日常接触最多的部分,包括了大量的应用程序支持API和Widget组件,如IO包支持Ajax调用,Widget系统提供了丰富的UI元素,如按钮、进度条、树状图等,基于MVC模式设计,...
Dojo是一个JavaScript库,它提供了大量的功能,以支持Web应用的开发,尤其是在Ajax和用户界面(UI)设计方面。 Dojo的核心结构分为多个层次,最底层是包系统,它模仿了Java的包概念,使得API组织有序,便于开发者...