求提供给我js代码弹出右下角对话框,对话框里的内容为某个url的内容,谢谢,本人不会js太多

berritus 2015-08-19 06:43:54
目的就是调用这js代码,就能在页面右下角弹出一个对话框,对话框里的内容是某个url的内容,比如url地址为www.baidu.com
那么弹出对话框里的内容就是www.baidu.com的内容,还有,如果能定时关闭的更好。目前用window.open的会被浏览器拦截,不好用
...全文
153 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
<!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>
<meta http-equiv="content-type" content="text/html;charset=gb2312"/>
<title>网页右下角浮动窗口</title>
<style type="text/css">
#msg_win{border:1px solid #A67901;background:#EAEAEA;width:240px;position:absolute;right:0;font-size:12px;font-family:Arial;margin:0px;display:none;overflow:hidden;z-index:99;}
#msg_win .icos{position:absolute;top:2px;*top:0px;right:2px;z-index:9;}
.icos a{float:left;color:#833B02;margin:1px;text-align:center;font-weight:bold;width:14px;height:22px;line-height:22px;padding:1px;text-decoration:none;font-family:webdings;}
.icos a:hover{color:#fff;}
#msg_title{background:#FECD00;border-bottom:1px solid #A67901;border-top:1px solid #FFF;border-left:1px solid #FFF;color:#000;height:25px;line-height:25px;text-indent:5px;}
#msg_content{margin:5px;margin-right:0;width:230px;height:126px;overflow:hidden;}
</style>
</head>
<body>
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
<div id="msg_win" style="display:block;top:490px;visibility:visible;opacity:1;">
<div class="icos"><a id="msg_min" title="最小化" href="javascript:void 0">_</a><a id="msg_close" title="关闭" href="javascript:void 0">×</a></div>
<div id="msg_title">弹窗标题</div>
<div id="msg_content">弹窗内容,如果想链接百度,就写一个iframe就行了</div>
</div>
<script type="text/javascript">
//定时关闭方法
function closed()
{
	document.getElementById("msg_close").click();
}
setTimeout(closed,5000);//定时关闭执行,单位毫秒,5000即5s

var Message={
set: function() {//最小化与恢复状态切换
var set=this.minbtn.status == 1?[0,1,'block',this.char[0],'最小化']:[1,0,'none',this.char[1],'展开'];
this.minbtn.status=set[0];
this.win.style.borderBottomWidth=set[1];
this.content.style.display =set[2];
this.minbtn.innerHTML =set[3]
this.minbtn.title = set[4];
this.win.style.top = this.getY().top;
},
close: function() {//关闭
this.win.style.display = 'none';
window.onscroll = null;
},
setOpacity: function(x) {//设置透明度
var v = x >= 100 ? '': 'Alpha(opacity=' + x + ')';
this.win.style.visibility = x<=0?'hidden':'visible';//IE有绝对或相对定位内容不随父透明度变化的bug
this.win.style.filter = v;
this.win.style.opacity = x / 100;
},
show: function() {//渐显
clearInterval(this.timer2);
var me = this,fx = this.fx(0, 100, 0.1),t = 0;
this.timer2 = setInterval(function() {
t = fx();
me.setOpacity(t[0]);
if (t[1] == 0) {clearInterval(me.timer2) }
},10);
},
fx: function(a, b, c) {//缓冲计算
var cMath = Math[(a - b) > 0 ? "floor": "ceil"],c = c || 0.1;
return function() {return [a += cMath((b - a) * c), a - b]}
},
getY: function() {//计算移动坐标
var d = document,b = document.body, e = document.documentElement;
var s = Math.max(b.scrollTop, e.scrollTop);
var h = /BackCompat/i.test(document.compatMode)?b.clientHeight:e.clientHeight;
var h2 = this.win.offsetHeight;
return {foot: s + h + h2 + 2+'px',top: s + h - h2 - 2+'px'}
},
moveTo: function(y) {//移动动画
clearInterval(this.timer);
var me = this,a = parseInt(this.win.style.top)||0;
var fx = this.fx(a, parseInt(y));
var t = 0 ;
this.timer = setInterval(function() {
t = fx();
me.win.style.top = t[0]+'px';
if (t[1] == 0) {
clearInterval(me.timer);
me.bind();
}
},10);
},
bind:function (){//绑定窗口滚动条与大小变化事件
var me=this,st,rt;
window.onscroll = function() {
clearTimeout(st);
clearTimeout(me.timer2);
me.setOpacity(0);
st = setTimeout(function() {
me.win.style.top = me.getY().top;
me.show();
},600);
};
window.onresize = function (){
clearTimeout(rt);
rt = setTimeout(function() {me.win.style.top = me.getY().top},100);
}
},
init: function() {//创建HTML
function $(id) {return document.getElementById(id)};
this.win=$('msg_win');
var set={minbtn: 'msg_min',closebtn: 'msg_close',title: 'msg_title',content: 'msg_content'};
for (var Id in set) {this[Id] = $(set[Id])};
var me = this;
this.minbtn.onclick = function() {me.set();this.blur()};
this.closebtn.onclick = function() {me.close()};
this.char=navigator.userAgent.toLowerCase().indexOf('firefox')+1?['_','::','×']:['0','2','r'];//FF不支持webdings字体
this.minbtn.innerHTML=this.char[0];
this.closebtn.innerHTML=this.char[2];
setTimeout(function() {//初始化最先位置
me.win.style.display = 'block';
me.win.style.top = me.getY().foot;
me.moveTo(me.getY().top);
},0);
return this;
}
};
Message.init();
</script>
</body>
</html>
完整的HTML代码,请给分
slwsss 2015-08-19
  • 打赏
  • 举报
回复
ExtAspNet v2.2.1 ExtAspNet是一组专业的Asp.net控件库,拥有原生的AJAX支持和丰富的UI效果, 目标是创建没有JavaScript,没有CSS,没有UpdatePanel,没有WebServices的Web应用程序。 支持的浏览器: IE 7.0+, Firefox 3.0+, Chrome 2.0+, Opera 9.5+, Safari 3.0+ 注:ExtAspNet基于一些开源的程序ExtJS, HtmlAgilityPack, Nii.JSON, YUICompressor。 示例: http://extasp.net/ 开源: http://extaspnet.codeplex.com/ 博客: http://sanshi.cnblogs.com/ 邮箱: sanshi.ustc@gmail.com 发布历史: +2010-03-28 v2.2.1 +为TabStrip的GetAddTabReference函数增加重载方法,以便指定Tab的图标(feedback:mmdcup)。 -修正此函数通过PageContext.RegisterStartupScript调用时不能正确显示Icon的BUG(feedback:zhaowenke)。 -修正basic/hello.aspx示例在单独浏览器打开后,不能弹出对话框的BUG。 -隐藏示例首页最外层RegionPanel的边框ShowBorder="false"。 +集成Extjs最新版本v3.1.1。 -增加一个新的Theme - Access。 -修正了Firefox下Zoom In/Out时页面消失的BUG。 -删除Panel的EnableLightBackgroundColor属性,同时EnableBackgroundColor只支持Blue和Gray两种Theme。 +2010-01-31 v2.2.0 -使得Asp.net的控件ImageButton具有和Asp.net的Button控件类似的行为(Ajax提交)(feedback:261629698)。 +TabStrip增加GetAddTabReference和GetRemoveTabReference两个函数,用来向TabStrip控件动态增加删除Tab。 -增加示例tabstrip/tabstrip_addtab.aspx。 -重构了示例网站的架构,目前只有一层IFrame结构。 -为TabStrip增加EnableTabCloseMenu属性,是否启用右键菜单,可用来关闭当前Tab和所有其他Tab。 -为NumberBox增加DecimalPrecision属性,用来控制小数点后的位数(需要设置NoDecimal="false")(feedback:zqmars)。 -Window控件更新。 -关闭按钮默认直接关闭,不会弹出确认对话框。 -GetConfirmFormModifiedHideReference的函数中的ConfirmFormModified简化为Confirm,所以此函数更名为GetConfirmHideReference。 -增加两个属性EnableConfirmOnClose(默认false),CloseAction(Hide, HideRefresh, HidePostBack)。 -修正EnableMaximize属性不能使Window最大化的BUG,修正了双击标题栏不能最大化的BUG。 -删除Button控件的SystemIcon属性,比如以前这样定义SystemIcon="Close",现在需要这样定义Icon="SystemClose"。 -WindowPosition默认居中,而不是黄金分割位置。 +Button, Window等控件弹出位置属性的变化。 -Window的Target属性由字符串类型变为枚举类型,注意更新以前的代码:Target="_self" -> Target="Self", Target="_parent" -> Target="Parent"。 -MenuButton, LinkButton, Button, LinkButtonField的ConfirmTarget属性由字符串变为枚举类型,可以取三个枚举值Self, Parent, Top。 -Confirm.GetShowReference的最后一个参数target变为枚举类型。 -Alert.GetShowReference中的showInParent参数也变为Target枚举类型。 -MenuButton, LinkButton, Button, LinkButtonField增加ValidateTarget用来控制表单验证失败时提示对话框的显示位置。 +2010-01-06 v2.1.9 -集成Extjs最新版本v3.1.0。 -修正灰色皮肤的CSS问题。 -修正Grid的列名中不能包含中文字符的BUG(feedback:davidwen)。 -为Web.config和PageManager增加属性AjaxTimeout(单位秒,默认30秒)。 -修正了在Grid的PageIndexChange事件中不能获取SelectedRowIndexArray属性的BUG(feedback:Violet)。 -Button控件将不再自动拥有display:inline属性,如果希望两个按钮在一行显示,请为第一个按钮设置CssStyle="float:left;"属性。 -修正了弹出菜单的位置在Firefox下不正确的BUG(feedback:eroach)。 -为TriggerBox和TwinTriggerBox增加EnableEdit属性。 -使用Hidden来显示隐藏ExtAspNet控件,而不是使用Visible属性(Visible目前设置为只读属性)。 -使用Hidden控制Window控件的显示隐藏,Popup已经标记为Obsolete属性。 -Window的实例方法GetCloseReference等以及ActiveWindow的静态方法GetCloseReference等,其中的Close全部改为Hide。 -增加TabStrip中Tab控件可关闭属性EnableClose(默认为false)以及两个方法GetShowReference和GetHideReference(feedback:anson)。 -修正绑定到Tree的XMLDocument中Icon属性映射错误(feedback:nopnop9)。 -修正HtmlEditor不能编辑的BUG(feedback:TheBox)。 -修正IE下有时会出现空白页面的情况(feedback:olivia919)。 +2009-12-06 v2.1.8 -修正了使用IFrame的Window关闭后不能再次打开的BUG(feedback:alexa99)。 -修正了IE下Grid中的一个JS问题(feedback:lqm4108)。 -修正Alert消息中引号未编码导致的JS错误(feedback:sun1299shine)。 +集成extjs3.0.3。 -修正弹出对话框的宽度计算错误(会保持最小的状态)。 -增加新的皮肤Gray。 -为示例工程添加改变语言和皮肤的下拉列表。 -为PageContext增加静态函数Refresh,在切换语言和皮肤时使用。 +2009-12-01 v2.1.7 -增加示例(iframe/parent_postback_run3.aspx),如何通过简单的Javascript代码回发父页面(feedback:eroach)。 -修正一些书写错误(feedback:bmck)。 -从Region控件中删除SplitColor属性,增加CollapseMode, EnableSplitTip, SplitTip, CollapsibleSplitTip属性(feedback:bmck)。 -BorderPanel更名为RegionPanel。 -DropDownList拥有MarkInvalid方法(feedback:sun1299shine)。 -增加中国的省市县三级联动示例(data/shengshixian.aspx)(feedback:Blues T)。 -修正了使用IFrameUrl的Tab在切换过程中会重复加载的问题,这是一个在v2.1.6引入的问题(feedback:eroach)。 -修正了启用AutoPostBack的Grid,其RowClick会覆盖LinkButtonField, HyperLinkField, CheckBoxField的点击事件(feedback:yymaoji)。 +2009-11-26 v2.1.6 +修正动态创建Grid列的BUG(feedback:gxpan)。 -增加示例(data/grid_dynamic_columns.aspx)。 -修正Form不能自适应浏览器大小的改变(feedback:kaywood)(WorkItem#6309)。 -增加重载方法Alert.Show(message, title, icon)(feedback:TheBox)(WorkItem#6353)。 -为容器控件(比如Panel,Region,Tab等)增加AJAX属性IFrameUrl(feedback:BluesT)。 -重新设计模拟树的下拉列表的实现,避免选中某项后的闪烁。 +2009-11-21 v2.1.5 +Tree优化。 -修正Expanded项和Checked项的状态在回发改变后不能保持的BUG。 -GetNodeById更名为FindNode,保持和FindControl一致命名。 -删除CheckedNodeIDArray属性,增加GetCheckedNodes和GetCheckedNodeIDs函数。 -删除ExpandedNodeIDArray属性,增加GetExpandedNodes和GetExpandedNodeIDs函数。 -增加示例(data/tree_select_run.aspx),如何选中当前节点的所有子节点(feedback:wjl_wjl520)。 +TreeNode的属性NodeId被重命名为NodeID,这是ExtAspNet中的一个命名约定。 -同时更名的还有GridColumn的ColumnId->ColumnID,GetColumnId->GetColumnID。 -Grid1.Columns.FindColumnById函数被Grid1.FindColumn所替代。 -为TreeCheckEventArgs,TreeExpandEventArgs,TreeCommandEventArgs增加Node属性。 -为所有控件增加Focus(覆盖Control默认的Focus函数)和GetFocusReference函数。 -增加示例(other/custom_postback.aspx)(feedback:thebox)。 -如何自定义Javascript脚本和C#处理函数来响应键盘事件。 -为Tree增加AutoLeafIdentification属性。 -增加示例(tree_auto_leaf_identification.aspx)(feedback:wdrabbit)。 +2009-11-17 v2.1.4 -修正Window的关闭按钮提示信息一直是中文的BUG(feedback:thebox)。 -部分ExtAspNet控件的设计时支持(会在后续版本中逐步完善)。 -v0.2beta2版本中关于PersistChildren(true)的描述有误,这个是设计时属性,和运行时是否保持状态没有关系。 -修正CheckBox控件的CheckedChanged事件会被触发两次的BUG(Data PostBack->AutoPostBack, Event PostBack->EnablePostBack)。 -为TextBox,TextArea,DatePicker,NumberBox,TriggerBox等控件增加AutoPostBack属性(feedback:dk3214)。 +为表单字段增加RequiredMessage,MaxLengthMessage,MinLengthMessage属性,用于指定验证失败时提示信息。 -为空则使用默认的提示信息,默认的提示信息支持多语言,建议一般情况下使用默认信息。 +为表单字段增加MarkInvalid和GetMarkInvalidReference函数(feedback:sun1299shine)。 -增加示例:form/form_validate.aspx +2009-10-19 v2.1.3 +增加支持在AJAX时改变的控件属性列表(/ajax.aspx)。 -ExtAspNet支持原生的AJAX,也就是说控件的属性改变在AJAX过程中会反映到页面中,但并不是所有的控件属性都支持AJAX改变。 -加载s.gif图片在本机进行,不会extjs.com远程资源(feedback:efrigate43,abaocoole)。 -在AJAX回发后确保Asp.net的按钮控件仍然具有AJAX的特性。 -更新/basic/login.aspx示例,使用验证图片(feedback:kedee)。 -为Grid增加AutoPostBack属性和RowClick事件,示例在/data/grid_autopostback.aspx(feedback:chenguizhu2006)。 -为所有的表单字段增加AJAX属性ReadOnly(feedback:skydb)。 -Grid中TemplateField生成到页面中控件具有唯一ID,例如Grid1_ct5_Label2,Grid1_ct6_Label2(feedback:geruger)。 +2009-09-27 v2.1.2 -为Tree控件增加GetExpandAllNodesReference和GetCollapseAllNodesReference两个函数。 -修正RELEASE版本下多语言加载的BUG(feedback:yigehaoren)。 -增加pt_BR语言,由Ujvari提供。 +为所有Panel(包括Grid,Tree,Form等)增加枚举类型Icon,其中包含1700多个小图标。 -如果Panel具有IconUrl属性,则IconUrl优先于Icon。 -所有Icon的列表在icon.aspx。 -为Button,MenuItem(MenuButton,MenuHyperLink),AccordionLink,TreeNode,Image(如果ImageUrl为空,则取Icon的值)增加Icon属性。 +2009-09-15 v2.1.1 -修正不能动态修改AccordionPane属性Items的BUG。 +为Button, MenuButton, LinkButton, LinkButtonField增加ConfirmTarget。 -如果需要在父页面弹出确认对话框,需要设置ConfirmTarget="_parent"(类似Window控件的Target="_parent")。 +为ExtAspNet.Alert.Show增加点击确定的JavaScript回调函数。 -一个典型应用,在Window控件中打开新页面,如果传递的参数不正确,则首先提示参数不对然后关闭此弹出窗口。 -ExtAspNet.Alert.Show("参数错误!", String.Empty, ExtAspNet.ActiveWindow.GetCloseReference()); +TreeNode的前面的多选框可以自动回发了。 -为TreeNode增加AutoPostBack属性,增加事件数据类TreeCheckEventArgs,为Tree增加事件NodeCheck。 -示例在:http://extasp.net/data/tree_run.aspx -Grid增加GetNoSelectionAlertInParentReference函数,用来表示没有选中任何一项时在父页面弹出对话框JS代码。 -修正IE7下不能以下划线作为CSS中类名的前缀的BUG(feedback:Steve.Wei)。 -添加定时器控件Timer,用来定时发起AJAX请。 +2009-09-06 v2.1.0 -Button的Pressed属性值能够正确的反映客户端的变化。 -优化Tree控件的AJAX实现。 +为页面的Form添加autocomplete="off"属性。 -参考http://www.cnblogs.com/sanshi/archive/2009/09/04/1560146.html#1635830 +添加对extjs3.0中所有语言的支持。 -ExtAspNet扩展的多语言包在js\languages\extaspnet目录下,目前只有en,zh_CN,zh_TW三种实现 -你可以向其中添加自己的语言版本,并执行js\languages下的pack.bat打包,最后编译工程。 +2009-09-01 v2.0.9 -为ExtAspNet.Alert添加两个静态方法ShowInParent和GetShowInParentReference,用于在父页面弹出窗口。 +在aspx页面中必须显示的声明控件的集合属性(比如Tabs(TabStrip), Items(PanelBase), Nodes(TreeNode))。 -这将会影响所有的aspx页面,所以要特别关注。 -重命名AccordionPanel为AccordionPane (这也是在Asp.net AJAX中使用的名称). +所有的面板默认有两个集合属性(Toolbars和Items). -尽管TabStrip, From, Tree, Accordion继承了Items属性,但是你并不能对其设置(此时Items是只读的). -这将会影响所有的aspx页面,一定要将工具条(Toolbars)和Items区分开来。 -祝你生日快乐 - 小师妹妹。 +2009-08-29 v2.0.8 -ExtAspNet支持多语言(en,zh_CN,zh_TW),可以在Web.config中修改。 -将所有的示例转化为英语版本。 -修正Tree控件的一个BUG(定义Mappings属性时)。 +PageManager.Instance应该存在于HttpContext.Current,而不是一个全局变量。 -这个BUG导致Asp.net compatibility中的示例无法完成,现在已经修正。 +去除PageManager中方法AddAjaxAspnetControls,增加属性AjaxAspnetControls。 -这个属性和Button得ValidateForms属性类似,可以查看Asp.net compatibility中的示例。 +2009-08-25 v2.0.7 -为按钮增加DisableControlBeforePostBack属性 - 回发之前是否禁用按钮,防止重复提交 - 默认为true。 -Grid的Values属性访问限制由internal改为public,这就意味这可以自由改变Grid中每个单元格的值了。 -增加示例-如何将Grid控件导出为Excel(data\grid_excel_run.aspx)(feedback:503684912)。 -如果TreeNode的属性Enabled="false",则此项变灰并且不会被选中(feedback:your568)。 -修正TreeNode的属性NavigateUrl不接受服务器端URL(以~/开头)的BUG。 -增加Accordion和Tree配合使用的示例(other\accordion_tree_run.aspx)。 -修正Panel图标不能显示的BUG(CSS中class名不能有$字符)。 +去除PageLayout控件,此控件可以使用BorderLayout和指定PageManager的AutoSizePanelID属性来代替。 -这样所有需要占据全屏的Panel(不管你是Accordion,Panel,ContentPanel,Form,GroupPanel,SimpleForm,Tree还是Grid,TabStrip)都可以通过这种方式全屏。 -简单方便,示例可以参考 default.aspx 或者 other\accordion_tree_run.aspx。 +2009-08-14 v2.0.6 -动态生成菜单实例(other\menu_dynamic_run.aspx和other\menu_dynamic2_run.aspx)(feedback:shguo)。 -优化AJAX的内部实现,每个页面保存的ViewState现在减少1/3左右(重要更新)。 -优化Tree节点的NodeId自动生成,减少ViewState占用。 +2009-08-09 v2.0 beta5 +ExtAspNet和Asp.net的提交按钮兼容问题(feedback:千帆)。 -在2009-03-03 v1.3.0曾经提到这个兼容问题,并有这样的规则,如果Asp.net的按钮AJAX提交,必须设置UseSubmitBehavior="false" --也就是说生成的input的type不能是"submit",而这个限制在有些情况下是不可原谅的。 --我们做了优化,现在要使一个Asp.net的按钮能够AJAX提交,你不需要做任何设置(PageManager的属性EnableAjax为true即可,这是默认属性)。 +PageManager的实例方法AddAjaxUpdateControl改名为AddAjaxAspnetControls,现在可以在Page_Load中设置需要在AJAX中需要更新的Asp.net控件了。 -在Page_Load中设置了哪些需要在AJAX中更新的Asp.net控件会在回发时保持状态,可以通过RemoveAjaxAspnetControls来去除不需要更新的控件。 -示例在aspnet\fckeditor_run.aspx和aspnet\aspnet_run.aspx。 -FCKEditor和上传控件兼容。示例在aspnet\fileupload_run.aspx。 -修正ToolbarText的文本在AJAX下更新的BUG。 -Button的Pressed属性在AJAX可更新(feedback:mgzhenhong)。 -更新所有示例。在IE7.0,IE8.0,Firefox3.5,Chrome2.0下测试通过。 +2009-08-02 v2.0 beta4 +和Asp.Net的Forms Authentication兼容[feedback:mgzhenhong]。 -采用和Asp.Net Ajax类似的处理方式,需要在配置文件Web.config增加一个httpModules。 -现在支持Response.Redirect,你可以选择Response.Redirect或者ExtAspNet.PageContext.Redirect重定向页面,两者效果一样。 -支持FormsAuthentication.RedirectFromLoginPage(accountID, false);这样的方法。 -Button增加Type属性(button,reset,submit)[feedback:mgzhenhong]。 -修正Alert.Show方法不能指定文本前图片的BUG[feedback:xmq&mgzhenhong]。 -修正IE下某些弹出窗口的IFrame第一次不能加载的BUG。 -增加Menu和Accordion的示例。 -修正Window控件的IconUrl有时不显示(Target="_parent")的BUG[feedback:xmq&mgzhenhong]。 +2009-07-22 v2.0 beta3 -兼容FCKEditor。 -在IE8.0,Firefox3.5下测试通过。以后ExtAspNet将不会对IE6.0提供支持。 +2009-07-13 v2.0 beta2 -集成extjs最新版本v3.0。 +兼容IE6.0-7.0-8.0。 -这应该是Extjs3.0的一个BUG,在IE6.0-7.0下面设置Ext.QuickTips.init();会导致button的click事件无法响应(IE8下无此问题)。 -目前先禁用IE6.0-7.0的QuickTips。 -优化底层JavaScript。 +2009-07-05 v2.0 beta1 -更新extjs库到最新版本v3.0 RC2; 目前只有一个缺省皮肤(Theme)。 -使用YUI Compressor压缩JavaScript和CSS文件。 -Release版本每个页面只包含一个JavaScript文件(语言文件除外)和一个CSS文件。 -ExtAspNet自身的CSS会紧挨着页面标签引入,这样在<head>中自定义的样式可以覆盖ExtAspNet缺省样式。 +Alert<em>对话框</em>会遮挡所有的Window窗口。 -使用一个变通的方法解决,因为无法改变Ext.Message的默认z-index(9000)所以将box.window_default_group的zseed调整为6000。 -为所有按钮的左右增加5px的空白边距:.x-btn button { margin: 0 5px !important; }。 -因为下拉列表不可编辑,所以不能为空,如果不设置SelectedIndex或SelectedValue,则默认选中第一项。 -重新绑定模拟树的下拉列表后,选中项的前面有图片的HTML标签的BUG。 -更新自定义JavaScript组件Ext.ux.SimplePagingToolbar。 -更新示例工程。 +2009-03-25 v1.3.1 -Tree在AJAX回发展开节点时<em>JS</em>错误[feedback:xlli]。[fixed] -Window中的EnableIFrame==false,则点击关闭按钮时报<em>JS</em>错误。[fixed] -页面包含FileUpload控件,需要点击按钮回发并上传文件,则不能采用原生AJAX方式。(参见示例aspnet/fileupload.aspx)[fixed] -HtmlEditor显示隐藏工具栏按钮不起作用,HtmlEditor目前不支持Enabled和Readonly两个属性。[fixed] +2009-03-03 v1.3.0 -如果<em>弹出</em>的窗口(Ext-Window)含有ASP.NET控件FileUpload,则此<em>弹出</em>窗口在关闭时出现<em>JS</em>错误(http://ext<em>js</em>.com/forum/showthread.php?t=8129)[feedback:xlli]。[fixed] -如果页面中存在ASP.NET控件(TextBox),则第二次提交表单就会报错(视图状态不对,其实时没有更新EventValidation隐藏字段导致的问题)。[fixed] -页面上放置ExtAspNet-Button和ASP.NET-Button,则点击ExtAspNet-Button时激发的是ASP.NET-Button的事件,这个BUG和Ext<em>js</em>2.2.1中Ext.Ajax.serializeForm的实现有关。[fixed] -ExtAspNet内部包含HtmlAgilityPack和Nii.<em>JS</em>ON两个开源的第三方类库。[added] +如果以前你听过不要在ExtAspNet工程中使用ASP.NET标准控件的忠告,那么从v1.3.0版本开始,你可以忘掉这个说法,现在ExtAspNet控件和ASP.NET标准控件和平共处了。[fixed] -如果一个ASP.NET按钮控件要使用ExtAspNet的原生AJAX,只需要设置属性 UseSubmitBehavior="false" 即可。 -如果要在一次ExtAspNet的原生AJAX回发时更新ASP.NET控件的值,只需要调用PageManager的公共方法AddAjaxUpdateControl即可(示例:aspnet/aspnet.aspx)。 +2009-02-27 v1.2 beta9 -网络连接出错时的“Ajax Error”改成更加友好的提示信息“本次连接失败!可能是网络连接出错,请刷新页面重试。”。[fixed] -自动测试功能会在以后版本中逐步完善。这个版本完成测试框架,采用Ext<em>js</em>中<em>JS</em>函数进行大部分的测试,对于一些难以测试的地方借助jQuery完成。[fixed] +系统底层<em>代码</em>优化(主要是Javascript的封装和BUG修复)。[fixed] -底层使用Javascript创建一个Window控件的<em>代码</em>由原来的2000字符减少为500个字符。 -PageContext静态类中的GetPageStateChangedFunction改名为GetConfirmFormModifiedReference,底层<em>代码</em>优化。表示“获取当前页面中表单修改的确认提示框的脚本”。 ---[updated]删除PageContext中的GetConfirmFormModifiedReference,使用CurrentActiveWindow中的GetConfirmFormModifiedCloseReference/GetConfirmFormModifiedCloseRefreshReference/GetConfirmFormModifiedClosePostBackReference三个方法代替。 -<em>不会</em>修改<em>弹出</em>页面的<em>URL</em>(Ext-Window中的IFrame),以前为了实现功能为每个<em>弹出</em>页面添加box_parent_client_id查询字符串 -去除PageManager的RegisterPageStateChangedScript属性,现在已经将这个功能实现为静态的<em>JS</em>方法。可以通过PageContext.GetFormModifiedConfirmReference获取此方法的客户端脚本。 ---注意:以前的项目需要在所有的ASPX页面中查找RegisterPageStateChangedScript属性,并删除,否则会运行错误! -A页面有Ext-Window控件<em>弹出</em>B页面,B页面有Ext-Window控件<em>弹出</em>C页面,B页面的Ext-Window控件设置Target='_parent',则<em>弹出</em>的Ext-Window(C页面)会覆盖整个A页面,这是正确的。 ---当时如果用户直接访问B页面,就会报<em>JS</em>错误,因为此时找不到B页面的父页面A了。现在的版本修正为如果找不到父页面,则就在当前页面<em>弹出</em>窗口,这样用户直接访问B页面也<em>不会</em>出错了。 -Window控件的GetIFramePageStateChangedFunction函数改名为GetConfirmFormModifiedCloseReference,表示“获取先确认IFrame的页面中表单改变,然后关闭<em>弹出</em>窗口的客户端脚本”。 ---为Window控件增加如下两个方法GetConfirmFormModifiedCloseRefreshReference和GetConfirmFormModifiedClosePostBackReference,表示“先确认表单改变,然后关闭<em>弹出</em>Ext-Window,再然后刷新父页面或回发父页面”。 ---Window控件的OnClientCloseButtonClick属性如果不设置,则默认采用GetConfirmFormModifiedCloseReference,也即是先判断表单是否更新,然后在关闭窗口。 ---现在可以很方便的为Window控件的关闭按钮添加关闭后刷新父页面或者关闭后回发父页面的行为。 -如果<em>弹出</em>窗口(Window控件)中IFrame的页面不能正常加载(网络暂时出错或页面抛出异常),则此时点击右上角的关闭按钮会报<em>JS</em>错误,因为此时页面尚未加载完毕。 ---此版本修正了这个BUG,即时页面不能加载完全,也能通过右上角的关闭按钮关闭<em>弹出</em>含IFrame的窗体。 -Window控件的IFrameName属性是自动生成的,只读属性。(因为有可能所有的Ext-Window最终都渲染到最外层的页面,为了保证这些IFrame的name不同,IFrameName使用的是GUID,内部处理)。 -CurrentActiveWindow改名为ActiveWindow。 -[特别注意]GetWriteBackValueReference(string controlClientIds, string value, params string[] values)函数现在的定义是GetWriteBackValueReference(params string[] values) ---所有调用GetWriteBackValueReference的地方,需要删除第一个参数(一般是ActiveWindow.GetLoadStateReference())。 +2009-02-23 v1.2 beta8 -ContentPanel中<em>内容</em>不能自动扩展高度的BUG[feedback:huihuang]。[fixed] -DropDownList在Ajax回发时不能计算模拟树的数据[feedback:huihuang]。[fixed] -DropDownList在页面第一次加载时没有不可选择项,则回发时也<em>不会</em>有不可选择项的BUG。[fixed] -升级底层Ext<em>JS</em>类库为v2.2.1(此版本主要是Chrome的支持和部分内存泄漏问题的修正)。[fixed] -页面加载过程中的时间信息保存在Javascript变量window.box.timeInfo中。[added] +增加部分自动测试支持(使用WatiN和NUnit),下个版本将会<em>提供</em>完整的自动测试支持。[fixed] +2008-10-28 v1.2 beta7 -DropDownList没有选中任何一项,回发时报错[feedback:huihuang]。[fixed] -Window显示位置不对,以及不能拖动的BUG[feedback:huihuang]。[fixed] +PageContext优化。[fixed] -去除RegisterExclusiveScript静态函数(这是没有原生ajax之前的产物),使用RegisterStartupScript替代。 -去除RegisterStartupScript的重载函数,只保留最简单的PageContext.RegisterStartupScript(string script)函数。 -Resirect增加重载函数Redirect(string <em>url</em>, string target),其中target可能的取值为_self,_parent,_top,分别表示在当前窗口,父窗口,顶级窗口重定向[feedback:jqpeng]。 -Image控件增加ImageWidth/ImageHeight/ImageCssStyle/ImageCssClass/ImageAlt属性[feedback:jqpeng]。[fixed] -发布包中增加一个Web.config.txt,这是一个空的Web.config文件,包含BOX基本的配置信息。[fixed] -ContentPanel的ShowHeader和ShowBorder属性默认也是true(注意更新以前的应用)。[fixed] -Row和Column布局时,修正IE下设置RowHeight="100%"时显示不正确的BUG。[fixed] -AccordionLink当鼠标移上和移开时,有背景色的变化效果[feedback:huihuang]。[fixed] +TabStrip的Tab控件的EnablePostBack属性会在回发时保持(也即是说如果EnablePostBack=true,回发时没改变EnablePostBack的值,则每次切换到此Tab都会回发)。[fixed] -有这样一个效果,如果Tab1默认显示,Tab1的EnablePostBack=true,则页面加载完毕后会回发Tab1一次。 +2008-10-20 v1.2 beta6 +使用控件的站点必须建立虚拟目录,否则会报<em>JS</em>错误(即是脚本资源没有加载),却原来是HTTPCompress组件的问题。[fixed] -需要替换新的blowery.Web.HttpCompress.dll,解决方案见http://pohee.com/it/http-compression-in-aspnet-20/。 +DropDownList优化。[fixed] -去除EnableFirstItem/FirstItemText/FirstItemValue,这个并不能带来很大的好处,反而容易让开发人员困惑。 现在可以方便的在后台DropDownList1.Items.Insert(0, new ExtAspNet.ListItem("全部", "-1"));来达到同样的效果。 +如果某项(ListItem)的Value为空字符串,则通过SelectedIndex和SelectedValue不能选中[feedback:jqpeng]。 -和Asp.net中的保持一致,ListItem的Value值可以为空字符串。 也就是可以这样写DropDownList1.SelectedValue = ""; -ListItemCollection增加重载函数Add(string text, string value),这样方便后台添加列表项。 -处于布局内的容器控件(Layout!=LayoutType.Container),AutoHeight会自动设置为false(避免开发人员发生此类错误)。[fixed] -注意,控件的高度指的是整个控件的高度,包含BodyPadding(这和CSS中的height不同,CSS中的height是指<em>内容</em>的高度,除去padding/border-width/margin)。[fixed] +为所有控件属性增加在VS中的智能提示。[fixed] -需要将ExtAspNet.XML和ExtAspNet.dll放在一起,这样引用dll时xml会被拷贝到bin目录下,<em>提供</em>VS的智能提示。 +控件的属性如果是枚举类型,如果此属性可以不取值,则默认为None。[fixed] -TriggerIconType.Default -> TriggerIconType.None -SystemIconType.Empty -> SystemIconType.None -RegexPattern.USER_DEFINED -> RegexPattern.None -表单验证属性名称变化(ValueToCompare->CompareValue,ControlToCompare->CompareControl)。[fixed] +注意:一个属性可以拥有多个值的情况。[fixed] -属性和CSS相关则用空格分隔(比如ColumnWidths,BodyPadding)。 -其他的都是逗号分隔(比如ValidateForms,DataKeyNames,DataNavigate<em>Url</em>Fields)。 +AccordionLink实现为控件。[fixed] -可以方便的在子页面(iframe)中通过<em>js</em>切换父页面中选中的菜单项(Accordion->AccordionLink)(示例在other/accordion_links_run.aspx,other/accordion_links_run_iframe_htm)[feedback:jima]。 +确认:可以方便的动态添加控件,并且可以给控件添加服务器端事件(示例在form/form_dynamic_run.aspx)。[fixed] +2008-10-15 v1.2 beta5 -验证表单字段的ValueToCompare属性,为字符串时会出错的BUG。[fixed] +优化下拉列表。[fixed] -验证下拉列表时,应该取ListItem的Value属性进行验证,而不是Text属性。 -DropDownList的Items增加Insert方法(可方便的下拉列表选项添加“全部”)。 -DropDownList不支持EmptyText属性。 -ListItem启用EnableSelect和SimulateTreeLevel属性,这样就可以直接在前台(ASPX)中设置哪些项不可选择,以及创建模拟下拉树。 -DropDownList增加EnableSimulateTree属性(默认为false),如果设置了DataSimulateTreeLevelField,则自动将EnableSimulateTree设置为true。 +2008-09-27 v1.2 beta4 +EnableLargeHeader属性对所有容器的效果一样,Accordion的属性EnableLargeHeader只会改变Accordion的标题大小,而<em>不会</em>对AccordionPanel起作用(示例见other/accordion_run.aspx)。[fixed] -Accordion去除EnableHightlight属性,AccordionPanel增加EnableHightlight属性。 -影响以前使用Box的应用,需要将Accordion的属性去掉,然后为每个AccordionPanel增加EnableLargeHeader和EnableHightlight属性。 -AccordionPanel鼠标移上去的样式调整(现在没有下面的一条白线了)。[fixed] +AccordionPanel增加Links属性,可以绑定列表数据到AccordionPanel,呈现的是链接的列表(示例在other/accordion_links_run.aspx)。[fixed] -原来放置在AccordionPanel中的容器,比如ContentPanel需要在外层加上<Items>标签。 -适当增大AccordionPanel中链接的高度20px->22px,同时对链接的样式也做了微调。 -通过BodyPadding控制链接列表的边距。 -这样能大大减少ASPX中HTML<em>代码</em>和Javascript<em>代码</em>的书写,可以在后台动态添加链接,效果很赞,此需<em>求</em>由马季提出。 +2008-09-25 v1.2 beta3 +<em>代码</em>优化与设计时支持(尚需要不断完善,目前可以在ASPX页切换到“设计时”,方便属性的更改和事件处理函数的添加)。[fixed] -Panel/GroupPanel/ContentPanel/Tree/HiddenField/PageLoading -TabStrip/Toolbar -TabStrip去除Plain属性,增加EnableTitleBackgroundColor(默认为true)。[fixed] -向Form中动态添加控件的BUG,现在form/form_dynamic_run.aspx示例已经能正确运行。[fixed] +大部分容器的子控件集合更正为Items(以前有些是Rows)。[fixed] -影响的控件包括Toolbar/Accordion/AccordionPanel/GroupPanel/Panel/SimpleForm/Window等。 -保留Form的Rows(FormRowCollection)属性和Grid的Rows属性(GridRowCollection)。 -保留TabStrip的Tabs(TabCollection)属性。 -保留PageLayout/BorderLayout的Regions(RegionCollection)属性。 -预祝今晚神七发射成功。 +2008-09-22 v1.2 beta2 +Grid选中项(SelectedRowIndexArray)在ajax回发过程中存在BUG [feedback:xmzhu]。[fixed] -表现为对Grid进行多次删除添加操作后,SelectedRowIndexArray选中项中会存在当前不存在的行序号,导致服务器端遍历选中项时数组越界。所有使用box控件的应用程序都受到此BUG的影响,需尽快更新到新版本。 +<em>代码</em>优化与设计时支持(示例中表单控件都已支持设计)。[fixed] -PageManager/SimpleForm/Button/HyperLink/Label/Image/LinkButton/TextBox -TriggerBox/TwinTriggerBox/Window/TextArea/HtmlEditor/DatePicker/NumberBox -CheckBox/RadioButton/RadioButtonList/DropDownList -Grid +2008-09-19 v1.2 beta1 -Image/LinkButton/HyperLink增加一些Ajax可更新属性。[fixed] +隐藏的方式由HideMode属性控制Visibility/Offsets/Display。[fixed] -修正Form/SimpleForm中隐藏一个表单字段(Hidden=false)会占据页面空间的BUG。 -ToolbarText/ToolbarFill/ToolbarSeparator在ASPX中设置Hidden=true不起作用的BUG [feedback:jbzhang]。[fixed] -Button去除MarginRight属性(可以通过CssStyle="margin-right:5px;"达到相同的效果)[fixed] +2008-09-09 v1.1 +Toolbar去除IsPageMenu属性,在网报中可以用自定义样式实现,而不应该写在控件中。[fixed] -网报:CssClass="toolbar-pagemenu" CssStyle="border:0px;",同时定义样式:.toolbar-pagemenu{ background: rgb(208, 222, 240) <em>url</em>(../images/pagemenu_toolbar_background.gif) repeat-x left top;}。 -Region去除默认的Layout=Fit,如果希望Region使用Fit/Anchor/Column/Row等布局的话,需要手工指定。[fixed] -ToolbarSeparator/ToolbarFill在Ajax更新Hidden属性的BUG。[fixed] +布局整理。[fixed] -新增Column/Absolute/Row三种布局,加上以前的Container/Fit/Anchor/Accordion/Border/Form六种布局,总共有9中布局可供使用。 -其中一些控件默认使用一种布局:SimpleForm(Form)/Form(Form)/Panel-GroupPanel(Container)/Accordion(Accordion)/PageLayout(Border)/BorderLayout(Border)/TabStrip(Card),所有布局控件默认的布局是Container。 -经常用到的布局控件:SimpleForm/Form/Accordion/TabStrip/BorderLayout,经常用到的布局:Fit/Row/Anchor +2008-09-08 v1.1 beta7 -MenuButton/MenuHyperLink增加HideOnClick属性,如果一个菜单项的作用仅仅为了<em>弹出</em>下级菜单,点击没反应,则可以这样设置HideOnClick="false" CssStyle="cursor:default;" [feedback:huayu]。[fixed] -MenuButton/MenuHyperLink/MenuSeparator/MenuText增加Hidden属性(此属性是Ajax可更新属性,如果需要在Ajax时显示隐藏菜单,请使用此属性而不是Visible属性)。[fixed] +大部分的ExtAspNet控件增加Hidden属性(少数几个控件没有此属性:Menu),这样在Ajax时可以显示隐藏控件。[fixed] -注意Visible和Hidden的区别:Visible=false的属性<em>不会</em>渲染到客户端,Hidden=true的控件渲染到客户端但是隐藏。 -US的ExtAspNet改造强烈依赖于此属性,这个版本发布后可以继续。 -网报中唯一没有用到ExtAspNetAjax的地方就是显示隐藏表单字段,现在也可以使用Ajax了。 +2008-09-04 v1.1 beta6 -PageContext.Redirect支持普通页面转向和ExtAspNetAjax下页面转向。[fixed] +模拟树的下拉列表的BUG(会使一些可选项变成不可选项)[feedback:xmzhu]。[fixed] -因为if("0,2,9,11,".indexOf('1,')>=0){ok},这显然是不对的,此BUG涉及很多控件(Grid,DropDownList,TabStrip)。 -解决方法:testValue += '';if(domValue.split(',').indexOf(testValue) >= 0){ok}。 -DropDownList在Ajax时应该先更新数据再设置选定项 [feedback:xmzhu]。[fixed] -Button/MenuButton增加Ajax可更新属性OnClientClick [feedback:xmzhu]。[fixed] -Tree的Ajax支持(尚需优化)。[fixed] +2008-09-02 v1.1 beta5 -DropDownList如果第一次没有绑定值,应该绑定到[[]](二维数组),而不是[](一维数组)。[fixed] -模拟树的DropDownList,在Ajax重新绑定DataSource后,保持项是否可选状态是最新的(页面第一次加载时,即使没有数据也需要设置DataTextField/DataValueField/DataSimulateTreeLevelField/DataEnableSelectField等属性的值,否则Ajax回发时会出错)。[fixed] -UserControlConnector导致的Ajax错误,去除UpdatePanelConnector控件(以后<em>不会</em>用AspnetAjax,这个控件已经完成使命)。[fixed] -不要使用Asp.net的控件HiddenField,而是使用ExtAspNet的HiddenField,因为Asp.net的控件在Ajax<em>不会</em>被更新,所以会导致视图状态不一致的错误。[fixed] -网报Ajax整合基本完成(除了待审批->下一步[审核/归档/出纳]操作,由于需要显示隐藏表单字段,目前Ajax不支持,使用的还是普通的PostBack)。[fixed] -IE下,RadioButtonList中项如果存在汉字,则会换行的BUG。[fixed] -增加两个Theme[Slate/Black](样式尚需完善)。[fixed] +2008-09-01 v1.1 beta4 -非当前Tab中如果有ContentPanel,则在页面上方会有空白(可以通过设置EnableDeferredRender=false解决,但会减慢页面的加载速度),现在已经解决这个问题。[fixed] -RadioButtonList去除EnableBackgroundColor/EnableLightBackgroundColor属性,背景色是透明的,也就是和父控件(SimpleForm/Form)的背景色一致。[fixed] -TwinTriggerBox的第一个Trigger图标<em>不会</em>先显示再隐藏,而是直接隐藏掉(如果用户设置ShowTrigger1=false)。[fixed] -Web.config中增加配置项FormLabelWidth="80"(默认为80),同时PageManager增加FormLabelWidth属性用来控制页面上所有SimpleForm/Form的表单字段标题的宽度。[fixed] +完善Ajax。[fixed] -RadioButtonList增加Ajax可更新属性SelectedIndex(SelectedValue/SelectedItem)。 -DropDownList增加Ajax可更新属性Enable/SelectedIndex(SelectedValue/SelectedItem)/DataSource。 -Grid增加Ajax可更新属性Columns(也就是说Grid列在回发时隐藏显示了一些,也能正确的Ajax)。 -ToolbarText增加Ajax可更新属性Text。 +2008-08-31 v1.1 beta3 -TabStrip增加EnableDeferredRender属性(是否启用延迟加载Tab,默认启用)。[fixed] -重定向页面,使用系统的方法 PageContext.Redirect(string <em>url</em>),使用Response.Redirect方法会出错。[fixed] +安全的Ajax设计。[fixed] -这个版本Ajax和上个版本(v1.1beta1)在设计思路上有很大区别,同时在速度上会有进一步的提升。 -基本思想:安全的Ajax交互,明确Ajax回发时支持控件哪些属性的改变,这将适合90%的应用场景(并且具有极快的反应速度),对于需要UI大改动的可采用常规回发,系统<em>提供</em>控件级别的EnableAjax属性。 -整理支持Ajax的控件属性改变列表(所有被支持的属性改变都是安全的、快速的,所有不被支持的属性改变<em>不会</em>对UI起作用,同时是安全的,<em>不会</em>有<em>js</em>错误)。 -网报Ajax整合(目前只支持所有的列表页面)(v0.8.1)。[fixed] +2008-08-29 v1.1 beta1 +Window控件是否<em>弹出</em>的状态在回发时维持。[fixed] -控件设计的一个原则,凡是可以在客户端改变的属性都应该在回发时保持属性的状态。 +完全抛弃Asp.NetAjax,ExtAspNet控件内置Ajax支持。[fixed] -这是一个值得骄傲的设计,可以明显提高页面回发的速度(相比普通的回发和Asp.netAjax的回发),对于IFrame框架的交互也起到很好的加速效果。 -不需要做任何配置,所有的回发都是Ajax(在Web.config和PageManager中有设置启用Ajax回发的属性-EnableAjax-默认为true)。 +在这种设计下,其实可以完全抛弃Javascript。 -比如简单的点击一个按钮<em>弹出</em>窗口,可以在Button的OnClick事件中设置Window1.Popup=true,也可以注册Button的OnClientClick=Window1.GetShowReference()。 -第一种方法需要回发,但是我们内置的Ajax支持能很快的返回需要的结果并解析,在网络速度很快的情况下和第二种方法差别不是很大。 -推荐的做法是尽量用客户端实现,客户端实现复杂的直接用服务器端实现。 +目前ExtAspNetAjax的限制。 -只对ExtAspNet控件起作用,对Asp.net控件不起作用。 -对容器控件(有子控件的控件)不起作用,只对最底层的控件起作用。 -对改变控件的Visible属性会有错误。 -Window控件的属性改变只有少数几个起作用(Popup,IFrame<em>Url</em>)。 -PageManager增加属性EnablePageLoading和EnableAjaxLoading(启用页面第一次加载标示和Ajax加载标示,默认都为true),所以如果使用系统默认的加载标示就不必每个页面都添加PageLoading控件。[fixed] -Grid中的回发事件(主要是LinkButtonField和CheckBoxField(RenderAsStaticField=false))要延迟0ms执行,这样当前行被选中的状态在回发后会得到保持。[fixed] -Grid选中行的状态在第一次回发时不能保持的BUG。[fixed] +2008-08-26 v1.0 +已知问题:IE的ActiveX插件IE Developer Toolbar会对IFrame的加载造成0.5m左右的延迟。 -主要是父页面加载一个比较大的css文件(~100k),则每次打开iframe页面,onload事件的调用都会有500ms左右的延迟,在测试IE性能时要禁用此插件。 +优化<em>弹出</em>窗口中IFrame的显示速度。[fixed] -在当前页面<em>弹出</em>窗口需要~20ms,在父页面<em>弹出</em>窗口需要100~300ms。通过缓存<em>弹出</em>的窗口实例,从而第二次<em>弹出</em>窗口不再需要创建时间。 -PageLayout的Region增加SplitColor属性,默认的背景色是透明的。(在网报中需要设置SplitColor="#CADDF7",以便分隔符的颜色和Toolbar的颜色一致)[fixed] +PageManager增加属性Theme、Language、FormMessageTarget、FormOffsetRight等属性,这些属性可以在Web.config中设置(推荐方法),也可以为每个页面设置。[fixed] -一个典型的应用是为每个用户设置不同的皮肤(根据用户浏览器中Cookie设置的值)(示例在default.aspx)。 -TreeNode增加属性SingleClickExpand,表示点击可切换节点的折叠展开状态。[fixed] +TabStrip中非当前Tab会延迟渲染。[fixed] -这会明显加快页面的渲染速度,网报中一个典型的费用审批页面可以减少200ms的渲染时间。 -由于非当前Tab<em>不会</em>在页面加载时渲染,所以那些Tab中的节点在页面加载后也是不可见的,需要将相关的脚本移动到控件的render事件中。 -不能比较两个DataPicker大小的BUG。[fixed] -TabStrip延迟加载引起的BUG(非当前Tab中的ContentPanel会占据页面空间,已修正)。[fixed] -全新的ExtAspNet.Examples(基础知识/表单控件/数据绑定/容器布局/IFrame框架)。[fixed] +2008-08-19 v0.4 beta6 +PageManager增加两个属性(EnableInlineStyleJavascript/ApplyParentStyleJavascript),可以在IFrame页面中使用父页面的脚本和样式(示例在iframe/default.aspx和iframe/page3.aspx)。[fixed] -测试发现,IFrame页面的加载速度并没有明显加快,可以先不使用此属性。 -RadioButtonList放在在BorderLayout中显示不了的BUG [feedback:zgjiang2]。[fixed] +ext<em>js</em>的BUG,当页面中含有iframe时,Ext.onReady会被调用两次(IE6/IE7)(http://www.ext<em>js</em>.net/forum/showthread.php?t=43246)(示例在test.aspx)[fixed] -现在的解决方法是在初始化时:if(this.initialized){return;}this.initialized=true; +需要先回发页面再<em>弹出</em>IFrame窗口。[fixed] -在回发时设置窗口的Popup和IFrame<em>Url</em>属性,因为这些属性是可以保持状态的,所以在关闭窗口时要注意设置Popup=false。 -另一种做法(推荐):PageContext.RegisterStartupScript(Window99.GetShowReference("./simpleform.aspx"));。 +2008-08-15 v0.4 beta5 -点击关闭窗口的按钮,在IE6下会有<em>JS</em>错误。[fixed] -增加BorderLayout控件,示例在iframe/borderlayout.aspx。[fixed] +Radiobuttonlist显示有重影(示例在radio.aspx)。[fixed] -全新的样式。 -去除Horizontal属性,增加ColumnNumber(可以设置渲染成几列)。 -GetValueReference取得的值不正确的BUG。 -动态向Form中添加FormRow,并动态的向FormRow中添加表单字段,以及如何取得表单字段的值。(示例在form_dynamic.aspx)[fixed] +IFrame<em>弹出</em>窗口关闭后回发父页面,则会多加载IFrame一次,再次打开窗口会重复加载IFrame2-3次[feedback:xmzhu]。[fixed] -这是一个重要的BUG,会严重影响页面的加载速度。原因是通过脚本改变的IFrame<em>Url</em>会在回发时保持状态,从而回发父页面后Window中的IFrame被添加到页面,而这是不需要的。 -现在"是否<em>弹出</em>窗口、窗口标题、IFrame<em>Url</em>"在客户端的改变,<em>不会</em>影响服务器端的属性,也即是不保持状态。此问题解决。(示例在button_iframe.aspx) +2008-08-13 v0.4 beta4 -点击关闭窗口的按钮,在IE下会有<em>JS</em>错误。[fixed] -Window的右上角关闭图标增加提示,优化事件响应。[fixed] -Window的<em>代码</em>重构。[fixed] +修正一个的内存泄漏。[fixed] -IE7下测试,打开iframe/default.aspx页面,iexplorer占内存68.368M。 -内存存在泄漏时,点击iframe/page3.aspx页面8次后iexplorer占118.792M内存。 -修正后,点击iframe/page3.aspx页面8次后iexplorer占76.492M内存。 -IE窗口最小化时,IE会自动进行垃圾回收。 +2008-08-12 v0.4 beta3 -底层的javascript框架Ext<em>js</em>升级为v2.2,Grid的渲染速度有很大提升。[fixed] -Grid的EnableDelayRender默认为true(如果没有设置Grid的高度或通过布局间接设置高度,则行不可见,可以通过AutoHeight="true"解决)。[fixed] +页面正在加载的提示尽早的显示出来。[fixed] -首先在执行<em>js</em>来完成页面渲染之前延迟5ms,以便浏览器把当前页面<em>内容</em>显示出来。 -加载<em>js</em>脚本的script标签放置在页面的最后,放置加载<em>js</em>而阻塞PageLoading的显示。 +2008-08-08 v0.4 beta2 -TabStrip延时加载出错。[fixed] -Window的IFrame<em>Url</em>处理的BUG,比如Pages_ExtAspNet目录下的页面应该为./FE_ApplyEditor.aspx或~/Pages_ExtAspNet/FE_ApplyEditor.aspx。[fixed] -Window的WindowPosition="Center"并且Target="_parent",则会<em>JS</em>错误。[fixed] -实现网报首页下拉菜单和左侧菜单的导航功能。[fixed] -Window的创建在页面显示后进行,不计算在<em>js</em>渲染时间内。[fixed] -优化费用申请页面(尽量减少不必要的层次嵌套)。[fixed] -button_iframe.aspx默认会加载form.aspx页面(Window控件的BUG)。[fixed] -Window中的保存并关闭按钮和Asp.netAjax冲突。[fixed] -优化关闭Window的<em>js</em>脚本,减少写到页面的<em>js</em>大小。[fixed] -加快“保存并关闭”按钮关闭窗口的速度,使用PageContext.RegisterExclusiveScript(CurrentActiveWindow.GetClosePostBackReference());,示例在(simpleform.aspx)。[fixed] +2008-08-05 v0.4 beta1 -DropDownList去除Traditional属性,和传统的Asp.net控件一样不可编辑。[fixed] -DropDownList增加SelectedText属性(去除了模拟树时通过SelectedItem.Text的多余html字符)。[fixed] -为了加快渲染速度,去掉一些特效(比如Panel的折叠效果,Grid的拖动列效果等)[feedback:dcding]。[fixed] -将生成的<em>js</em>对象的名称简单化,这样可以减少生成的<em>js</em><em>内容</em>,加快页面加载速度(一个典型页面的<em>js</em>由原来的33.0k降低为21.4k)。[fixed] +<em>弹出</em>窗口中,点击按钮回发然后点击关闭按钮,出现<em>js</em>错误 [feedback:xmzhu]。[fixed] -因为在页面的Page_Load中,if (!IsPostBack){PageContext.RegisterPageStateChangedStartupScript();}通过这样方法向页面注册了一段脚本,但是这段脚本在回发时没有注册到页面,因为<em>js</em>调用此脚本时报错。 -一种解决方法是将向页面注册脚本的函数移动到if语句的外面,即每次都向页面注册此脚本。 -另一种办法就是在PageManager控件中增加RegisterPageStateChangedScript(向页面注册监视页面中表单<em>内容</em>改变的脚本)的属性(会在每次页面回发(包含ajax回发)时注册脚本)(示例在button_iframe.aspx/simpleform.aspx)。 +PageManager控件增加ExecuteOnReadyWhenPostBack属性(示例在onreadyscript.aspx)。[fixed] -这个手工添加onReady函数能够在每次页面回发时都注册脚本(包括Ajax局部回发),这就避免了手工去做的麻烦(已经在网报中遇到这种情况)。 -每个页面必须添加一个PageManager控件,否则会出错,同时去除DesignTimeStyle控件(作为PageManager的属性出现)。[fixed] -TextField等表单字段增加Readonly属性。[fixed] +全新设计的IFrame的架构(尽可能和基于MasterPage的架构保持兼容,和Asp.net Ajax保持兼容)。[fixed] -最大的好处是可以减少页面下载完毕后Javascript渲染时间(可以节约一般的渲染时间)。(所有示例在iframe文件夹下) +示例1,通过点击按钮<em>弹出</em>IFrame窗口,可直接关闭父页面,也可在关闭后刷新或回发父页面。(default.aspx/page2.aspx/simpleform.aspx) -虽然IFrame和Master两种架构差异迥然,或许你以为需要修改一堆<em>代码</em>来完成这种转换,起初我也是这么认为的,但是现在你所要做的仅仅是为Window控件增加一个属性(Target="_parent"),就完成了两种框架的转换,是不是很酷。 -显然,控件本身封装了大量的<em>代码</em>,简单来看现在有三个页面(default.aspx(A)/page2.aspx(B)/simpleform.aspx(C)),其中A包含B页面,当你在B中打开包含有页面C的窗口时,窗口不是在B中打开,而是在A中打开,这样才能保证窗口覆盖整个页面,当你从C中返回需要回发页面B时,却发现取得的是A页面,因为我们窗口是在A页面中创建的。我会通过一篇文章来揭示这一过程,敬请期待。 -示例2,Grid中<em>弹出</em>窗口。(default.aspx/page3.aspx/simpleform.aspx) +示例3,TriggerBox<em>弹出</em>窗口。(default.aspx/triggerbox.aspx/simpleform.aspx) -在整个页面<em>弹出</em>窗口或者在当前页面<em>弹出</em>窗口,仅仅设置Window的Target属性即可。 -示例4,<em>弹出</em>窗口中的<em>弹出</em>窗口。 -对整个Examples更新测试。[fixed] +2008-07-31 v0.3 beta12 -IE下TabStrip在Ajax回发后<em>不会</em>去掉x-hide-display样式,导致Tab显示为空的BUG。[fixed] -对TabStrip/Panel/Window中的IFrame重新设计,如果设置IFrame<em>Url</em>="#"或者"about:blank",则不渲染iframe到页面节点,同时第二次打开Window中的IFrame<em>不会</em>有残影出现。[fixed] -如果TabStrip的Tab不是激活Tab并且设置了IFrame<em>Url</em>,则会延迟加载(示例在tabstrip_iframe.aspx)。[fixed] -Tree控件,点击一个节点自动回发,则当前点击的那个节点的选中状态<em>不会</em>保持的BUG [feedback:zgjiang2]。[fixed] +规范关闭窗口时提示用户保存已经修改的<em>内容</em>提示的调用方式(包含iframe中关闭按钮和window右上角关闭图标的调用方式)(示例在grid_iframe.aspx/simpleform.aspx)。[fixed] -内部实现上,点击“保存并关闭按钮”,可以将关闭窗口的脚本更早的执行(在simpleform.aspx,PageContext.RegisterStartupScript增加重载函数),而不是原来的先创建整个页面UI,再关闭窗口。 -参照Yslow的评分规则,将<em>JS</em>文件引用由head移动到body中。[fixed] -Firefox下,如果页面太长会出滚动条,原来在ViewPort样式中有body{overflow:hidden;}。[fixed] +IFrame内的页面宽度和高度会自动设置(是不是还在为1px/2px的白边而烦恼,现在不用了:-)(示例在iframe_autosize.aspx/simpleform.aspx/simpleform2.aspx)[fixed] -增加PageManager控件(需要指定AutoSizePanelID,即需要设置宽度和高度为整个页面的宽度和高度的Panel),HideScrollbar属性用于隐藏滚动条(IE/Firefox)。 +2008-07-24 v0.3 beta11 -web.config配置信息中MessageTarget改名为FormMessageTarget,增加FormOffsetRight配置项,用来定义全局表单字段距离右边界的宽度,同时每个表单字段都增加OffsetRight属性 [feedback:jima]。[fixed] -Window在回发时设置的Title不起作用的BUG。[fixed] -增加Image控件 [feedback:jima]。[fixed] -Tree控件,如果一个节点不是叶子节点并且没有子节点,则应把它的Expanded设置为false,否则会引起页面死循环回发 [feedback:zgjiang2]。[fixed] -Image增加ToolTipTitle/ToolTipAutoHide两个属性,当提示信息特别长时,可以让用户阅读完毕之后手工关闭提示信息(示例在hyperlink.aspx)。[fixed] -去掉DropDownList控件的Text属性(强制性),可以通过设置SelectedValue来设置选中哪一项 [feedback:xmzhu]。[fixed] -过滤提示消息中的换行符(转换为<br/>),否则提示信息可能导致页面渲染错误 [feedback:dcding]。[fixed] +2008-07-23 v0.3 beta10 +完善Tree控件。[fixed] -如何将数据库中的数据绑定到Tree(示例在tree2_bind_database.aspx)。 -ajax加载树节点,放在UpdatePanel中才有ajax的效果(示例在tree2_ajax.aspx)。 -更改TreeNode的ID为NodeId,否则两个树中不能有相同ID的TreeNode,这是不合理的。 -Grid的GridColumn的ID改名成ColumnId,否则同一个页面放置两个Grid,它们的GridColumn的ID不能同名,这是不合理的。注意需要更新以前的<em>代码</em>![fixed] -Grid所有类型的列增加DataTooltipField/DataTooltipFormatString两个字段,以显示ToolTip(示例在grid.aspx)。[fixed] +2008-07-22 v0.3 beta9 +IE6下,左侧导航链接的选中样式,以及鼠标移上去和移开的样式不对。[fixed] -发现原来ie6不能正确解析li的高度,必须手工设置才行(style="height:20px;")。 +IE6/IE7下,模拟树的下拉列表如果文字长度太长,则显示的文字会换行,导致错位。[fixed] -虽然最后未能解决<div style="width: 60px; white-space: nowrap; overflow: hidden; border: solid 1px red;"><div style="width: 16px; height: 18px; float: left;">##</div>差旅交通费</div>在IE和Firefox下显示的不同效果。 -但是通过用<img src="##" />来代替<div style="background:<em>url</em>(##)" />,从而实现FF和IE下样式的统一。 -刚看到old9的解决方案:把“差旅交通费”改成“<span style="margin-right: -1000px;">差旅交通费</span>”,在IE下和FF下的都不换行,:-) -LinkButton增加OnClick事件 [feedback:huihuang]。[fixed] -Window通过设置IFrame<em>Url</em>和Popup不起作用的BUG。[feedback:xmzhu]。[fixed] +增加树控件(Tree)(示例在tree2.aspx)。[fixed] -可以在回发时维持树的状态(选中行,折叠/展开,CheckBox)。 -可以通过Inline的方式添加树节点,也可以绑定到XmlDocument/XmlDataSource/SiteMap。 -点击树节点可以链接到页面,也可以引发PostBack事件,可以添加自定义脚本。 +2008-07-16 v0.3 beta8 +ContentPanel中放置ExtAspNet控件,则渲染时会出现各种问题,比如下拉列表显示样式出错,Grid没了滚动条等等。[fixed] -隐蔽性非常强,原来在ContentPanel中渲染ExtAspNet控件,如果容器的display='none',则会出现各种问题(主要是大小不对)。 必须设置容器为visibility='hidden',然后在渲染完成后显示容器。 -现在Grid只要显示的设置高度和宽度,或者隐式的设定宽度高度(通过Anchor或Fit布局实现),只要超过Grid容器就会显示滚动条。 +IE6下,在应用Asp.NetAjax后,Form中字段的宽度渲染不正确。[fixed] -调试相当困难,如果你有过在IE下通过alert发现问题的经历,你就能明白。 -最后发现IE6下应用Asp.NetAjax后不仅Form中列的宽度设置不正确,而且主<em>内容</em>区域的宽度设置也不正确,不过最终我们还是顽强的修复了IE6下的这个BUG: 在MasterPage的onReady函数中,首先修正<em>内容</em>区域的宽度(region3.setWidth(pageLayout1.getSize().width - region2.getSize().width - 5);region3.doLayout();),然后修正页面中所有表单的宽度(box_fixFormWidthInIE6();): 示例在 Site.Master 页面。 +集成的AspNetAjax有一个很大的BUG,只要你在页面上进行过ajax操作,当改变窗口大小时你会惊讶的发现<em>内容</em>区域的<em>内容</em>全部为空了![fixed] -解决方法相当怪异,经过一个下午的不断尝试,终于用一个怪异的方法解决(box.{0}.setSize(box.{0}.getSize());box.{0}.doLayout();), 这样的<em>代码</em>让我想起刷新窗口时那个方法(window.location.href=window.location.href;),不管怎么说,我对能很好的解决这个重大的BUG很是欣喜。 +2008-07-14 v0.3 beta6 -增加FlashObject控件。[fixed] -PageLoading增加EnableFadeOut属性(默认false),可以启用淡出效果。[fixed] -Accordion选中样式微调。[fixed] -预加载Form表单出错时提示信息的背景图片。[fixed] +Grid增加EnableDelayRender属性(默认false),可以加快页面的渲染速度(一个典型的20个记录的页面,可提前0.7s-1s显示出来)。[fixed] -因为延迟加载数据<em>不会</em>改变Grid的大小,所以对于非布局内或不设定高度宽度的Grid,需要设置"EnableDelayRender=false"。 -改变Grid中静态的CheckBoxField图片。[fixed] -TabStrip增加TabIndexChanged事件,同时Tab增加EnablePostBack,可以在点击一个Tab时引起回发事件。这在延迟加载Tab的<em>内容</em>非常有用。(示例在tabstrip.aspx)[fixed] +2008-07-12 v0.3 beta5 -页面菜单Toolbar的分割符和背景不相融合。[fixed] -表单字段之间可以比较大小,比如NumberBox可以和Label比较大小,同时增加CompareType,来指定比较的类型(示例在form_compare.aspx)。[fixed] -如果是同种类型的表单字段,不需要指定CompareType,比如两个NumberBox比较值的大小不需要指定CompareType,而一个NumberBox和TextBox比较大小需要指定CompareType。 +如果在编辑页面使用AspNetAjax,则不能在回发时关闭当前窗口[feedback:huihuang](示例在ajax_editor_main.aspx/ajax_editor.aspx)。[fixed] -这是由于ajax后执行的javascript中不能有return false语句。 +在文本框失去焦点时,执行一些Javascript脚本(示例在textbox_blur.aspx) [feedback:xmzhu]。[fixed] -在页面添加onReady函数(会被系统调用),然后用javascript监视文本框值的改变。 -<em>弹出</em>Window默认显示的错误页面,解决方法在当前目录添加一个空的html页面,然后把Window控件的IFrame<em>Url</em>指向这个页面而不是"#"。[fixed] +<em>弹出</em>的窗口中的<em>弹出</em>窗口的如果<em>内容</em>发生变化,则点击右上角的关闭按钮时会有提示用户先保存的<em>对话框</em>,但是这个<em>对话框</em>的被第二个<em>弹出</em>窗口覆盖了 [feedback:xmzhu]。[fixed] -原来的调用方法太麻烦(见示例中alert\alert_1.aspx和alert\alert_2.aspx,总计 6 行<em>代码</em>),现在只需要 3 行<em>代码</em>就OK了。 -点击提交按钮后变成灰色不可再次点击(示例在button_click_gray.aspx)[feedback:jima]。[fixed] +增加Menu、MenuText、MenuSeparator、MenuButton、MenuHyperLink控件,用于按钮的下拉菜单(示例在button_menu.aspx)。[fixed] -增加SplitButton控件。[fixed] +2008-07-09 v0.3 beta4 -DataPicker默认的日期格式为(yyyy-MM-dd)。[fixed] +Form表单字段(TextBox,DropDownList...)之间可以比较大小 [feedback:huihuang]。[fixed] -增加ControlToCompare/ValueToCompare/CompareOperator/CompareMessage四个属性,示例在form_compare.aspx。 +TabStrip中放置IFrame会出现渲染错误 (示例在tabstrip_iframe.aspx)[feedback:jima]。[fixed] -特殊处理,拥有IFrame的Tab如果不是激活Tab,则不设置<em>Url</em>,只有在激活时才设置<em>Url</em>。 -RadioButtonList增加AutoPostBack属性(示例在radio.aspx) [feedback:xmzhu]。[fixed] -FormRow可以设置各列的宽度百分比 (示例在form_columnwidths.aspx)[feedback:jima]。[fixed] +表单字段Enable=false时显示颜色太浅 [feedback:jima]。[fixed] -覆盖缺省样式的.x-item-disabled,设置不透明。 +2008-07-08 v0.3 beta3 -Grid没有数据,向后翻页按钮可以点击的BUG [feedback:huihuang]。[fixed] +增加HiddenField控件。[fixed] -其实用TextBox也能模拟HiddenField的行为,只需要设置CssStyle="display:none;"即可。 +TriggerBox 如果 EnableTextBox = true,则不能将Text回发(这是html的限制)。[fixed] -最后的解决方案居然是设置 readonly=true,同时更改属性为 Readonly(示例在textbox2.aspx)。 -模拟树的下拉列表在失去焦点后显示的文字不对的BUG。[fixed] +控制下拉列表某些项不可以选择(示例在dropdownlist2.aspx)。[fixed] -增加 DataEnableSelectField 属性,不可选择的项变灰,并且鼠标经过时没有样式。 -LinkButton和Grid的LinkButtonField增加Enable属性(示例在hyperlink.aspx和grid.aspx)。[fixed] +2008-07-07 v0.3 beta2 +增加UpdatePanelConnector控件,支持在布局构建的页面使用Asp.net Ajax。[fixed] -使用UpdatePanelConnector有一个要<em>求</em>:ContentTemplate下只能有一个子节点,比如box:Panel。 -示例在ajax3.aspx/content_page4.aspx。 -示例content_page3.aspx中,点击“Ajax查询”按钮和关闭<em>弹出</em>的窗口(点击右上角的叉)都引发异步更新。 +2008-07-03 v0.3 beta1 +容器控件的AutoHeight/AutoWidth默认为false。[fixed] -使用GroupPanel的地方需要手工添加AutoHeight="true"属性。 +增加UserControlConnector,可以在其中放置用户控件(示例在page_usercontrol.aspx)。[fixed] -也可以在ContentPanel中放置用户控件,注意两者的区别。 +增加ContentPlaceHolderConnector,替换原来Region的ContentPlaceHolderId属性(示例在Site.master)。[fixed] +支持Asp.net ajax异步加载。[fixed] -有很大局限性,只能在ContentPanel中使用,示例在ajax1.aspx/content_ajax2.aspx中。 -对于使用布局构建的页面(比如content_page1.aspx)还不能使用Asp.net ajax,因为页面是整体渲染的,先放弃。 +2008-07-02 v0.2 beta12 +关闭前提示当前页面已经被修改(示例在content_page1.aspx/simpleform.aspx)[fixed] -支持Iframe内按钮和window右上角关闭按钮。 -删除CloseAction属性,可以在后台通过OnClientCloseButtonClick属性指定(为了和iframe中做法一致)。 +iframe中的alert/confirm要覆盖整个父页面,而不仅仅是iframe页面。[fixed] -在Firefox下还有问题。[fix pending] +排序时在标题栏显示排序箭头,可以排序的列标题光标为手形(示例在grid_sorting.aspx)。[fixed] -可以通过设置Grid1.CurrentSortColumnIndex = 0;来强制某列显示排序箭头。 -可以通过 Grid1.Columns[Grid1.CurrentSortColumnIndex].SortExpression 的方式取得当前Grid的排序表达式。 +HyperLinkField/WindowField的链接地址支持服务器端格式(即是~/alert.aspx)。[fixed] -TabStrip的Tab中如果放置ContentPanel,则<em>内容</em>渲染位置不正确。[fixed] -可以在ContentPanel中放置用户控件(示例在page_usercontrol.aspx)。[fixed] +2008-06-30 v0.2 beta11 -增加TwinTriggerBox控件(示例在twintriggerbox.aspx)。[fixed] -Grid的数据库分页需要增加属性IsDatabasePaging=true,以便普通分页和数据库分页,否则在添加删除记录时总记录数<em>不会</em>变化 [feedback:zgjiang2]。[fixed] -关闭Window时PostBack事件OnClose可以指定参数,来区分是哪些操作引发的PostBack事件 [feedback:zgjiang2](示例在window_postback.aspx)。[fixed] -如果表单验证不通过,则需要<em>弹出</em><em>对话框</em>提示(第一个没通过验证的字段)(目前还不能切换到相应的tab)。[fixed] +页面中任意可输入表单字段发生变化,可提示先保存。(示例在content_page1.aspx/simpleform.aspx)[fixed] -目前还不支持Window右上角关闭按钮的提示保存功能。 -Master/Content的<em>内容</em>页中Grid的Sort事件不起作用的BUG [feedback:zgjiang2]。[fixed] -Grid中的LinkButtonField设置ConfirmText会出错 [feedback:huihuang]。[fixed] -增加静态类Confirm。[fixed] +2008-06-27 v0.2 beta10 +Grid完善。[fixed] -CheckBoxField在回发时不能保持状态的BUG (已经更新了grid_checkboxfield.aspx示例)。 -Grid中模拟树显示,GridColumn增加DataSimulateTreeLevelField属性(一个Grid只能有一个Column指定此属性),指定此列模拟树显示时的层次字段(0,1,2,...)(示例在grid_simulate_tree.aspx)。 -切换分页时清空选中的值 [feedback:jqpeng]。 -增加PreRowDataBound事件,可以在数据绑定之前设置某列的属性 [feedback:xmzhu] (示例在grid_prerowdatabound.aspx)。 -DropDownList模拟树的方式显示,增加DataSimulateTreeLevelField属性,使用方法和Grid的类似(示例在dropdownlist_simulate_tree.aspx)。 +2008-06-25 v0.2 beta9 +Window窗体中的Iframe只让<em>内容</em>区域滚动,而Toolbar不滚动的规则。(示例在content_page2.aspx/simpleform.aspx)[fixed] -在simpleform.aspx中:Panel[BodyPadding=5](Toolbar,Panel[Height=450 Layout=Fit](SimpleForm[AutoScroll=true])),则外面窗口的高度=450 + 5*2 + 26 + 32,其中26是Toolbar的高度,32是窗口的标题栏和下边框的高度。 +关闭Iframe的LoadMask,所以需要Iframe页面添加PageLoading控件,这样效果统一。[fixed] +Grid完善。 -去除EnableClientPaging和EnableClientSort属性,客户端排序和客户端分页在ASP.NET应用中会有很多问题(主要是状态保持的问题)。 +EnableServerSort改名AllowSorting。(示例在grid_sorting.aspx) -使用非常简单:设置AllowSorting=true,注册OnSort事件,在事件处理函数中重新绑定数据。 +增加AllowPaging属性。(示例在grid_paging.aspx) -使用非常简单:设置AllowPaging=true,PageSize=3,注册OnPageIndexChange事件,在事件处理函数中Grid1.PageIndex = e.NewPageIndex;OK。 +数据库分页支持。(示例在grid_database_paging.aspx) -使用也非常简单:设置AllowPaging=true,PageSize=3,在绑定时设置RecordCount为总的记录数,在OnPageIndexChange事件处理函数中Grid1.PageIn</a></div><div data-report-view="{"mod":"popu_645","index":"2","dest":"https://download.csdn.net/download/wode2600/2726130","strategy":"2~default~OPENSEARCH~Rate","extra":"{\"utm_medium\":\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-2-2726130-bbs-391813052.264^v3^pc_relevant_bbs_down_v2_default\",\"dist_request_id\":\"1772778361179_74962\"}","spm":"1035.2023.3001.6557"}" class="list-item" data-v-ca2d15ac><div class="recommend-title" data-v-ca2d15ac><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAltJREFUWEdjZGBgYGhv/yD45//nEEYGBrX//xj4QWK0AoxMDB//MzDcYmHkXVNZKfCeEWz5v8/1DP8ZuGhlKVZzGRm+sTDxNjI2tz1OZfjHYEpXy2GWMTGcZmxpe9xN62DH5TlQdDA2tzyeNSC+h1o66gCyQyApUdRNSIhNGBSS7979ejtv/utd5EQl2Q7IypT0ExJiFoc44O/LadOfbxp1wPAOAWlpdr5Pn//8/Pzp70+QT3GlAX5+ZnYeHhb2p09/fiImRIhOhBYWvIo21ryWu/Z8PHDp4tdn2BxgoM8l4+IiYH/k6OdjJ058vk91B7g487swMDD8v3Hj+2VJSTYpfn5mEZAlHz/9ffPq5e+Xqqoc2iD+nr0f99DSAQQ9RhMHcHAwsYSGCtvKy7Gr4HPBo0c/b69c/fbwzx///hJ0KQMDA9FpAGaYizO/tpkZjwUTEyMTsgX//v3/d/LUl+N79368RozFMDUkOwCkUUODU8zHW9CFg4OJG8T/8ePf181b3u25efPHK1IsB6nF6gAjY25ZEWFWcNPs169/fw4c+HQD3WBBIRaOsBAhZ5D4qjXv9r5/9+cHuhoHBz4NNjYmFpD4m7e/P547+/UxuhqsDoiPE3WWlWVXgvju/5ee3qfLsfmMiZmBEST+7y/Df2zyJcXSkRwcjDwgucePf95buOj1Xqo6gFBwDw8H/P/P8O/nz//fCPkWmzw7OyMXIyMDOLeQHQXkWIxNz9BygJubgI6kBCu4tUMt8PzF75e7dn24QlQuoJalxJgzCDomA901G/DOKSieBrJ7DgCPdYFAskV/NwAAAABJRU5ErkJggg==" alt data-v-ca2d15ac> <a target="_blank" href="https://download.csdn.net/download/wode2600/2726130" data-report-click="{"mod":"popu_645","index":"2","dest":"https://download.csdn.net/download/wode2600/2726130","strategy":"2~default~OPENSEARCH~Rate","extra":"{\"utm_medium\":\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-2-2726130-bbs-391813052.264^v3^pc_relevant_bbs_down_v2_default\",\"dist_request_id\":\"1772778361179_74962\"}","spm":"1035.2023.3001.6557"}" data-report-query="spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-2-2726130-bbs-391813052.264^v3^pc_relevant_bbs_down_v2_default&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-2-2726130-bbs-391813052.264^v3^pc_relevant_bbs_down_v2_default" class="title" data-v-ca2d15ac>ExtAspNet_v2.3.2_dll</a></div> <a target="_blank" href="https://download.csdn.net/download/wode2600/2726130" data-report-click="{"mod":"popu_645","index":"2","dest":"https://download.csdn.net/download/wode2600/2726130","strategy":"2~default~OPENSEARCH~Rate","extra":"{\"utm_medium\":\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-2-2726130-bbs-391813052.264^v3^pc_relevant_bbs_down_v2_default\",\"dist_request_id\":\"1772778361179_74962\"}","spm":"1035.2023.3001.6557"}" data-report-query="spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-2-2726130-bbs-391813052.264^v3^pc_relevant_bbs_down_v2_default&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-2-2726130-bbs-391813052.264^v3^pc_relevant_bbs_down_v2_default" class="desc" data-v-ca2d15ac>ExtAspNet - Ext<em>JS</em> based ASP.NET Controls with Full AJAX Support ExtAspNet是一组专业的Asp.net控件库,拥有原生的AJAX支持和丰富的UI效果, 目标是创建没有ViewState,没有JavaScript,没有CSS,没有UpdatePanel,没有WebServices的Web应用程序。 支持的浏览器: IE 7.0+, Firefox 3.0+, Chrome 2.0+, Opera 9.5+, Safari 3.0+ 注:ExtAspNet基于一些开源的程序Ext<em>JS</em>, HtmlAgilityPack, Nii.<em>JS</em>ON, YUICompressor。 示例: http://extasp.net/ 开源: http://extaspnet.codeplex.com/ 博客: http://sanshi.cnblogs.com/ 邮箱: sanshi.ustc@gmail.com 发布历史: +2010-09-29 v2.3.2 -不绑定任何数据到Grid时,确保页面<em>不会</em>出错。 -修正了Grid列属性DataFormatString的一个bug,比如设置{0:yy-MM-dd HH:mm}时没有效果。 -修正下拉列表控件不能绑定DataTable的BUG(feedback:RedOcean)。 -增加土耳其语言资料文件(feedback:abdullaharslan)。 -Grid的BoundField增加NullDisplayText属性,用于处理数据库中的null值,如果没有设置则默认为空字符串。 -修正DatePicker中的一个bug(31/01/2010将会返回NULL)使用DateFormatString来生成SelectedDate属性(feedback:OktaEndy)。 -修正ext<em>js</em>最新版本(v3.2.2)中的一个bug,如果下拉列表中存在两个相同的Text,则SelectedValue返回值永远是第一个Text的值(feedback:ben.zhou)。 -应用补丁#6593, #6621(feedback:vbelyaev)。 +修正IE7下Grid分页速度慢(feedback:youwei, StevenGuan, hazardvn, gavindou, ttjacky)。 -实际上IE7下所以的回发都慢,原因是客户端的Base64编码速度慢,已经使用encodeURIComponent来代替Base64编码。 -俄语翻译(feedback:vbelyaev)。 +2010-06-30 v2.3.1 -ExtAspNet控件将不在依赖ViewState,减少1/4左右的HTTP数据传输量。 -控件和示例的增强。 +2010-03-28 v2.2.1 +为TabStrip的GetAddTabReference函数增加重载方法,以便指定Tab的图标(feedback:mmdcup)。 -修正此函数通过PageContext.RegisterStartupScript调用时不能正确显示Icon的BUG(feedback:zhaowenke)。 -修正basic/hello.aspx示例在单独浏览器打开后,不能<em>弹出</em><em>对话框</em>的BUG。 -隐藏示例首页最外层RegionPanel的边框ShowBorder="false"。 +集成Ext<em>js</em>最新版本v3.1.1。 -增加一个新的Theme - Access。 -修正了Firefox下Zoom In/Out时页面消失的BUG。 -删除Panel的EnableLightBackgroundColor属性,同时EnableBackgroundColor只支持Blue和Gray两种Theme。 +2010-01-31 v2.2.0 -使得Asp.net的控件ImageButton具有和Asp.net的Button控件类似的行为(Ajax提交)(feedback:261629698)。 +TabStrip增加GetAddTabReference和GetRemoveTabReference两个函数,用来向TabStrip控件动态增加删除Tab。 -增加示例tabstrip/tabstrip_addtab.aspx。 -重构了示例网站的架构,目前只有一层IFrame结构。 -为TabStrip增加EnableTabCloseMenu属性,是否启用右键菜单,可用来关闭当前Tab和所有其他Tab。 -为NumberBox增加DecimalPrecision属性,用来控制小数点后的位数(需要设置NoDecimal="false")(feedback:zqmars)。 -Window控件更新。 -关闭按钮默认直接关闭,<em>不会</em><em>弹出</em>确认<em>对话框</em>。 -GetConfirmFormModifiedHideReference的函数中的ConfirmFormModified简化为Confirm,所以此函数更名为GetConfirmHideReference。 -增加两个属性EnableConfirmOnClose(默认false),CloseAction(Hide, HideRefresh, HidePostBack)。 -修正EnableMaximize属性不能使Window最大化的BUG,修正了双击标题栏不能最大化的BUG。 -删除Button控件的SystemIcon属性,比如以前这样定义SystemIcon="Close",现在需要这样定义Icon="SystemClose"。 -WindowPosition默认居中,而不是黄金分割位置。 +Button, Window等控件<em>弹出</em>位置属性的变化。 -Window的Target属性由字符串类型变为枚举类型,注意更新以前的<em>代码</em>:Target="_self" -> Target="Self", Target="_parent" -> Target="Parent"。 -MenuButton, LinkButton, Button, LinkButtonField的ConfirmTarget属性由字符串变为枚举类型,可以取三个枚举值Self, Parent, Top。 -Confirm.GetShowReference的最后一个参数target变为枚举类型。 -Alert.GetShowReference中的showInParent参数也变为Target枚举类型。 -MenuButton, LinkButton, Button, LinkButtonField增加ValidateTarget用来控制表单验证失败时提示<em>对话框</em>的显示位置。 +2010-01-06 v2.1.9 -集成Ext<em>js</em>最新版本v3.1.0。 -修正灰色皮肤的CSS问题。 -修正Grid的列名中不能包含中文字符的BUG(feedback:davidwen)。 -为Web.config和PageManager增加属性AjaxTimeout(单位秒,默认30秒)。 -修正了在Grid的PageIndexChange事件中不能获取SelectedRowIndexArray属性的BUG(feedback:Violet)。 -Button控件将不再自动拥有display:inline属性,如果希望两个按钮在一行显示,请为第一个按钮设置CssStyle="float:left;"属性。 -修正了<em>弹出</em>菜单的位置在Firefox下不正确的BUG(feedback:eroach)。 -为TriggerBox和TwinTriggerBox增加EnableEdit属性。 -使用Hidden来显示隐藏ExtAspNet控件,而不是使用Visible属性(Visible目前设置为只读属性)。 -使用Hidden控制Window控件的显示隐藏,Popup已经标记为Obsolete属性。 -Window的实例方法GetCloseReference等以及ActiveWindow的静态方法GetCloseReference等,其中的Close全部改为Hide。 -增加TabStrip中Tab控件可关闭属性EnableClose(默认为false)以及两个方法GetShowReference和GetHideReference(feedback:anson)。 -修正绑定到Tree的XMLDocument中Icon属性映射错误(feedback:nopnop9)。 -修正HtmlEditor不能编辑的BUG(feedback:TheBox)。 -修正IE下有时会出现空白页面的情况(feedback:olivia919)。 +2009-12-06 v2.1.8 -修正了使用IFrame的Window关闭后不能再次打开的BUG(feedback:alexa99)。 -修正了IE下Grid中的一个<em>JS</em>问题(feedback:lqm4108)。 -修正Alert消息中引号未编码导致的<em>JS</em>错误(feedback:sun1299shine)。 +集成ext<em>js</em>3.0.3。 -修正<em>弹出</em><em>对话框</em>的宽度计算错误(会保持最小的状态)。 -增加新的皮肤Gray。 -为示例工程添加改变语言和皮肤的下拉列表。 -为PageContext增加静态函数Refresh,在切换语言和皮肤时使用。 +2009-12-01 v2.1.7 -增加示例(iframe/parent_postback_run3.aspx),如何通过简单的Javascript<em>代码</em>回发父页面(feedback:eroach)。 -修正一些书写错误(feedback:bmck)。 -从Region控件中删除SplitColor属性,增加CollapseMode, EnableSplitTip, SplitTip, CollapsibleSplitTip属性(feedback:bmck)。 -BorderPanel更名为RegionPanel。 -DropDownList拥有MarkInvalid方法(feedback:sun1299shine)。 -增加中国的省市县三级联动示例(data/shengshixian.aspx)(feedback:Blues T)。 -修正了使用IFrame<em>Url</em>的Tab在切换过程中会重复加载的问题,这是一个在v2.1.6引入的问题(feedback:eroach)。 -修正了启用AutoPostBack的Grid,其RowClick会覆盖LinkButtonField, HyperLinkField, CheckBoxField的点击事件(feedback:yymaoji)。 +2009-11-26 v2.1.6 +修正动态创建Grid列的BUG(feedback:gxpan)。 -增加示例(data/grid_dynamic_columns.aspx)。 -修正Form不能自适应浏览器大小的改变(feedback:kaywood)(WorkItem#6309)。 -增加重载方法Alert.Show(message, title, icon)(feedback:TheBox)(WorkItem#6353)。 -为容器控件(比如Panel,Region,Tab等)增加AJAX属性IFrame<em>Url</em>(feedback:BluesT)。 -重新设计模拟树的下拉列表的实现,避免选中某项后的闪烁。 +2009-11-21 v2.1.5 +Tree优化。 -修正Expanded项和Checked项的状态在回发改变后不能保持的BUG。 -GetNodeById更名为FindNode,保持和FindControl一致命名。 -删除CheckedNodeIDArray属性,增加GetCheckedNodes和GetCheckedNodeIDs函数。 -删除ExpandedNodeIDArray属性,增加GetExpandedNodes和GetExpandedNodeIDs函数。 -增加示例(data/tree_select_run.aspx),如何选中当前节点的所有子节点(feedback:wjl_wjl520)。 +TreeNode的属性NodeId被重命名为NodeID,这是ExtAspNet中的一个命名约定。 -同时更名的还有GridColumn的ColumnId->ColumnID,GetColumnId->GetColumnID。 -Grid1.Columns.FindColumnById函数被Grid1.FindColumn所替代。 -为TreeCheckEventArgs,TreeExpandEventArgs,TreeCommandEventArgs增加Node属性。 -为所有控件增加Focus(覆盖Control默认的Focus函数)和GetFocusReference函数。 -增加示例(other/custom_postback.aspx)(feedback:thebox)。 -如何自定义Javascript脚本和C#处理函数来响应键盘事件。 -为Tree增加AutoLeafIdentification属性。 -增加示例(tree_auto_leaf_identification.aspx)(feedback:wdrabbit)。 +2009-11-17 v2.1.4 -修正Window的关闭按钮提示信息一直是中文的BUG(feedback:thebox)。 -部分ExtAspNet控件的设计时支持(会在后续版本中逐步完善)。 -v0.2beta2版本中关于PersistChildren(true)的描述有误,这个是设计时属性,和运行时是否保持状态没有关系。 -修正CheckBox控件的CheckedChanged事件会被触发两次的BUG(Data PostBack->AutoPostBack, Event PostBack->EnablePostBack)。 -为TextBox,TextArea,DatePicker,NumberBox,TriggerBox等控件增加AutoPostBack属性(feedback:dk3214)。 +为表单字段增加RequiredMessage,MaxLengthMessage,MinLengthMessage属性,用于指定验证失败时提示信息。 -为空则使用默认的提示信息,默认的提示信息支持多语言,建议一般情况下使用默认信息。 +为表单字段增加MarkInvalid和GetMarkInvalidReference函数(feedback:sun1299shine)。 -增加示例:form/form_validate.aspx +2009-10-19 v2.1.3 +增加支持在AJAX时改变的控件属性列表(/ajax.aspx)。 -ExtAspNet支持原生的AJAX,也就是说控件的属性改变在AJAX过程中会反映到页面中,但并不是所有的控件属性都支持AJAX改变。 -加载s.gif图片在本机进行,<em>不会</em>请<em>求</em>ext<em>js</em>.com远程资源(feedback:efrigate43,abaocoole)。 -在AJAX回发后确保Asp.net的按钮控件仍然具有AJAX的特性。 -更新/basic/login.aspx示例,使用验证图片(feedback:kedee)。 -为Grid增加AutoPostBack属性和RowClick事件,示例在/data/grid_autopostback.aspx(feedback:chenguizhu2006)。 -为所有的表单字段增加AJAX属性ReadOnly(feedback:skydb)。 -Grid中TemplateField生成到页面中控件具有唯一ID,例如Grid1_ct5_Label2,Grid1_ct6_Label2(feedback:geruger)。 +2009-09-27 v2.1.2 -为Tree控件增加GetExpandAllNodesReference和GetCollapseAllNodesReference两个函数。 -修正RELEASE版本下多语言加载的BUG(feedback:yigehaoren)。 -增加pt_BR语言,由Ujvari<em>提供</em>。 +为所有Panel(包括Grid,Tree,Form等)增加枚举类型Icon,其中包含1700多个小图标。 -如果Panel具有Icon<em>Url</em>属性,则Icon<em>Url</em>优先于Icon。 -所有Icon的列表在icon.aspx。 -为Button,MenuItem(MenuButton,MenuHyperLink),AccordionLink,TreeNode,Image(如果Image<em>Url</em>为空,则取Icon的值)增加Icon属性。 +2009-09-15 v2.1.1 -修正不能动态修改AccordionPane属性Items的BUG。 +为Button, MenuButton, LinkButton, LinkButtonField增加ConfirmTarget。 -如果需要在父页面<em>弹出</em>确认<em>对话框</em>,需要设置ConfirmTarget="_parent"(类似Window控件的Target="_parent")。 +为ExtAspNet.Alert.Show增加点击确定的JavaScript回调函数。 -一个典型应用,在Window控件中打开新页面,如果传递的参数不正确,则首先提示参数不对然后关闭此<em>弹出</em>窗口。 -ExtAspNet.Alert.Show("参数错误!", String.Empty, ExtAspNet.ActiveWindow.GetCloseReference()); +TreeNode的前面的多选框可以自动回发了。 -为TreeNode增加AutoPostBack属性,增加事件数据类TreeCheckEventArgs,为Tree增加事件NodeCheck。 -示例在:http://extasp.net/data/tree_run.aspx -Grid增加GetNoSelectionAlertInParentReference函数,用来表示没有选中任何一项时在父页面<em>弹出</em><em>对话框</em>的<em>JS</em><em>代码</em>。 -修正IE7下不能以下划线作为CSS中类名的前缀的BUG(feedback:Steve.Wei)。 -添加定时器控件Timer,用来定时发起AJAX请<em>求</em>。 +2009-09-06 v2.1.0 -Button的Pressed属性值能够正确的反映客户端的变化。 -优化Tree控件的AJAX实现。 +为页面的Form添加autocomplete="off"属性。 -参考http://www.cnblogs.com/sanshi/archive/2009/09/04/1560146.html#1635830 +添加对ext<em>js</em>3.0中所有语言的支持。 -ExtAspNet扩展的多语言包在<em>js</em>\languages\extaspnet目录下,目前只有en,zh_CN,zh_TW三种实现 -你可以向其中添加自己的语言版本,并执行<em>js</em>\languages下的pack.bat打包,最后编译工程。 +2009-09-01 v2.0.9 -为ExtAspNet.Alert添加两个静态方法ShowInParent和GetShowInParentReference,用于在父页面<em>弹出</em>窗口。 +在aspx页面中必须显示的声明控件的集合属性(比如Tabs(TabStrip), Items(PanelBase), Nodes(TreeNode))。 -这将会影响所有的aspx页面,所以要特别关注。 -重命名AccordionPanel为AccordionPane (这也是在Asp.net AJAX中使用的名称). +所有的面板默认有两个集合属性(Toolbars和Items). -尽管TabStrip, From, Tree, Accordion继承了Items属性,但是你并不能对其设置(此时Items是只读的). -这将会影响所有的aspx页面,一定要将工具条(Toolbars)和Items区分开来。 -祝你生日快乐 - 小师妹妹。 +2009-08-29 v2.0.8 -ExtAspNet支持多语言(en,zh_CN,zh_TW),可以在Web.config中修改。 -将所有的示例转化为英语版本。 -修正Tree控件的一个BUG(定义Mappings属性时)。 +PageManager.Instance应该存在于HttpContext.Current,而不是一个全局变量。 -这个BUG导致Asp.net compatibility中的示例无法完成,现在已经修正。 +去除PageManager中方法AddAjaxAspnetControls,增加属性AjaxAspnetControls。 -这个属性和Button得ValidateForms属性类似,可以查看Asp.net compatibility中的示例。 +2009-08-25 v2.0.7 -为按钮增加DisableControlBeforePostBack属性 - 回发之前是否禁用按钮,防止重复提交 - 默认为true。 -Grid的Values属性访问限制由internal改为public,这就意味这可以自由改变Grid中每个单元格的值了。 -增加示例-如何将Grid控件导出为Excel(data\grid_excel_run.aspx)(feedback:503684912)。 -如果TreeNode的属性Enabled="false",则此项变灰并且<em>不会</em>被选中(feedback:your568)。 -修正TreeNode的属性Navigate<em>Url</em>不接受服务器端<em>URL</em>(以~/开头)的BUG。 -增加Accordion和Tree配合使用的示例(other\accordion_tree_run.aspx)。 -修正Panel图标不能显示的BUG(CSS中class名不能有$字符)。 +去除PageLayout控件,此控件可以使用BorderLayout和指定PageManager的AutoSizePanelID属性来代替。 -这样所有需要占据全屏的Panel(不管你是Accordion,Panel,ContentPanel,Form,GroupPanel,SimpleForm,Tree还是Grid,TabStrip)都可以通过这种方式全屏。 -简单方便,示例可以参考 default.aspx 或者 other\accordion_tree_run.aspx。 +2009-08-14 v2.0.6 -动态生成菜单实例(other\menu_dynamic_run.aspx和other\menu_dynamic2_run.aspx)(feedback:shguo)。 -优化AJAX的内部实现,每个页面保存的ViewState现在减少1/3左右(重要更新)。 -优化Tree节点的NodeId自动生成,减少ViewState占用。 +2009-08-09 v2.0 beta5 +ExtAspNet和Asp.net的提交按钮兼容问题(feedback:千帆)。 -在2009-03-03 v1.3.0曾经提到这个兼容问题,并有这样的规则,如果Asp.net的按钮AJAX提交,必须设置UseSubmitBehavior="false" --也就是说生成的input的type不能是"submit",而这个限制在有些情况下是不可原谅的。 --我们做了优化,现在要使一个Asp.net的按钮能够AJAX提交,你不需要做任何设置(PageManager的属性EnableAjax为true即可,这是默认属性)。 +PageManager的实例方法AddAjaxUpdateControl改名为AddAjaxAspnetControls,现在可以在Page_Load中设置需要在AJAX中需要更新的Asp.net控件了。 -在Page_Load中设置了哪些需要在AJAX中更新的Asp.net控件会在回发时保持状态,可以通过RemoveAjaxAspnetControls来去除不需要更新的控件。 -示例在aspnet\fckeditor_run.aspx和aspnet\aspnet_run.aspx。 -FCKEditor和上传控件兼容。示例在aspnet\fileupload_run.aspx。 -修正ToolbarText的文本在AJAX下更新的BUG。 -Button的Pressed属性在AJAX可更新(feedback:mgzhenhong)。 -更新所有示例。在IE7.0,IE8.0,Firefox3.5,Chrome2.0下测试通过。 +2009-08-02 v2.0 beta4 +和Asp.Net的Forms Authentication兼容[feedback:mgzhenhong]。 -采用和Asp.Net Ajax类似的处理方式,需要在配置文件Web.config增加一个httpModules。 -现在支持Response.Redirect,你可以选择Response.Redirect或者ExtAspNet.PageContext.Redirect重定向页面,两者效果一样。 -支持FormsAuthentication.RedirectFromLoginPage(accountID, false);这样的方法。 -Button增加Type属性(button,reset,submit)[feedback:mgzhenhong]。 -修正Alert.Show方法不能指定文本前图片的BUG[feedback:xmq&mgzhenhong]。 -修正IE下某些<em>弹出</em>窗口的IFrame第一次不能加载的BUG。 -增加Menu和Accordion的示例。 -修正Window控件的Icon<em>Url</em>有时不显示(Target="_parent")的BUG[feedback:xmq&mgzhenhong]。 +2009-07-22 v2.0 beta3 -兼容FCKEditor。 -在IE8.0,Firefox3.5下测试通过。以后ExtAspNet将<em>不会</em>对IE6.0<em>提供</em>支持。 +2009-07-13 v2.0 beta2 -集成ext<em>js</em>最新版本v3.0。 +兼容IE6.0-7.0-8.0。 -这应该是Ext<em>js</em>3.0的一个BUG,在IE6.0-7.0下面设置Ext.QuickTips.init();会导致button的click事件无法响应(IE8下无此问题)。 -目前先禁用IE6.0-7.0的QuickTips。 -优化底层JavaScript。 +2009-07-05 v2.0 beta1 -更新ext<em>js</em>库到最新版本v3.0 RC2; 目前只有一个缺省皮肤(Theme)。 -使用YUI Compressor压缩JavaScript和CSS文件。 -Release版本每个页面只包含一个JavaScript文件(语言文件除外)和一个CSS文件。 -ExtAspNet自身的CSS会紧挨着页面标签引入,这样在中自定义的样式可以覆盖ExtAspNet缺省样式。 +Alert<em>对话框</em>会遮挡所有的Window窗口。 -使用一个变通的方法解决,因为无法改变Ext.Message的默认z-index(9000)所以将box.window_default_group的zseed调整为6000。 -为所有按钮的左右增加5px的空白边距:.x-btn button { margin: 0 5px !important; }。 -因为下拉列表不可编辑,所以不能为空,如果不设置SelectedIndex或SelectedValue,则默认选中第一项。 -重新绑定模拟树的下拉列表后,选中项的前面有图片的HTML标签的BUG。 -更新自定义JavaScript组件Ext.ux.SimplePagingToolbar。 -更新示例工程。 +2009-03-25 v1.3.1 -Tree在AJAX回发展开节点时<em>JS</em>错误[feedback:xlli]。[fixed] -Window中的EnableIFrame==false,则点击关闭按钮时报<em>JS</em>错误。[fixed] -页面包含FileUpload控件,需要点击按钮回发并上传文件,则不能采用原生AJAX方式。(参见示例aspnet/fileupload.aspx)[fixed] -HtmlEditor显示隐藏工具栏按钮不起作用,HtmlEditor目前不支持Enabled和Readonly两个属性。[fixed] +2009-03-03 v1.3.0 -如果<em>弹出</em>的窗口(Ext-Window)含有ASP.NET控件FileUpload,则此<em>弹出</em>窗口在关闭时出现<em>JS</em>错误(http://ext<em>js</em>.com/forum/showthread.php?t=8129)[feedback:xlli]。[fixed] -如果页面中存在ASP.NET控件(TextBox),则第二次提交表单就会报错(视图状态不对,其实时没有更新EventValidation隐藏字段导致的问题)。[fixed] -页面上放置ExtAspNet-Button和ASP.NET-Button,则点击ExtAspNet-Button时激发的是ASP.NET-Button的事件,这个BUG和Ext<em>js</em>2.2.1中Ext.Ajax.serializeForm的实现有关。[fixed] -ExtAspNet内部包含HtmlAgilityPack和Nii.<em>JS</em>ON两个开源的第三方类库。[added] +如果以前你听过不要在ExtAspNet工程中使用ASP.NET标准控件的忠告,那么从v1.3.0版本开始,你可以忘掉这个说法,现在ExtAspNet控件和ASP.NET标准控件和平共处了。[fixed] -如果一个ASP.NET按钮控件要使用ExtAspNet的原生AJAX,只需要设置属性 UseSubmitBehavior="false" 即可。 -如果要在一次ExtAspNet的原生AJAX回发时更新ASP.NET控件的值,只需要调用PageManager的公共方法AddAjaxUpdateControl即可(示例:aspnet/aspnet.aspx)。 +2009-02-27 v1.2 beta9 -网络连接出错时的“Ajax Error”改成更加友好的提示信息“本次连接失败!可能是网络连接出错,请刷新页面重试。”。[fixed] -自动测试功能会在以后版本中逐步完善。这个版本完成测试框架,采用Ext<em>js</em>中<em>JS</em>函数进行大部分的测试,对于一些难以测试的地方借助jQuery完成。[fixed] +系统底层<em>代码</em>优化(主要是Javascript的封装和BUG修复)。[fixed] -底层使用Javascript创建一个Window控件的<em>代码</em>由原来的2000字符减少为500个字符。 -PageContext静态类中的GetPageStateChangedFunction改名为GetConfirmFormModifiedReference,底层<em>代码</em>优化。表示“获取当前页面中表单修改的确认提示框的脚本”。 ---[updated]删除PageContext中的GetConfirmFormModifiedReference,使用CurrentActiveWindow中的GetConfirmFormModifiedCloseReference/GetConfirmFormModifiedCloseRefreshReference/GetConfirmFormModifiedClosePostBackReference三个方法代替。 -<em>不会</em>修改<em>弹出</em>页面的<em>URL</em>(Ext-Window中的IFrame),以前为了实现功能为每个<em>弹出</em>页面添加box_parent_client_id查询字符串 -去除PageManager的RegisterPageStateChangedScript属性,现在已经将这个功能实现为静态的<em>JS</em>方法。可以通过PageContext.GetFormModifiedConfirmReference获取此方法的客户端脚本。 ---注意:以前的项目需要在所有的ASPX页面中查找RegisterPageStateChangedScript属性,并删除,否则会运行错误! -A页面有Ext-Window控件<em>弹出</em>B页面,B页面有Ext-Window控件<em>弹出</em>C页面,B页面的Ext-Window控件设置Target='_parent',则<em>弹出</em>的Ext-Window(C页面)会覆盖整个A页面,这是正确的。 ---当时如果用户直接访问B页面,就会报<em>JS</em>错误,因为此时找不到B页面的父页面A了。现在的版本修正为如果找不到父页面,则就在当前页面<em>弹出</em>窗口,这样用户直接访问B页面也<em>不会</em>出错了。 -Window控件的GetIFramePageStateChangedFunction函数改名为GetConfirmFormModifiedCloseReference,表示“获取先确认IFrame的页面中表单改变,然后关闭<em>弹出</em>窗口的客户端脚本”。 ---为Window控件增加如下两个方法GetConfirmFormModifiedCloseRefreshReference和GetConfirmFormModifiedClosePostBackReference,表示“先确认表单改变,然后关闭<em>弹出</em>Ext-Window,再然后刷新父页面或回发父页面”。 ---Window控件的OnClientCloseButtonClick属性如果不设置,则默认采用GetConfirmFormModifiedCloseReference,也即是先判断表单是否更新,然后在关闭窗口。 ---现在可以很方便的为Window控件的关闭按钮添加关闭后刷新父页面或者关闭后回发父页面的行为。 -如果<em>弹出</em>窗口(Window控件)中IFrame的页面不能正常加载(网络暂时出错或页面抛出异常),则此时点击右上角的关闭按钮会报<em>JS</em>错误,因为此时页面尚未加载完毕。 ---此版本修正了这个BUG,即时页面不能加载完全,也能通过右上角的关闭按钮关闭<em>弹出</em>含IFrame的窗体。 -Window控件的IFrameName属性是自动生成的,只读属性。(因为有可能所有的Ext-Window最终都渲染到最外层的页面,为了保证这些IFrame的name不同,IFrameName使用的是GUID,内部处理)。 -CurrentActiveWindow改名为ActiveWindow。 -[特别注意]GetWriteBackValueReference(string controlClientIds, string value, params string[] values)函数现在的定义是GetWriteBackValueReference(params string[] values) ---所有调用GetWriteBackValueReference的地方,需要删除第一个参数(一般是ActiveWindow.GetLoadStateReference())。 +2009-02-23 v1.2 beta8 -ContentPanel中<em>内容</em>不能自动扩展高度的BUG[feedback:huihuang]。[fixed] -DropDownList在Ajax回发时不能计算模拟树的数据[feedback:huihuang]。[fixed] -DropDownList在页面第一次加载时没有不可选择项,则回发时也<em>不会</em>有不可选择项的BUG。[fixed] -升级底层Ext<em>JS</em>类库为v2.2.1(此版本主要是Chrome的支持和部分内存泄漏问题的修正)。[fixed] -页面加载过程中的时间信息保存在Javascript变量window.box.timeInfo中。[added] +增加部分自动测试支持(使用WatiN和NUnit),下个版本将会<em>提供</em>完整的自动测试支持。[fixed] +2008-10-28 v1.2 beta7 -DropDownList没有选中任何一项,回发时报错[feedback:huihuang]。[fixed] -Window显示位置不对,以及不能拖动的BUG[feedback:huihuang]。[fixed] +PageContext优化。[fixed] -去除RegisterExclusiveScript静态函数(这是没有原生ajax之前的产物),使用RegisterStartupScript替代。 -去除RegisterStartupScript的重载函数,只保留最简单的PageContext.RegisterStartupScript(string script)函数。 -Resirect增加重载函数Redirect(string <em>url</em>, string target),其中target可能的取值为_self,_parent,_top,分别表示在当前窗口,父窗口,顶级窗口重定向[feedback:jqpeng]。 -Image控件增加ImageWidth/ImageHeight/ImageCssStyle/ImageCssClass/ImageAlt属性[feedback:jqpeng]。[fixed] -发布包中增加一个Web.config.txt,这是一个空的Web.config文件,包含BOX基本的配置信息。[fixed] -ContentPanel的ShowHeader和ShowBorder属性默认也是true(注意更新以前的应用)。[fixed] -Row和Column布局时,修正IE下设置RowHeight="100%"时显示不正确的BUG。[fixed] -AccordionLink当鼠标移上和移开时,有背景色的变化效果[feedback:huihuang]。[fixed] +TabStrip的Tab控件的EnablePostBack属性会在回发时保持(也即是说如果EnablePostBack=true,回发时没改变EnablePostBack的值,则每次切换到此Tab都会回发)。[fixed] -有这样一个效果,如果Tab1默认显示,Tab1的EnablePostBack=true,则页面加载完毕后会回发Tab1一次。 +2008-10-20 v1.2 beta6 +使用控件的站点必须建立虚拟目录,否则会报<em>JS</em>错误(即是脚本资源没有加载),却原来是HTTPCompress组件的问题。[fixed] -需要替换新的blowery.Web.HttpCompress.dll,解决方案见http://pohee.com/it/http-compression-in-aspnet-20/。 +DropDownList优化。[fixed] -去除EnableFirstItem/FirstItemText/FirstItemValue,这个并不能带来很大的好处,反而容易让开发人员困惑。 现在可以方便的在后台DropDownList1.Items.Insert(0, new ExtAspNet.ListItem("全部", "-1"));来达到同样的效果。 +如果某项(ListItem)的Value为空字符串,则通过SelectedIndex和SelectedValue不能选中[feedback:jqpeng]。 -和Asp.net中的保持一致,ListItem的Value值可以为空字符串。 也就是可以这样写DropDownList1.SelectedValue = ""; -ListItemCollection增加重载函数Add(string text, string value),这样方便后台添加列表项。 -处于布局内的容器控件(Layout!=LayoutType.Container),AutoHeight会自动设置为false(避免开发人员发生此类错误)。[fixed] -注意,控件的高度指的是整个控件的高度,包含BodyPadding(这和CSS中的height不同,CSS中的height是指<em>内容</em>的高度,除去padding/border-width/margin)。[fixed] +为所有控件属性增加在VS中的智能提示。[fixed] -需要将ExtAspNet.XML和ExtAspNet.dll放在一起,这样引用dll时xml会被拷贝到bin目录下,<em>提供</em>VS的智能提示。 +控件的属性如果是枚举类型,如果此属性可以不取值,则默认为None。[fixed] -TriggerIconType.Default -> TriggerIconType.None -SystemIconType.Empty -> SystemIconType.None -RegexPattern.USER_DEFINED -> RegexPattern.None -表单验证属性名称变化(ValueToCompare->CompareValue,ControlToCompare->CompareControl)。[fixed] +注意:一个属性可以拥有多个值的情况。[fixed] -属性和CSS相关则用空格分隔(比如ColumnWidths,BodyPadding)。 -其他的都是逗号分隔(比如ValidateForms,DataKeyNames,DataNavigate<em>Url</em>Fields)。 +AccordionLink实现为控件。[fixed] -可以方便的在子页面(iframe)中通过<em>js</em>切换父页面中选中的菜单项(Accordion->AccordionLink)(示例在other/accordion_links_run.aspx,other/accordion_links_run_iframe_htm)[feedback:jima]。 +确认:可以方便的动态添加控件,并且可以给控件添加服务器端事件(示例在form/form_dynamic_run.aspx)。[fixed] +2008-10-15 v1.2 beta5 -验证表单字段的ValueToCompare属性,为字符串时会出错的BUG。[fixed] +优化下拉列表。[fixed] -验证下拉列表时,应该取ListItem的Value属性进行验证,而不是Text属性。 -DropDownList的Items增加Insert方法(可方便的下拉列表选项添加“全部”)。 -DropDownList不支持EmptyText属性。 -ListItem启用EnableSelect和SimulateTreeLevel属性,这样就可以直接在前台(ASPX)中设置哪些项不可选择,以及创建模拟下拉树。 -DropDownList增加EnableSimulateTree属性(默认为false),如果设置了DataSimulateTreeLevelField,则自动将EnableSimulateTree设置为true。 +2008-09-27 v1.2 beta4 +EnableLargeHeader属性对所有容器的效果一样,Accordion的属性EnableLargeHeader只会改变Accordion的标题大小,而<em>不会</em>对AccordionPanel起作用(示例见other/accordion_run.aspx)。[fixed] -Accordion去除EnableHightlight属性,AccordionPanel增加EnableHightlight属性。 -影响以前使用Box的应用,需要将Accordion的属性去掉,然后为每个AccordionPanel增加EnableLargeHeader和EnableHightlight属性。 -AccordionPanel鼠标移上去的样式调整(现在没有下面的一条白线了)。[fixed] +AccordionPanel增加Links属性,可以绑定列表数据到AccordionPanel,呈现的是链接的列表(示例在other/accordion_links_run.aspx)。[fixed] -原来放置在AccordionPanel中的容器,比如ContentPanel需要在外层加上标签。 -适当增大AccordionPanel中链接的高度20px->22px,同时对链接的样式也做了微调。 -通过BodyPadding控制链接列表的边距。 -这样能大大减少ASPX中HTML<em>代码</em>和Javascript<em>代码</em>的书写,可以在后台动态添加链接,效果很赞,此需<em>求</em>由马季提出。 +2008-09-25 v1.2 beta3 +<em>代码</em>优化与设计时支持(尚需要不断完善,目前可以在ASPX页切换到“设计时”,方便属性的更改和事件处理函数的添加)。[fixed] -Panel/GroupPanel/ContentPanel/Tree/HiddenField/PageLoading -TabStrip/Toolbar -TabStrip去除Plain属性,增加EnableTitleBackgroundColor(默认为true)。[fixed] -向Form中动态添加控件的BUG,现在form/form_dynamic_run.aspx示例已经能正确运行。[fixed] +大部分容器的子控件集合更正为Items(以前有些是Rows)。[fixed] -影响的控件包括Toolbar/Accordion/AccordionPanel/GroupPanel/Panel/SimpleForm/Window等。 -保留Form的Rows(FormRowCollection)属性和Grid的Rows属性(GridRowCollection)。 -保留TabStrip的Tabs(TabCollection)属性。 -保留PageLayout/BorderLayout的Regions(RegionCollection)属性。 -预祝今晚神七发射成功。 +2008-09-22 v1.2 beta2 +Grid选中项(SelectedRowIndexArray)在ajax回发过程中存在BUG [feedback:xmzhu]。[fixed] -表现为对Grid进行多次删除添加操作后,SelectedRowIndexArray选中项中会存在当前不存在的行序号,导致服务器端遍历选中项时数组越界。所有使用box控件的应用程序都受到此BUG的影响,需尽快更新到新版本。 +<em>代码</em>优化与设计时支持(示例中表单控件都已支持设计)。[fixed] -PageManager/SimpleForm/Button/HyperLink/Label/Image/LinkButton/TextBox -TriggerBox/TwinTriggerBox/Window/TextArea/HtmlEditor/DatePicker/NumberBox -CheckBox/RadioButton/RadioButtonList/DropDownList -Grid +2008-09-19 v1.2 beta1 -Image/LinkButton/HyperLink增加一些Ajax可更新属性。[fixed] +隐藏的方式由HideMode属性控制Visibility/Offsets/Display。[fixed] -修正Form/SimpleForm中隐藏一个表单字段(Hidden=false)会占据页面空间的BUG。 -ToolbarText/ToolbarFill/ToolbarSeparator在ASPX中设置Hidden=true不起作用的BUG [feedback:jbzhang]。[fixed] -Button去除MarginRight属性(可以通过CssStyle="margin-right:5px;"达到相同的效果)[fixed] +2008-09-09 v1.1 +Toolbar去除IsPageMenu属性,在网报中可以用自定义样式实现,而不应该写在控件中。[fixed] -网报:CssClass="toolbar-pagemenu" CssStyle="border:0px;",同时定义样式:.toolbar-pagemenu{ background: rgb(208, 222, 240) <em>url</em>(../images/pagemenu_toolbar_background.gif) repeat-x left top;}。 -Region去除默认的Layout=Fit,如果希望Region使用Fit/Anchor/Column/Row等布局的话,需要手工指定。[fixed] -ToolbarSeparator/ToolbarFill在Ajax更新Hidden属性的BUG。[fixed] +布局整理。[fixed] -新增Column/Absolute/Row三种布局,加上以前的Container/Fit/Anchor/Accordion/Border/Form六种布局,总共有9中布局可供使用。 -其中一些控件默认使用一种布局:SimpleForm(Form)/Form(Form)/Panel-GroupPanel(Container)/Accordion(Accordion)/PageLayout(Border)/BorderLayout(Border)/TabStrip(Card),所有布局控件默认的布局是Container。 -经常用到的布局控件:SimpleForm/Form/Accordion/TabStrip/BorderLayout,经常用到的布局:Fit/Row/Anchor +2008-09-08 v1.1 beta7 -MenuButton/MenuHyperLink增加HideOnClick属性,如果一个菜单项的作用仅仅为了<em>弹出</em>下级菜单,点击没反应,则可以这样设置HideOnClick="false" CssStyle="cursor:default;" [feedback:huayu]。[fixed] -MenuButton/MenuHyperLink/MenuSeparator/MenuText增加Hidden属性(此属性是Ajax可更新属性,如果需要在Ajax时显示隐藏菜单,请使用此属性而不是Visible属性)。[fixed] +大部分的ExtAspNet控件增加Hidden属性(少数几个控件没有此属性:Menu),这样在Ajax时可以显示隐藏控件。[fixed] -注意Visible和Hidden的区别:Visible=false的属性<em>不会</em>渲染到客户端,Hidden=true的控件渲染到客户端但是隐藏。 -US的ExtAspNet改造强烈依赖于此属性,这个版本发布后可以继续。 -网报中唯一没有用到ExtAspNetAjax的地方就是显示隐藏表单字段,现在也可以使用Ajax了。 +2008-09-04 v1.1 beta6 -PageContext.Redirect支持普通页面转向和ExtAspNetAjax下页面转向。[fixed] +模拟树的下拉列表的BUG(会使一些可选项变成不可选项)[feedback:xmzhu]。[fixed] -因为if("0,2,9,11,".indexOf('1,')>=0){ok},这显然是不对的,此BUG涉及很多控件(Grid,DropDownList,TabStrip)。 -解决方法:testValue += '';if(domValue.split(',').indexOf(testValue) >= 0){ok}。 -DropDownList在Ajax时应该先更新数据再设置选定项 [feedback:xmzhu]。[fixed] -Button/MenuButton增加Ajax可更新属性OnClientClick [feedback:xmzhu]。[fixed] -Tree的Ajax支持(尚需优化)。[fixed] +2008-09-02 v1.1 beta5 -DropDownList如果第一次没有绑定值,应该绑定到[[]](二维数组),而不是[](一维数组)。[fixed] -模拟树的DropDownList,在Ajax重新绑定DataSource后,保持项是否可选状态是最新的(页面第一次加载时,即使没有数据也需要设置DataTextField/DataValueField/DataSimulateTreeLevelField/DataEnableSelectField等属性的值,否则Ajax回发时会出错)。[fixed] -UserControlConnector导致的Ajax错误,去除UpdatePanelConnector控件(以后<em>不会</em>用AspnetAjax,这个控件已经完成使命)。[fixed] -不要使用Asp.net的控件HiddenField,而是使用ExtAspNet的HiddenField,因为Asp.net的控件在Ajax<em>不会</em>被更新,所以会导致视图状态不一致的错误。[fixed] -网报Ajax整合基本完成(除了待审批->下一步[审核/归档/出纳]操作,由于需要显示隐藏表单字段,目前Ajax不支持,使用的还是普通的PostBack)。[fixed] -IE下,RadioButtonList中项如果存在汉字,则会换行的BUG。[fixed] -增加两个Theme[Slate/Black](样式尚需完善)。[fixed] +2008-09-01 v1.1 beta4 -非当前Tab中如果有ContentPanel,则在页面上方会有空白(可以通过设置EnableDeferredRender=false解决,但会减慢页面的加载速度),现在已经解决这个问题。[fixed] -RadioButtonList去除EnableBackgroundColor/EnableLightBackgroundColor属性,背景色是透明的,也就是和父控件(SimpleForm/Form)的背景色一致。[fixed] -TwinTriggerBox的第一个Trigger图标<em>不会</em>先显示再隐藏,而是直接隐藏掉(如果用户设置ShowTrigger1=false)。[fixed] -Web.config中增加配置项FormLabelWidth="80"(默认为80),同时PageManager增加FormLabelWidth属性用来控制页面上所有SimpleForm/Form的表单字段标题的宽度。[fixed] +完善Ajax。[fixed] -RadioButtonList增加Ajax可更新属性SelectedIndex(SelectedValue/SelectedItem)。 -DropDownList增加Ajax可更新属性Enable/SelectedIndex(SelectedValue/SelectedItem)/DataSource。 -Grid增加Ajax可更新属性Columns(也就是说Grid列在回发时隐藏显示了一些,也能正确的Ajax)。 -ToolbarText增加Ajax可更新属性Text。 +2008-08-31 v1.1 beta3 -TabStrip增加EnableDeferredRender属性(是否启用延迟加载Tab,默认启用)。[fixed] -重定向页面,使用系统的方法 PageContext.Redirect(string <em>url</em>),使用Response.Redirect方法会出错。[fixed] +安全的Ajax设计。[fixed] -这个版本Ajax和上个版本(v1.1beta1)在设计思路上有很大区别,同时在速度上会有进一步的提升。 -基本思想:安全的Ajax交互,明确Ajax回发时支持控件哪些属性的改变,这将适合90%的应用场景(并且具有极快的反应速度),对于需要UI大改动的可采用常规回发,系统<em>提供</em>控件级别的EnableAjax属性。 -整理支持Ajax的控件属性改变列表(所有被支持的属性改变都是安全的、快速的,所有不被支持的属性改变<em>不会</em>对UI起作用,同时是安全的,<em>不会</em>有<em>js</em>错误)。 -网报Ajax整合(目前只支持所有的列表页面)(v0.8.1)。[fixed] +2008-08-29 v1.1 beta1 +Window控件是否<em>弹出</em>的状态在回发时维持。[fixed] -控件设计的一个原则,凡是可以在客户端改变的属性都应该在回发时保持属性的状态。 +完全抛弃Asp.NetAjax,ExtAspNet控件内置Ajax支持。[fixed] -这是一个值得骄傲的设计,可以明显提高页面回发的速度(相比普通的回发和Asp.netAjax的回发),对于IFrame框架的交互也起到很好的加速效果。 -不需要做任何配置,所有的回发都是Ajax(在Web.config和PageManager中有设置启用Ajax回发的属性-EnableAjax-默认为true)。 +在这种设计下,其实可以完全抛弃Javascript。 -比如简单的点击一个按钮<em>弹出</em>窗口,可以在Button的OnClick事件中设置Window1.Popup=true,也可以注册Button的OnClientClick=Window1.GetShowReference()。 -第一种方法需要回发,但是我们内置的Ajax支持能很快的返回需要的结果并解析,在网络速度很快的情况下和第二种方法差别不是很大。 -推荐的做法是尽量用客户端实现,客户端实现复杂的直接用服务器端实现。 +目前ExtAspNetAjax的限制。 -只对ExtAspNet控件起作用,对Asp.net控件不起作用。 -对容器控件(有子控件的控件)不起作用,只对最底层的控件起作用。 -对改变控件的Visible属性会有错误。 -Window控件的属性改变只有少数几个起作用(Popup,IFrame<em>Url</em>)。 -PageManager增加属性EnablePageLoading和EnableAjaxLoading(启用页面第一次加载标示和Ajax加载标示,默认都为true),所以如果使用系统默认的加载标示就不必每个页面都添加PageLoading控件。[fixed] -Grid中的回发事件(主要是LinkButtonField和CheckBoxField(RenderAsStaticField=false))要延迟0ms执行,这样当前行被选中的状态在回发后会得到保持。[fixed] -Grid选中行的状态在第一次回发时不能保持的BUG。[fixed] +2008-08-26 v1.0 +已知问题:IE的ActiveX插件IE Developer Toolbar会对IFrame的加载造成0.5m左右的延迟。 -主要是父页面加载一个比较大的css文件(~100k),则每次打开iframe页面,onload事件的调用都会有500ms左右的延迟,在测试IE性能时要禁用此插件。 +优化<em>弹出</em>窗口中IFrame的显示速度。[fixed] -在当前页面<em>弹出</em>窗口需要~20ms,在父页面<em>弹出</em>窗口需要100~300ms。通过缓存<em>弹出</em>的窗口实例,从而第二次<em>弹出</em>窗口不再需要创建时间。 -PageLayout的Region增加SplitColor属性,默认的背景色是透明的。(在网报中需要设置SplitColor="#CADDF7",以便分隔符的颜色和Toolbar的颜色一致)[fixed] +PageManager增加属性Theme、Language、FormMessageTarget、FormOffsetRight等属性,这些属性可以在Web.config中设置(推荐方法),也可以为每个页面设置。[fixed] -一个典型的应用是为每个用户设置不同的皮肤(根据用户浏览器中Cookie设置的值)(示例在default.aspx)。 -TreeNode增加属性SingleClickExpand,表示点击可切换节点的折叠展开状态。[fixed] +TabStrip中非当前Tab会延迟渲染。[fixed] -这会明显加快页面的渲染速度,网报中一个典型的费用审批页面可以减少200ms的渲染时间。 -由于非当前Tab<em>不会</em>在页面加载时渲染,所以那些Tab中的节点在页面加载后也是不可见的,需要将相关的脚本移动到控件的render事件中。 -不能比较两个DataPicker大小的BUG。[fixed] -TabStrip延迟加载引起的BUG(非当前Tab中的ContentPanel会占据页面空间,已修正)。[fixed] -全新的ExtAspNet.Examples(基础知识/表单控件/数据绑定/容器布局/IFrame框架)。[fixed] +2008-08-19 v0.4 beta6 +PageManager增加两个属性(EnableInlineStyleJavascript/ApplyParentStyleJavascript),可以在IFrame页面中使用父页面的脚本和样式(示例在iframe/default.aspx和iframe/page3.aspx)。[fixed] -测试发现,IFrame页面的加载速度并没有明显加快,可以先不使用此属性。 -RadioButtonList放在在BorderLayout中显示不了的BUG [feedback:zgjiang2]。[fixed] +ext<em>js</em>的BUG,当页面中含有iframe时,Ext.onReady会被调用两次(IE6/IE7)(http://www.ext<em>js</em>.net/forum/showthread.php?t=43246)(示例在test.aspx)[fixed] -现在的解决方法是在初始化时:if(this.initialized){return;}this.initialized=true; +需要先回发页面再<em>弹出</em>IFrame窗口。[fixed] -在回发时设置窗口的Popup和IFrame<em>Url</em>属性,因为这些属性是可以保持状态的,所以在关闭窗口时要注意设置Popup=false。 -另一种做法(推荐):PageContext.RegisterStartupScript(Window99.GetShowReference("./simpleform.aspx"));。 +2008-08-15 v0.4 beta5 -点击关闭窗口的按钮,在IE6下会有<em>JS</em>错误。[fixed] -增加BorderLayout控件,示例在iframe/borderlayout.aspx。[fixed] +Radiobuttonlist显示有重影(示例在radio.aspx)。[fixed] -全新的样式。 -去除Horizontal属性,增加ColumnNumber(可以设置渲染成几列)。 -GetValueReference取得的值不正确的BUG。 -动态向Form中添加FormRow,并动态的向FormRow中添加表单字段,以及如何取得表单字段的值。(示例在form_dynamic.aspx)[fixed] +IFrame<em>弹出</em>窗口关闭后回发父页面,则会多加载IFrame一次,再次打开窗口会重复加载IFrame2-3次[feedback:xmzhu]。[fixed] -这是一个重要的BUG,会严重影响页面的加载速度。原因是通过脚本改变的IFrame<em>Url</em>会在回发时保持状态,从而回发父页面后Window中的IFrame被添加到页面,而这是不需要的。 -现在"是否<em>弹出</em>窗口、窗口标题、IFrame<em>Url</em>"在客户端的改变,<em>不会</em>影响服务器端的属性,也即是不保持状态。此问题解决。(示例在button_iframe.aspx) +2008-08-13 v0.4 beta4 -点击关闭窗口的按钮,在IE下会有<em>JS</em>错误。[fixed] -Window的右上角关闭图标增加提示,优化事件响应。[fixed] -Window的<em>代码</em>重构。[fixed] +修正一个的内存泄漏。[fixed] -IE7下测试,打开iframe/default.aspx页面,iexplorer占内存68.368M。 -内存存在泄漏时,点击iframe/page3.aspx页面8次后iexplorer占118.792M内存。 -修正后,点击iframe/page3.aspx页面8次后iexplorer占76.492M内存。 -IE窗口最小化时,IE会自动进行垃圾回收。 +2008-08-12 v0.4 beta3 -底层的javascript框架Ext<em>js</em>升级为v2.2,Grid的渲染速度有很大提升。[fixed] -Grid的EnableDelayRender默认为true(如果没有设置Grid的高度或通过布局间接设置高度,则行不可见,可以通过AutoHeight="true"解决)。[fixed] +页面正在加载的提示尽早的显示出来。[fixed] -首先在执行<em>js</em>来完成页面渲染之前延迟5ms,以便浏览器把当前页面<em>内容</em>显示出来。 -加载<em>js</em>脚本的script标签放置在页面的最后,放置加载<em>js</em>而阻塞PageLoading的显示。 +2008-08-08 v0.4 beta2 -TabStrip延时加载出错。[fixed] -Window的IFrame<em>Url</em>处理的BUG,比如Pages_ExtAspNet目录下的页面应该为./FE_ApplyEditor.aspx或~/Pages_ExtAspNet/FE_ApplyEditor.aspx。[fixed] -Window的WindowPosition="Center"并且Target="_parent",则会<em>JS</em>错误。[fixed] -实现网报首页下拉菜单和左侧菜单的导航功能。[fixed] -Window的创建在页面显示后进行,不计算在<em>js</em>渲染时间内。[fixed] -优化费用申请页面(尽量减少不必要的层次嵌套)。[fixed] -button_iframe.aspx默认会加载form.aspx页面(Window控件的BUG)。[fixed] -Window中的保存并关闭按钮和Asp.netAjax冲突。[fixed] -优化关闭Window的<em>js</em>脚本,减少写到页面的<em>js</em>大小。[fixed] -加快“保存并关闭”按钮关闭窗口的速度,使用PageContext.RegisterExclusiveScript(CurrentActiveWindow.GetClosePostBackReference());,示例在(simpleform.aspx)。[fixed] +2008-08-05 v0.4 beta1 -DropDownList去除Traditional属性,和传统的Asp.net控件一样不可编辑。[fixed] -DropDownList增加SelectedText属性(去除了模拟树时通过SelectedItem.Text的多余html字符)。[fixed] -为了加快渲染速度,去掉一些特效(比如Panel的折叠效果,Grid的拖动列效果等)[feedback:dcding]。[fixed] -将生成的<em>js</em>对象的名称简单化,这样可以减少生成的<em>js</em><em>内容</em>,加快页面加载速度(一个典型页面的<em>js</em>由原来的33.0k降低为21.4k)。[fixed] +<em>弹出</em>窗口中,点击按钮回发然后点击关闭按钮,出现<em>js</em>错误 [feedback:xmzhu]。[fixed] -因为在页面的Page_Load中,if (!IsPostBack){PageContext.RegisterPageStateChangedStartupScript();}通过这样方法向页面注册了一段脚本,但是这段脚本在回发时没有注册到页面,因为<em>js</em>调用此脚本时报错。 -一种解决方法是将向页面注册脚本的函数移动到if语句的外面,即每次都向页面注册此脚本。 -另一种办法就是在PageManager控件中增加RegisterPageStateChangedScript(向页面注册监视页面中表单<em>内容</em>改变的脚本)的属性(会在每次页面回发(包含ajax回发)时注册脚本)(示例在button_iframe.aspx/simpleform.aspx)。 +PageManager控件增加ExecuteOnReadyWhenPostBack属性(示例在onreadyscript.aspx)。[fixed] -这个手工添加onReady函数能够在每次页面回发时都注册脚本(包括Ajax局部回发),这就避免了手工去做的麻烦(已经在网报中遇到这种情况)。 -每个页面必须添加一个PageManager控件,否则会出错,同时去除DesignTimeStyle控件(作为PageManager的属性出现)。[fixed] -TextField等表单字段增加Readonly属性。[fixed] +全新设计的IFrame的架构(尽可能和基于MasterPage的架构保持兼容,和Asp.net Ajax保持兼容)。[fixed] -最大的好处是可以减少页面下载完毕后Javascript渲染时间(可以节约一般的渲染时间)。(所有示例在iframe文件夹下) +示例1,通过点击按钮<em>弹出</em>IFrame窗口,可直接关闭父页面,也可在关闭后刷新或回发父页面。(default.aspx/page2.aspx/simpleform.aspx) -虽然IFrame和Master两种架构差异迥然,或许你以为需要修改一堆<em>代码</em>来完成这种转换,起初我也是这么认为的,但是现在你所要做的仅仅是为Window控件增加一个属性(Target="_parent"),就完成了两种框架的转换,是不是很酷。 -显然,控件本身封装了大量的<em>代码</em>,简单来看现在有三个页面(default.aspx(A)/page2.aspx(B)/simpleform.aspx(C)),其中A包含B页面,当你在B中打开包含有页面C的窗口时,窗口不是在B中打开,而是在A中打开,这样才能保证窗口覆盖整个页面,当你从C中返回需要回发页面B时,却发现取得的是A页面,因为我们窗口是在A页面中创建的。我会通过一篇文章来揭示这一过程,敬请期待。 -示例2,Grid中<em>弹出</em>窗口。(default.aspx/page3.aspx/simpleform.aspx) +示例3,TriggerBox<em>弹出</em>窗口。(default.aspx/triggerbox.aspx/simpleform.aspx) -在整个页面<em>弹出</em>窗口或者在当前页面<em>弹出</em>窗口,仅仅设置Window的Target属性即可。 -示例4,<em>弹出</em>窗口中的<em>弹出</em>窗口。 -对整个Examples更新测试。[fixed] +2008-07-31 v0.3 beta12 -IE下TabStrip在Ajax回发后<em>不会</em>去掉x-hide-display样式,导致Tab显示为空的BUG。[fixed] -对TabStrip/Panel/Window中的IFrame重新设计,如果设置IFrame<em>Url</em>="#"或者"about:blank",则不渲染iframe到页面节点,同时第二次打开Window中的IFrame<em>不会</em>有残影出现。[fixed] -如果TabStrip的Tab不是激活Tab并且设置了IFrame<em>Url</em>,则会延迟加载(示例在tabstrip_iframe.aspx)。[fixed] -Tree控件,点击一个节点自动回发,则当前点击的那个节点的选中状态<em>不会</em>保持的BUG [feedback:zgjiang2]。[fixed] +规范关闭窗口时提示用户保存已经修改的<em>内容</em>提示的调用方式(包含iframe中关闭按钮和window右上角关闭图标的调用方式)(示例在grid_iframe.aspx/simpleform.aspx)。[fixed] -内部实现上,点击“保存并关闭按钮”,可以将关闭窗口的脚本更早的执行(在simpleform.aspx,PageContext.RegisterStartupScript增加重载函数),而不是原来的先创建整个页面UI,再关闭窗口。 -参照Yslow的评分规则,将<em>JS</em>文件引用由head移动到body中。[fixed] -Firefox下,如果页面太长会出滚动条,原来在ViewPort样式中有body{overflow:hidden;}。[fixed] +IFrame内的页面宽度和高度会自动设置(是不是还在为1px/2px的白边而烦恼,现在不用了:-)(示例在iframe_autosize.aspx/simpleform.aspx/simpleform2.aspx)[fixed] -增加PageManager控件(需要指定AutoSizePanelID,即需要设置宽度和高度为整个页面的宽度和高度的Panel),HideScrollbar属性用于隐藏滚动条(IE/Firefox)。 +2008-07-24 v0.3 beta11 -web.config配置信息中MessageTarget改名为FormMessageTarget,增加FormOffsetRight配置项,用来定义全局表单字段距离右边界的宽度,同时每个表单字段都增加OffsetRight属性 [feedback:jima]。[fixed] -Window在回发时设置的Title不起作用的BUG。[fixed] -增加Image控件 [feedback:jima]。[fixed] -Tree控件,如果一个节点不是叶子节点并且没有子节点,则应把它的Expanded设置为false,否则会引起页面死循环回发 [feedback:zgjiang2]。[fixed] -Image增加ToolTipTitle/ToolTipAutoHide两个属性,当提示信息特别长时,可以让用户阅读完毕之后手工关闭提示信息(示例在hyperlink.aspx)。[fixed] -去掉DropDownList控件的Text属性(强制性),可以通过设置SelectedValue来设置选中哪一项 [feedback:xmzhu]。[fixed] -过滤提示消息中的换行符(转换为),否则提示信息可能导致页面渲染错误 [feedback:dcding]。[fixed] +2008-07-23 v0.3 beta10 +完善Tree控件。[fixed] -如何将数据库中的数据绑定到Tree(示例在tree2_bind_database.aspx)。 -ajax加载树节点,放在UpdatePanel中才有ajax的效果(示例在tree2_ajax.aspx)。 -更改TreeNode的ID为NodeId,否则两个树中不能有相同ID的TreeNode,这是不合理的。 -Grid的GridColumn的ID改名成ColumnId,否则同一个页面放置两个Grid,它们的GridColumn的ID不能同名,这是不合理的。注意需要更新以前的<em>代码</em>![fixed] -Grid所有类型的列增加DataTooltipField/DataTooltipFormatString两个字段,以显示ToolTip(示例在grid.aspx)。[fixed] +2008-07-22 v0.3 beta9 +IE6下,左侧导航链接的选中样式,以及鼠标移上去和移开的样式不对。[fixed] -发现原来ie6不能正确解析li的高度,必须手工设置才行(style="height:20px;")。 +IE6/IE7下,模拟树的下拉列表如果文字长度太长,则显示的文字会换行,导致错位。[fixed] -虽然最后未能解决##差旅交通费在IE和Firefox下显示的不同效果。 -但是通过用来代替,从而实现FF和IE下样式的统一。 -刚看到old9的解决方案:把“差旅交通费”改成“差旅交通费”,在IE下和FF下的都不换行,:-) -LinkButton增加OnClick事件 [feedback:huihuang]。[fixed] -Window通过设置IFrame<em>Url</em>和Popup不起作用的BUG。[feedback:xmzhu]。[fixed] +增加树控件(Tree)(示例在tree2.aspx)。[fixed] -可以在回发时维持树的状态(选中行,折叠/展开,CheckBox)。 -可以通过Inline的方式添加树节点,也可以绑定到XmlDocument/XmlDataSource/SiteMap。 -点击树节点可以链接到页面,也可以引发PostBack事件,可以添加自定义脚本。 +2008-07-16 v0.3 beta8 +ContentPanel中放置ExtAspNet控件,则渲染时会出现各种问题,比如下拉列表显示样式出错,Grid没了滚动条等等。[fixed] -隐蔽性非常强,原来在ContentPanel中渲染ExtAspNet控件,如果容器的display='none',则会出现各种问题(主要是大小不对)。 必须设置容器为visibility='hidden',然后在渲染完成后显示容器。 -现在Grid只要显示的设置高度和宽度,或者隐式的设定宽度高度(通过Anchor或Fit布局实现),只要超过Grid容器就会显示滚动条。 +IE6下,在应用Asp.NetAjax后,Form中字段的宽度渲染不正确。[fixed] -调试相当困难,如果你有过在IE下通过alert发现问题的经历,你就能明白。 -最后发现IE6下应用Asp.NetAjax后不仅Form中列的宽度设置不正确,而且主<em>内容</em>区域的宽度设置也不正确,不过最终我们还是顽强的修复了IE6下的这个BUG: 在MasterPage的onReady函数中,首先修正<em>内容</em>区域的宽度(region3.setWidth(pageLayout1.getSize().width - region2.getSize().width - 5);region3.doLayout();),然后修正页面中所有表单的宽度(box_fixFormWidthInIE6();): 示例在 Site.Master 页面。 +集成的AspNetAjax有一个很大的BUG,只要你在页面上进行过ajax操作,当改变窗口大小时你会惊讶的发现<em>内容</em>区域的<em>内容</em>全部为空了![fixed] -解决方法相当怪异,经过一个下午的不断尝试,终于用一个怪异的方法解决(box.{0}.setSize(box.{0}.getSize());box.{0}.doLayout();), 这样的<em>代码</em>让我想起刷新窗口时那个方法(window.location.href=window.location.href;),不管怎么说,我对能很好的解决这个重大的BUG很是欣喜。 +2008-07-14 v0.3 beta6 -增加FlashObject控件。[fixed] -PageLoading增加EnableFadeOut属性(默认false),可以启用淡出效果。[fixed] -Accordion选中样式微调。[fixed] -预加载Form表单出错时提示信息的背景图片。[fixed] +Grid增加EnableDelayRender属性(默认false),可以加快页面的渲染速度(一个典型的20个记录的页面,可提前0.7s-1s显示出来)。[fixed] -因为延迟加载数据<em>不会</em>改变Grid的大小,所以对于非布局内或不设定高度宽度的Grid,需要设置"EnableDelayRender=false"。 -改变Grid中静态的CheckBoxField图片。[fixed] -TabStrip增加TabIndexChanged事件,同时Tab增加EnablePostBack,可以在点击一个Tab时引起回发事件。这在延迟加载Tab的<em>内容</em>非常有用。(示例在tabstrip.aspx)[fixed] +2008-07-12 v0.3 beta5 -页面菜单Toolbar的分割符和背景不相融合。[fixed] -表单字段之间可以比较大小,比如NumberBox可以和Label比较大小,同时增加CompareType,来指定比较的类型(示例在form_compare.aspx)。[fixed] -如果是同种类型的表单字段,不需要指定CompareType,比如两个NumberBox比较值的大小不需要指定CompareType,而一个NumberBox和TextBox比较大小需要指定CompareType。 +如果在编辑页面使用AspNetAjax,则不能在回发时关闭当前窗口[feedback:huihuang](示例在ajax_editor_main.aspx/ajax_editor.aspx)。[fixed] -这是由于ajax后执行的javascript中不能有return false语句。 +在文本框失去焦点时,执行一些Javascript脚本(示例在textbox_blur.aspx) [feedback:xmzhu]。[fixed] -在页面添加onReady函数(会被系统调用),然后用javascript监视文本框值的改变。 -<em>弹出</em>Window默认显示的错误页面,解决方法在当前目录添加一个空的html页面,然后把Window控件的IFrame<em>Url</em>指向这个页面而不是"#"。[fixed] +<em>弹出</em>的窗口中的<em>弹出</em>窗口的如果<em>内容</em>发生变化,则点击右上角的关闭按钮时会有提示用户先保存的<em>对话框</em>,但是这个<em>对话框</em>的被第二个<em>弹出</em>窗口覆盖了 [feedback:xmzhu]。[fixed] -原来的调用方法太麻烦(见示例中alert\alert_1.aspx和alert\alert_2.aspx,总计 6 行<em>代码</em>),现在只需要 3 行<em>代码</em>就OK了。 -点击提交按钮后变成灰色不可再次点击(示例在button_click_gray.aspx)[feedback:jima]。[fixed] +增加Menu、MenuText、MenuSeparator、MenuButton、MenuHyperLink控件,用于按钮的下拉菜单(示例在button_menu.aspx)。[fixed] -增加SplitButton控件。[fixed] +2008-07-09 v0.3 beta4 -DataPicker默认的日期格式为(yyyy-MM-dd)。[fixed] +Form表单字段(TextBox,DropDownList...)之间可以比较大小 [feedback:huihuang]。[fixed] -增加ControlToCompare/ValueToCompare/CompareOperator/CompareMessage四个属性,示例在form_compare.aspx。 +TabStrip中放置IFrame会出现渲染错误 (示例在tabstrip_iframe.aspx)[feedback:jima]。[fixed] -特殊处理,拥有IFrame的Tab如果不是激活Tab,则不设置<em>Url</em>,只有在激活时才设置<em>Url</em>。 -RadioButtonList增加AutoPostBack属性(示例在radio.aspx) [feedback:xmzhu]。[fixed] -FormRow可以设置各列的宽度百分比 (示例在form_columnwidths.aspx)[feedback:jima]。[fixed] +表单字段Enable=false时显示颜色太浅 [feedback:jima]。[fixed] -覆盖缺省样式的.x-item-disabled,设置不透明。 +2008-07-08 v0.3 beta3 -Grid没有数据,向后翻页按钮可以点击的BUG [feedback:huihuang]。[fixed] +增加HiddenField控件。[fixed] -其实用TextBox也能模拟HiddenField的行为,只需要设置CssStyle="display:none;"即可。 +TriggerBox 如果 EnableTextBox = true,则不能将Text回发(这是html的限制)。[fixed] -最后的解决方案居然是设置 readonly=true,同时更改属性为 Readonly(示例在textbox2.aspx)。 -模拟树的下拉列表在失去焦点后显示的文字不对的BUG。[fixed] +控制下拉列表某些项不可以选择(示例在dropdownlist2.aspx)。[fixed] -增加 DataEnableSelectField 属性,不可选择的项变灰,并且鼠标经过时没有样式。 -LinkButton和Grid的LinkButtonField增加Enable属性(示例在hyperlink.aspx和grid.aspx)。[fixed] +2008-07-07 v0.3 beta2 +增加UpdatePanelConnector控件,支持在布局构建的页面使用Asp.net Ajax。[fixed] -使用UpdatePanelConnector有一个要<em>求</em>:ContentTemplate下只能有一个子节点,比如box:Panel。 -示例在ajax3.aspx/content_page4.aspx。 -示例content_page3.aspx中,点击“Ajax查询”按钮和关闭<em>弹出</em>的窗口(点击右上角的叉)都引发异步更新。 +2008-07-03 v0.3 beta1 +容器控件的AutoHeight/AutoWidth默认为false。[fixed] -使用GroupPanel的地方需要手工添加AutoHeight="true"属性。 +增加UserControlConnector,可以在其中放置用户控件(示例在page_usercontrol.aspx)。[fixed] -也可以在ContentPanel中放置用户控件,注意两者的区别。 +增加ContentPlaceHolderConnector,替换原来Region的ContentPlaceHolderId属性(示例在Site.master)。[fixed] +支持Asp.net ajax异步加载。[fixed] -有很大局限性,只能在ContentPanel中使用,示例在ajax1.aspx/content_ajax2.aspx中。 -对于使用布局构建的页面(比如content_page1.aspx)还不能使用Asp.net ajax,因为页面是整体渲染的,先放弃。 +2008-07-02 v0.2 beta12 +关闭前提示当前页面已经被修改(示例在content_page1.aspx/simpleform.aspx)[fixed] -支持Iframe内按钮和window右上角关闭按钮。 -删除CloseAction属性,可以在后台通过OnClientCloseButtonClick属性指定(为了和iframe中做法一致)。 +iframe中的alert/confirm要覆盖整个父页面,而不仅仅是iframe页面。[fixed] -在Firefox下还有问题。[fix pending] +排序时在标题栏显示排序箭头,可以排序的列标题光标为手形(示例在grid_sorting.aspx)。[fixed] -可以通过设置Grid1.CurrentSortColumnIndex = 0;来强制某列显示排序箭头。 -可以通过 Grid1.Columns[Grid1.CurrentSortColumnIndex].SortExpression 的方式取得当前Grid的排序表达式。 +HyperLinkField/WindowField的链接地址支持服务器端格式(即是~/alert.aspx)。[fixed] -TabStrip的Tab中如果放置ContentPanel,则<em>内容</em>渲染位置不正确。[fixed] -可以在ContentPanel中放置用户控件(示例在page_usercontrol.aspx)。[fixed] +2008-06-30 v0.2 beta11 -增加TwinTriggerBox控件(示例在twintriggerbox.aspx)。[fixed] -Grid的数据库分页需要增加属性IsDatabasePaging=true,以便普通分页和数据库分页,否则在添加删除记录时总记录数<em>不会</em>变化 [feedback:zgjiang2]。[fixed] -关闭Window时PostBack事件OnClose可以指定参数,来区分是哪些操作引发的PostBack事件 [feedback:zgjiang2](示例在window_postback.aspx)。[fixed] -如果表单验证不通过,则需要<em>弹出</em><em>对话框</em>提示(第一个没通过验证的字段)(目前还不能切换到相应的tab)。[fixed] +页面中任意可输入表单字段发生变化,可提示先保存。(示例在content_page1.aspx/simpleform.aspx)[fixed] -目前还不支持Window右上角关闭按钮的提示保存功能。 -Master/Content的<em>内容</em>页中Grid的Sort事件不起作用的BUG [feedback:zgjiang2]。[fixed] -Grid中的LinkButtonField设置ConfirmText会出错 [feedback:huihuang]。[fixed] -增加静态类Confirm。[fixed] +2008-06-27 v0.2 beta10 +Grid完善。[fixed] -CheckBoxField在回发时不能保持状态的BUG (已经更新了grid_checkboxfield.aspx示例)。 -Grid中模拟树显示,GridColumn增加DataSimulateTreeLevelField属性(一个Grid只能有一个Column指定此属性),指定此列模拟树显示时的层次字段(0,1,2,...)(示例在grid_simulate_tree.aspx)。 -切换分页时清空选中的值 [feedback:jqpeng]。 -增加PreRowDataBound事件,可以在数据绑定之前设置某列的属性 [feedback:xmzhu] (示例在grid_prerowdatabound.aspx)。 -DropDownList模拟树的方式显示,增加DataSimulateTreeLevelField属性,使用方法和Grid的类似(示例在dropdownlist_simulate_tree.aspx)。 +2008-06-25 v0.2 beta9 +Window窗体中的</a></div><div data-report-view="{"mod":"popu_645","index":"3","dest":"https://download.csdn.net/download/qq598888903/8521685","strategy":"2~default~OPENSEARCH~Rate","extra":"{\"utm_medium\":\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-3-8521685-bbs-391813052.264^v3^pc_relevant_bbs_down_v2_default\",\"dist_request_id\":\"1772778361179_74962\"}","spm":"1035.2023.3001.6557"}" class="list-item" data-v-ca2d15ac><div class="recommend-title" data-v-ca2d15ac><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAltJREFUWEdjZGBgYGhv/yD45//nEEYGBrX//xj4QWK0AoxMDB//MzDcYmHkXVNZKfCeEWz5v8/1DP8ZuGhlKVZzGRm+sTDxNjI2tz1OZfjHYEpXy2GWMTGcZmxpe9xN62DH5TlQdDA2tzyeNSC+h1o66gCyQyApUdRNSIhNGBSS7979ejtv/utd5EQl2Q7IypT0ExJiFoc44O/LadOfbxp1wPAOAWlpdr5Pn//8/Pzp70+QT3GlAX5+ZnYeHhb2p09/fiImRIhOhBYWvIo21ryWu/Z8PHDp4tdn2BxgoM8l4+IiYH/k6OdjJ058vk91B7g487swMDD8v3Hj+2VJSTYpfn5mEZAlHz/9ffPq5e+Xqqoc2iD+nr0f99DSAQQ9RhMHcHAwsYSGCtvKy7Gr4HPBo0c/b69c/fbwzx///hJ0KQMDA9FpAGaYizO/tpkZjwUTEyMTsgX//v3/d/LUl+N79368RozFMDUkOwCkUUODU8zHW9CFg4OJG8T/8ePf181b3u25efPHK1IsB6nF6gAjY25ZEWFWcNPs169/fw4c+HQD3WBBIRaOsBAhZ5D4qjXv9r5/9+cHuhoHBz4NNjYmFpD4m7e/P547+/UxuhqsDoiPE3WWlWVXgvju/5ee3qfLsfmMiZmBEST+7y/Df2zyJcXSkRwcjDwgucePf95buOj1Xqo6gFBwDw8H/P/P8O/nz//fCPkWmzw7OyMXIyMDOLeQHQXkWIxNz9BygJubgI6kBCu4tUMt8PzF75e7dn24QlQuoJalxJgzCDomA901G/DOKSieBrJ7DgCPdYFAskV/NwAAAABJRU5ErkJggg==" alt data-v-ca2d15ac> <a target="_blank" href="https://download.csdn.net/download/qq598888903/8521685" data-report-click="{"mod":"popu_645","index":"3","dest":"https://download.csdn.net/download/qq598888903/8521685","strategy":"2~default~OPENSEARCH~Rate","extra":"{\"utm_medium\":\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-3-8521685-bbs-391813052.264^v3^pc_relevant_bbs_down_v2_default\",\"dist_request_id\":\"1772778361179_74962\"}","spm":"1035.2023.3001.6557"}" data-report-query="spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-3-8521685-bbs-391813052.264^v3^pc_relevant_bbs_down_v2_default&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-3-8521685-bbs-391813052.264^v3^pc_relevant_bbs_down_v2_default" class="title" data-v-ca2d15ac>精易模块[源码] V5.15</a></div> <a target="_blank" href="https://download.csdn.net/download/qq598888903/8521685" data-report-click="{"mod":"popu_645","index":"3","dest":"https://download.csdn.net/download/qq598888903/8521685","strategy":"2~default~OPENSEARCH~Rate","extra":"{\"utm_medium\":\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-3-8521685-bbs-391813052.264^v3^pc_relevant_bbs_down_v2_default\",\"dist_request_id\":\"1772778361179_74962\"}","spm":"1035.2023.3001.6557"}" data-report-query="spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-3-8521685-bbs-391813052.264^v3^pc_relevant_bbs_down_v2_default&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-3-8521685-bbs-391813052.264^v3^pc_relevant_bbs_down_v2_default" class="desc" data-v-ca2d15ac>精易模块 V5.15 what’s new:(2015XXXX) 1、新增“线程_枚举”枚举指定进程ID中所有线程列表,成功返回线程数量,失败返回零。 2、删除“文件_取图标”与"文件_取图标句柄"功能重复。 3、优化“系统_创建桌面快捷方式”流程<em>代码</em>,感谢易友[ds9660]反馈。 4、修正“IP_10进制转IP”与“IP_16进制转IP”命令反向的问题,感谢易友[@humanbean ]反馈。 5、改善“网页_访问”死循环<em>代码</em>,感谢易友[@67564226]反馈。 6、优化“文本_取随机数字”精简<em>代码</em>,提高执行效率,感谢易友[ds9660]反馈。 7、修正“普通填表->链接_点击”无法在本窗口中打开的BUG,感谢易友[@zhuan888]反馈。 8、修正“时间_时间戳转文本”<em>代码</em>不严谨出现数组错误的BUG,感谢易友[455275321]反馈。 MD5:3E66BFA15806DEAFBCF11806EB99CC11 精易模块 V5.13 what’s new:(20150202) 1、修正“编码_ansi到usc2”当末尾出现10或13字符时出错的BUG,感谢易友【@rmcs】反馈。 2、改名“文件_搜索1”改为“文件_搜索_深度”并修正备注及深度问题,感谢易友【@小爬虫】反馈。 3、改善“时间_取现行时间戳”优化<em>代码</em>,提高执行效率,感谢易友【@小爬虫】反馈。 4、改善“文本_逐字分割”改善个别字符分割错误的情况,<em>代码</em>由易友【@百弊若愚】<em>提供</em>。 5、改善“窗口_激活,窗口_置控件焦点,窗口_是否在最顶端”有时失败的问题,由易友【@wjt741106】<em>提供</em><em>代码</em>。 6、新建“外部组合框_关闭列表”关闭已经<em>弹出</em>的下拉列表。 7、修正“文件_下载”不能下载的BUG,感谢易友【@新手来学易】反馈。 8、删除“文本_到小写m”删除该汇编命令,出现不兼容。 9、修正“系统_取MAC地址”未初始化COM不支持线程的BUG,感谢易友【@ds9660】反馈。 10、改善“文本_粘贴”参数可空也处理的问题,感谢易友【@ds9660】反馈。 11、新增“调用COM方法”COM编程,动态调用COM方法。 12、新增“时间_WMI时间转日期”把WMI数据时间转换成日期时间型,如“20140926001639.000000+480”。 13、修正“类_系统信息”重写该类,在部分系统下不兼容及闪退问题,感谢易友【@longfeng0008】反馈。 14、改善“程序_禁止重复运行”当标识为空时,默认为自身路径,<em>代码</em>由易友【@wjt741106】<em>提供</em>。 15、改善“普通填表类-就绪判断_源码关键字”添加区分大小写参数。 MD5: 3C01272B9E2DAFDEF08D20C191E3C265 精易模块 V5.12 what’s new:(20150108) 1、删除“IP_取外网IP”与 网页_取外网IP()功能重复命令,感谢易友【67564226】反馈。 2、修正“正则元字符转义”子程序,对应个别替换符错误的BUG,感谢易友【@墨雨千寻】反馈。 3、改善“进程_枚举”处理效率,由易友【@御风软件】<em>提供</em>方案。 4、新增“窗口_是否被遮挡”,判断一个窗口是否被置顶窗口遮挡,<em>代码</em>由易友【@shituo】<em>提供</em>。 5、改善“汇编类->置入汇编<em>代码</em>”增添一个参数是否保留以前<em>代码</em>。感谢易友【@无名侠】反馈。 6、修正“文本_加密”返回文本传递给“文本_解密”后长度不正确BUG,改为返回字节集。 7、改善“外部编辑框_取密码框文本”当不是密码输入属性时不做任何处理,感谢易友【@wjt741106】反馈。 8、恢复“文本_加密”与“文本_解密”,把新版加解密改名为"文本_加密c"与“文本_解密c”。 MD5:5831C531ABD80ADD0EFE10172AEED71F 精易模块 V5.11 what’s new:(20150101) 1、修复“文本_取中间_批量”获取大数据崩溃的BUG,改为循环方式获取,大数据不建议用此命令(吃CPU)。 2、添加“文本_朗读”是否使用百度语音引擎参数,为空时默认使用微软语音引擎。 3、改善“文本_加密”与“文本_解密”去除原来算法,改用微软基础加解密API。 4、修复“网页_打印”,无效的BUG,感谢易友【@nameyypx】反馈。 5、修复“时间_取身份证判断”出现17位身份证的BUG,感谢易友【@<em>求</em>其改个名】反馈。 6、新增“类_托盘”类模块,源码来自彗星托盘图标模块,感谢源作者。【带实例】。 MD5:F4ECA009078166001A6577C1E502D7E6 精易模块 V5.01 what’s new:(20141201) 1、新增“网页_取网络文件名”获取无后缀的下载地址文件名,感谢易友【@灵魂出窍808】反馈。 2、新增“网页_是否为网页”判断地址是否为<em>URL</em>路径。 3、删除“窗口_取进程路径”命令,与窗口_句柄取进程路径() 功能相同。 4、删除“线程_强制结束”命令,与 线程_销毁() 功能相同。 5、修改“窗口_热键注册”参数备注错误,感谢易友【灵魂出窍808】反馈。 6、优化“时间_取中国星期几”命令,感谢易友【灵魂出窍808】提议。 7、新增“网页_取网络文件尺寸”获取网络文件尺寸,失败返回零。 8、新增“数组_取次数”,取指定数组成员出现相同数量,源码由易友【C盘是头猪】<em>提供</em>。 9、修正“进程_ID取进程名”在64位系统不能获取名称的BUG,感谢易友【慕寒夜】反馈。 10、新增“进程_取线程数”通过进程ID或进程名获取指定进程线程数。 MD5:89AECEA5D0E513E7D586EA8396AD17CC 精易模块 V5.0 what’s new:(20141121) 1、修正“类_通用<em>对话框</em>”会改变当前目录的BUG。感谢易友【scqandcy】反馈。 2、修正“进制_十到十六”不支持长整数的BUG。 3、恢复3.75版的“时间_格林威治转北京”命令,设置参数可将13位时间戳转换成北京时间。 4、改善“类_通用<em>对话框</em>”打开与保存<em>对话框</em>拥有易全部属性,感谢易友【詠不言敗】提议。 5、新增“类_通用<em>对话框</em>->选择字体”成功返回字体相关信息,调用格式如; 编辑框.字体=选择字体() 6、修复“网页_创建快捷方式”在win7以上系统不能自定义图标的BUG,感谢易友【蓝风】反馈。 7、修复“进制_十六到十”不支持长整数的BUG。 8、新增“类_时钟”,类似易语言自带时钟控件,可设置时钟周期。 MD5:E31C357200B0CA8994D373FD7298CE95 精易模块 V3.88 what’s new:(20141101) 1、为“网页_访问”和“网页_访问_对象”增加了HEAD方法。 2、修正“目录_复制”在线程未初始化,导致对象不能创建的问题,感谢易友【@pp25729391】反馈。 3、修正“类_环境存取->读环境变量”不能读取当前进程环境变量的BUG,感谢易友【@詠不言敗】反馈。 4、修正“文本_逐字分割”返回数组不清除会保留上次<em>内容</em>的问题,感谢易友【@JadeジYu】反馈。 5、新增“文本_是否为双字节字符”与OPenGL支持库->文字轮廓 中的 是否为双字节字符功能相同。 6、新增“文本_是否为字母”,判断指定文本是否为字母。 7、新增“目录_取桌面目录”获取当前系统桌面目录。 MD5:6592799FF42CE9AFDF122C47642C9DEE 精易模块 V3.87 what’s new:(20141021) 1、新增“效验_取md5_进度”,进度获取文件MD5值,支持大文件,采纳易友【@易模块】建议。 2、改善“程序_禁止重复运行”添加是否显示已运行的参数,此命令由易友【@小爬虫】改进。 3、修正“网页_取网址引用”不支持Https和mms地址协议问题,感谢易友【@小爬虫】反馈。 4、修正“文件_改扩展名”当后缀名错误情况下会删除原文件的BUG。 5、新增“进程_取同名ID”取相同进程ID,成功返回相同进程ID数量,失败返回-1。 6、修正“键盘_单击”当参数2为空时,按下未放开的问题,感谢易友【seadty】反馈。 7、删除“文件_取扩展名1”命令。 8、修正“编码_Utf8到Unicode”频繁操作导致内存泄漏的BUG,感谢易友【◆野蛮vE儿】反馈。 9、修正“目录_是否存在”,当存在无反缀文件时返回真的BUG,感谢易友【@飞灵】反馈。 10、新增“系统_信息框Ex”定时信息框,超时后自动销毁。 效验MD5:A8EA46EB0FA7395F9355E37286B32742 精易模块 V3.86 what’s new:(20141001) 1、修正“进程_名取句柄”部分机器返回零的BUG。感谢易友【liu307921917】反馈。 2、修改“注册表操作Ex”中的写入函数,现在支持:#REG_SZ;#REG_EXPAND_SZ;#REG_MULTI_SZ;#REG_BINARY#REG_DWORD;#REG_DWORD_BIG_ENDIAN;#REG_QWORD类型的写入。 将原来的函数分割为:“写入键值Ex_数值”和“写入键值Ex_文本”。 3、修正“注册表操作Ex”不支持“#HKEY_CURRENT_USER”的BUG,感谢易友【pp25729391】反馈并帮助测试。 4、新增“注册表操作Ex->写QWORD_64值”写入64位长整数值,成功返回真,失败返回假.源码由@pp25729391<em>提供</em>。 5、修正“类_APIHOOK->取地址”当安装时不填后缀,而取地址填写后无法获取已安装地址BUG,感谢易友【@ChongZi】反馈。 6、修正“窗口_枚举所有子窗口”当过滤类名输入空符号或一段空文本后无法枚举的BUG,感谢易友【vibu】反馈. 7、改名“编码_Ansi到十进制_文本”源作者重新改名为“编码_Ansi到ASCII_文本型”。 8、字节集_还原,新版算法问题,已恢复老版本命令。 9、新增“窗口_限制尺寸”,限制窗口缩放最小尺寸与最大尺寸,超出则无法缩放。采纳易友【@kisl7979】建议。 10、新增“窗口_取消尺寸限制”,取消窗口尺寸限制。 效验MD5:51A332F5AB071957FEF39209FD240CB6 精易模块 V3.85 what’s new:(20140916) 1、改善“文件_取文件名”与“目录_取尾部目录名或文件名”取出路后带斜杠问题,感谢论坛易友【雷雷】反馈。 2、改善“文本_取行数”载入大数据程序处理效率问题,感谢某位易友反馈。 3、新增“编码_Ansi到十进制_文本型”此<em>代码</em>由易友【菜虫】<em>提供</em>,将Ansi码转换为十进制,如:将“精易论坛”转换后将返回格式如:“뺫틗싛첳”。 4、新增“目录_取运行目录”取当前被执行的易程序文件所处的目录。同易支持库功能一样。 5、新增“取对象指针”取对象指针。相当于特殊功能支持库->取变量数据地址。 6、新增“取变体型指针”取对象指针。相当于特殊功能支持库->取变量数据地址。 7、新增“取整数型指针”取整数指针。相当于特殊功能支持库->取变量数据地址。 8、新增“类_环境存取”类模块,可以新建、编辑、删除当前用户或系统环境变量,无需重启立刻生效。 精易模块 V3.83 what’s new:(20140901) 1、改善“网页_访问”、“网页_访问_对象”命令,添加默认协议头“Referer” 2、修复校正API正确申明后,“类_内存”不能使用的BUG。 3、改善“普通填表->单选框_取状态”参数2加入可空标志。 4、改善“字节集_还原”优化子程序处理速度,感谢易友【落款hMZ】<em>提供</em><em>代码</em>。 5、修改“窗口_热键注册”API正确申明,并把第五个参数【热键标识文本】改为热键ID。 6、新增“类_任务栏”可以显示隐藏任何第三方窗口图标,相当于易中的(不在任务栏显示),带【实例】演示。 7、新增“类_线程池1”中的“等待”方法。 8、修复“编码_Utf8到Ansi“分配内存失败BUG,感谢易友【仁鹰】反馈。 9、改善“网页_访问”中最后一个参数(代理地址)为“”符号时无法访问网页,感谢易友【z00544】反馈。 精易模块 V3.82 what’s new:(20140816) 1、修复“时间_取现行时间戳”有时不能正常返回13位时间戳,当毫秒为一位时,返回结果为11位。感谢易友【happyboy】反馈。 2、修复上个版本校正API正确申明后“普通填表”类返回不能初始化BUG。 3、新增“类回调_取类地址”类回调(带实例)源码来自东灿的ECallBack。 4、新增“类回调_释放回调”释放回调子程序地址。 5、新增“系统_调用帮助”调用系统帮助文档。 精易模块 V3.81 what’s new:(20140811) 1、修复“输入法类”绝对路径不正确BUG。 2、改善“类_内存”读写内存失败返回不正确值问题。感谢易友【stft】建议。 3,网页访问_对象()增加一个参数,用来保存网页返回状态<em>代码</em>。 4、改善(字节集_取左边|取右边|取中间)与未公开子程序重复,改名为 字节集_寻找取左|字节集_寻找取右|字节集_寻找取中,并修正BUG。 5、公开子程序(字节集_到文本|字节集_到整数|字节集_取左边|字节集_取右边|字节集_取空白|字节集_取长度|字节集_取中间|字节集_替换|字节集_寻找|字节集_取指针)模块原有命令。 6、修正“文本_取中间_批量”当参数限定长度不要时,不能继续向下执行的BUG,感谢易友【半个灵魂づ留着】<em>代码</em>。 7、删除“文本_取中间_批量1”命令。 8、修复“注册表操作Ex->写入键值Ex”创建项,重启丢失的BUG,感谢易友【pp25729391】反馈。 9、修复“文本_转拼音”传入的参数变成全角的BUG,感谢易友【reloking】反馈。 10、修复“编码_Utf8到Unicode”频繁操作导致程序崩溃BUG,感谢易友【diablozxl】反馈。 11、修复“线程_等待”命令注释反的问题,返回真表示线程结束,假表示已超时。感谢易友【tone】反馈。 12、修复“类_识图->找图_从字节集”命令,载入大文件直接奔溃的BUG,感谢易友【tone】反馈。 精易模块 V3.80 what’s new:(20140801) 1、新增“进程_取优先级”,特殊进程需要特权,检索指定的进程的优先级。返回值:0=最高,1=高于标准,2=实时,3=标准,4=低于标准,5=低,返回-1表示无权限访问进程。 2、新增“进程_置优先级”,特殊进程需要特权,设置一个进程的优先级别,成功返回真,失败返回假。 3、新增“窗口_取激活句柄”,获取当前系统激活的窗口句柄。 4、新增“类_通用<em>对话框</em>”支持大窗口样式与易自带样式,2种选择。用法和易一样,完全可以替代。 5、新增“进程_取句柄数”,功能与XP系统下任务管理器一样。 6、新增“进程_取IO读取计数”,功能与XP系统下任务管理器一样。 7、新增“进程_取IO读取字节”,功能与XP系统下任务管理器一样。 8、新增“进程_取IO其它计数”,功能与XP系统下任务管理器一样。 9、新增“进程_取IO其它字节”,功能与XP系统下任务管理器一样。 10、新增“进程_取IO写入计数”,功能与XP系统下任务管理器一样。 11、新增“进程_取IO写入字节”,功能与XP系统下任务管理器一样。 12、改善“输入法类->激活”向指定窗口激活安装的输入法,感谢易友【大胆点】<em>提供</em><em>代码</em>。 13、修复“图片_转换”,修复导致程序崩溃BUG,源码来源【凌晨孤星】同步。 精易模块 V3.78 what’s new:(20140715) 1、修复“进程_ID是否有效”在时钟循环获取下进程句柄不断飙升的BUG。 2、修复“ADSL拨号类 ->_取本机IP”,在XP系统下静态编译获取不到的BUG,感谢易友【islandandfriend】反馈。 3、新增“系统_取网络主机名”,取当前网络上登记的主机名,详细请参考CMD命令ipconfig /all 中的Windows IP 配置。 4、新增“系统_取网络主DNS后缀”,详细请参考CMD命令ipconfig /all 中的Windows IP 配置。 5、新增“系统_取网络节点类型”,详细请参考CMD命令ipconfig /all 中的Windows IP 配置。 6、新增“系统_IP路由是否启用”,详细请参考CMD命令ipconfig /all 中的Windows IP 配置。 7、新增“系统_WINS代理是否启用”,详细请参考CMD命令ipconfig /all 中的Windows IP 配置。 8、修改“目录_取尾部目录名或文件名”使用标准windows函数; 9、修改“文件_创建”成功返回1,失败返回错误<em>代码</em>,同时如果函数执行失败,<em>不会</em>出现文件残留; 10、修改“文件_打开”失败返回错误<em>代码</em> 11、修改“线程_销毁”与“线程_强制结束”存在命名歧义的问题,感谢易友【Mr.Yang】提议。 12、新增“系统_取IE版本”获取IE游览器版本,失败返回空文本。 13、修复“文件_取类型”原数据结构申明不正确导致偏移出错取出不正确值BUG,感谢易友【无\月】提醒。 精易模块 V3.77 what’s new:(20140701) 1、对已知命令备注存在歧义或错误的备注给予修正。 2、修复“线程_强制退出”命令,不能立即退出问题。 3、改善“CreateEvent”公开的API未<em>提供</em>返回值的问题,感谢易友【glgg】提醒。 4、改善“系统_屏蔽任务管理器1”在win7下无效问题。 5、修复“编码_usc2到ansi_EX”编码<em>里</em>包含英文字母会编码失败问题,感谢易友【7780000】提醒。 6、修复“文本_是否为汉字”正则方式正则语句判断不够准确的问题,感谢易友【精易⌒小傷】提醒。 7、新增“文件_句柄取路径”根据文件句柄获取文件所在路径,失败返回空文本。 8、新增“文件_取属性”与易语言中 取文件属性 ()功能相同。 9、新增“文件_取类型”获取文件类型,如.TXT文件,则返回“文本文档”,失败则返回空。 10、新增“文件_取图标”成功返回图标句柄,失败返回零。 精易模块 V3.76 what’s new:(20140620) 1、新增“窗口_是否激活”命令,判断指定窗口是否激活状态,是则返回真,否则返回假。 2、新增“窗口_取矩形”命令,取指定窗口矩形信息。 3、新增“窗口_取客户区矩形”命令,取指定窗口内客户区矩形信息。 4、新增“窗口_取样式”命令,取指定窗口样式。 5、新增“窗口_取扩展样式”命令,取指定窗口扩展样式。 6、新增“窗口_取边框宽度”命令,取指定窗口边框宽度。 7、新增“窗口_取边框高度”命令,取指定窗口边框高度。 8、修复“外部超级列表框->选择表项”,无法选中问题,感谢易友【fanghg】提醒。 9、新增“文本_到小写m”改善传递变量值改变的问题,感谢易友【我爱钱钱钱】提醒。 10、修复“文本_取右边”无法取到数据问题,感谢易友【我爱钱钱钱】提醒。 11、修复“目录_取大小”取上G目录返回负数问题,感谢易友【de01】提醒。 12、修复“目录_创建”当路径出现多个“\\”会删除整个文件夹的问题,感谢易友【淮南老三】提醒。 13、改善“外部超级列表框->取标题”由原来默认缓冲尺寸1048576字节,改为260字节。 14、修复“文件_枚举1”当参数文件夹路径为真,回调子程序出现二次相同路径,修改后将删除‘文件夹路径’参数。 15、重写“文件_定位”,explorer命令行定位会产生多余的explorer进程,用API<em>代码</em>此命令,新增编辑模式参数。 16、重写“目录_定位”,命令与'文件_定位'相同,采纳易友【御风软件】意见。 精易模块 V3.75 what’s new:(20140609) 1、改善“时间_北京转格林威治、时间_格林威治转北京”命令,删除无用参数,简写<em>代码</em>。 2、改善“系统_置屏幕分辨率”参数【设置模式】可为空标志,默认为永久修改分辨率。 3、修复“窗口_置窗口化”中调用[系统_置屏幕分辨率]中不最后参数不可空BUG,默认修改为临时分辩率,感谢易友【訫誶】的提醒。 4、改善“窗口_模糊遍历窗口”不能区别关键词大小写问题,感谢易友【yckwan】提醒。 5、改善“窗口_取句柄_模糊”不能区别关键词大小写问题,感谢易友【yckwan】提醒。 6、修复“文本_取右边”中起始寻找位置参数无效问题,感谢易友【御风じ撒泡尿ジ】大神提醒。 7、修复“字节集_取右边”中起始位置参数无效问题,感谢【Hoibben】提醒。 8、新增“目录_枚举子目录1”在原有命令上添加向下枚举参数,感谢易友【wjt741106】<em>提供</em><em>代码</em>。 9、新增“文本_指针到文本A”,把ansi指针转换为文本。 10、新增“文本_指针到文本W”,把unicode指针转换为ansi文本。 11、新增“系统_取时区”与 应用接口支持库->系统处理 中时区一样。 12、新增“系统_取货币符号”,与 应用接口支持库->系统处理 【货币符号】一样。 13、新增“系统_取日期格式”,与 应用接口支持库->系统处理 【日期格式】一样。 14、新增“系统_取时间格式”,与 应用接口支持库->系统处理 【时间格式】一样。 15、新增“类_CPU信息”用WMI接口获取CPU相关核心数、占用率、名称等,注意;频繁获取程序可能会崩溃。 16、新增“类_系统信息”,用Wmi接品获取系统相关信息,如;名称、版本、物理内存等。 精易模块 V3.73 what’s new:(20140601) 1、改善“系统_运行死慢”,添加确认参数,防止误操作,感谢易友【詠不言敗】的建议。 2、改善“程序_加入右键菜单”命令添加右键位置,并增加删除参数。 3、改善“系统_关联右键菜单带图标”命令,增加一个删除参数,填真为删除指定菜单名称。 4、改善“程序_加入IE工具栏”命令,可自定义程序名称,路径,图标,以及增加删除参数。 5、修复“线程_销毁”,句柄数增加及线程达到2000以上返回0的问题,感谢易友【YJF】的提醒。 6、修复“类_系统服务->取程序路径”,修正在XP系统下循环获取分配8字节内存失败问题,感谢易友【my6036324】提醒。 7、填补V3.72中[文件_搜索1]命令丢失。 8、新增“线程_强制结束”命令,强制结束正在运行的线程。 9、新增“类_系统域”类模块,对windows系统域支持,加入与取消需重启后生效。 10、新增“系统_处理事件1”命令,从消息队列中获取消息然后移除消息并派发出去,达到与易自带的"处理事件"同样功能。 11、新增“类_系统还原”,创建系统还原点与删除系统还原点。 12、新增“系统_取字体名”,获取字体名称,如“simsun.ttc”显示字体名称为“宋体”。 13、新增“系统_取CPU占用率”命令,取当前CPU占用率。成功返回CPU占用率;失败返回-1。支持XP,2003及win7 64位系统。 14、新增“系统_关电源”命令,命令未公开API实现快速关机,感谢易友【暂停使用】<em>提供</em>其实语言源<em>代码</em>。 15、新增“窗口_闪动Ex”命令,闪烁指定窗口,可选闪烁标题、任务栏、次数、速度,成功返回真,失败返回假。 16、删除“易语言_到系统右键中、易语言_加入IE工具栏、易语言_加到系统右键”,此类命令有功能重复,整合到“程序_加入IE工具栏、程序_加入右键菜单”命令中。 精易模块 V3.72 what’s new:(20140511) 1、改善“网页_访问”,“网页_访问_对象”中的协议头补全机制,感谢易友 yaoying68 提醒。 2、去除“网页_访问”命令,中的超时参数,超时请自行用线程控制,感谢易友 yaoying68 建议。 3、新增“文件_搜索1”命令,简化程序参数,改用子程序回调显示搜索结果,添加目录深度参数,参照雨林木风Ghost搜索功能,提升搜索效率。 4、修复“文件_搜索”命令,修正当标签为空时关键词无效分支,同时修改列表框为必要参数(原参数可为空,无任何实际作用),感谢易友 biao197 提醒。 5、修复“系统_设置IE代理地址”设置ADSL代理失败问题,感谢易友“剩下我de孩子气”提醒。 6、修复“程序_取命令行”命令,替换常规的分割方式分割不正确问题,改用API数组方式获取,感谢易友“鲁凯啸”做出的努力。 7、改善“正则表达式类”对线程的支持,感谢易友“长翅膀的猫”的提醒。 8、新增“文件_取尺寸1”命令,利用易自带“取文件尺寸”命令支持获取超过2G大文件尺寸。 9、恢复所有类中的“线程_初始化COM库”和“线程_取消COM库” 10、修复“网页_取外网IP”命令,失效的问题,感谢易友 剩下我de孩子气 的提醒 精易模块 V3.71 what’s new:(20140501) 1、修复“程序_取命令行()”命令无法获取到命令行参数的问题,感谢易友 yangcongwen 提醒。 2、改善“网页_访问”,“网页_访问_对象”中的协议头补全机制 3、改善“网页_访问”命令添加超时参数(Win7需测试) 4、改善“网页_访问”,“网页_访问_对象”中的Cookies获取机制,感谢“淮南老三”等易友的提醒 5、改善“网页_访问_对象”命令中的,默认初始COM操作,避免重复初始化导致的错误(同类对象命令中的默认初始COM操作已经全部去除,请留意命令注解) 6、去除“网页_访问Ex”命令。 7、去除“协议头_网页”常量。 8、去除“文本_汉字转拼音”命令,此命令功能与“文本_转拼音”一样,但效率不如“文本_转拼音”,且不保留标点符号 9、改善“文本_取空白文本、字节集_取空白字节集”命令,汇编方式获取,提高执行效率。 10、改善“图片_加水印”命令,注:此命令还需要对不同的图片以及透明色测试。 11、改善“文件_取配置节名数组、文件_取配置项名数组”命令,解决项目或节名中包含一些特殊符号时获取有误的问题,感谢易友 淮南老三 提醒。 12、新增"类_配置项",全API操作。 13、新增“时间_转为GMT格式1”,将日期时间型数据转换为GMT格式,感谢会员shituo<em>提供</em><em>代码</em>。 14、新增“时间_转为GMT格式2”。将日期时间型数据转换为GMT格式 15、新增“时间_GMT转为时间”,将GMT文本时间 转换成日期时间型,感谢会员shituo<em>提供</em><em>代码</em>。 16、新增“时间_GMT转为时间1”将GMT文本时间 转换成日期时间型, 17、新增“网页_取编码”,获取网页编码信息。 精易模块 V3.70 what’s new:(20140401) 1、新增“注册表操作类Ex”部分win7用户操作不了注册表项值可试试本类中的命令。感谢 【落雪】分享。 2、新增“窗口_是否在最顶端_句柄()”<em>提供</em>一个要判断的窗口句柄进行判断是否在最顶端,感谢易友 牛X的孩子 分享。 3、新增“窗口_是否禁止()”判断指定窗口句柄是否被禁止,禁止返回真,没有禁止返回假。 4、新增“网页_跳转1()”命令,用于针对百度等一些特殊处理过的网站无法跳转的问题,感谢【微凉】分享。 5、改善“窗口_句柄取进程路径()”命令,精简<em>代码</em>,感谢易友 牛X的孩子 分享。 6、改善“汇编_取随机数()”命令,如果最小数大于最大数程序会关闭的情况,感谢易友 wzjcyy 提醒。 7、改善“系统_置屏幕分辨率()”命令,增加设置分辨率后可一直使用,具体请查看参数,感谢 biao197 提醒。 8、改善“窗口_取光标位置()”命令返回值问题,具体使用请搜索命令使用例题,感谢易友 无ye 提醒。 9、改善“就绪判断_文本关键字、文本关键字”命令在使用中,窗口被关闭后还一直在执行的问题,感谢易友 我爱钱钱钱 提醒。 10、改善“图片_转换()”命令,如果传入空字节集数据会导致程序失败的问题,感谢易友 jfaumt 提醒。 11、改善“时间_时间戳转文本,时间_取随机时间戳,时间_取现行时间戳”多线程操作会内存增加的问题,感谢易友 ljm2010 提醒。 12、去除“服务端类、客户端类”开头的命令,原因是远程服务支持库中的命令比此些命令更好。调用的API以及常量未去除。 13、改善“IP_10进制转IP、IP_转至10进制”互转的问题。感谢易友 yf5486yf 提醒,感谢【落雪】完善。 14、修复“文件拖放类”中注册超级列表框控件导致程序关闭的问题,感谢易友 h1601zl 提醒,感谢【落雪】完善。 15、修复“类_系统服务”无法操作系统服务的问题,感谢易友 fanghg 提醒和 【落雪】的改进。 精易模块 V3.69 what’s new:(20140312) 1.修复 “正则表达式类” 操作超过512kb文本时崩溃问题 2.修复 “类_脚本组件” 类方法“执行” 操作超过512kb<em>JS</em>文本时崩溃问题 3.修复 “普通填表” 类方法“网页_取文本” 和 “网页_取源码” "就绪判断_文本关键字""就绪判断_源码关键字"命令,返回超过512kb网页文本时崩溃问题 1.恢复“编码_usc2到ansi”和“编码_ansi到usc2”为原来的<em>代码</em>,原来<em>代码</em>能直接转换包含编码的文本,但是在特殊情况会返回空,甚至导致程序崩溃 1.恢复3.67版本修改的命令为原来的,折磨死我这小菜鸟了,这次是真的不玩了,真的是最后一个版本了,3.6.9 by 御风软件 精易模块 V3.68 what’s new:(20140310) 1.修复 “编码_usc2到ansi ”不能把文本型转换到字节集错误 精易模块 V3.67 what’s new:(20140309) 1.删除 "MultiByteToWideChar_byte" “WideCharToMultiByte_byte” 多余API 1.修复全部调用API"MultiByteToWideChar","WideCharToMultiByte" 参数三默认-1自动取长度,导致的软件崩溃问题 感谢 Bints 的提醒 精易模块 V3.66 what’s new:(20140309) 1.修复 “文本_取中间_批量_正则方式”并且优化<em>代码</em> 感谢 地球孤鹰 的提醒 1.修复“文本_取随机范围数字”会取出大于结束数的问题的 精易模块 V3.65 what’s new:(20140303) 1.改名“窗口_取IE窗口句柄”为“窗口_取IE浏览框句柄” 参数“窗口句柄”改名为“IEFrame句柄”,完善命令说明和参数备注 感谢 小爬虫的提醒 注:原名称有歧义,误导。这<em>里</em>并非取ie的句柄,是取那个浏览框的句柄(用于填表或者其他操作等等) 精易模块 V3.64 what’s new:(20140227) 1.删除“窗口_取位置和大小”多余的局部变量,优化内存 感谢 小爬虫 的提醒 1.修复“鼠标_限制” 感谢 小爬虫 的提醒 1.完善“批量_xx_保存配置”,“批量_xx_读取配置”命令,清除组件寻找句柄,感谢 小爬虫 的提醒 注:xx表示组件名,包括编辑框,单选框,日期框,选择框,组合框这些组件的名字 精易模块 V3.63 what’s new:(20140214) 1.重写“文本_取随机汉字”,效率提升 2.重写“文本_取随机数字”,效率提升 3.重写“文本_取随机姓氏”,效率提升,参数值意义发生变化 4.重写“随机_字母”,效率提升 5.重写“文本_汉字转拼音”,效率提升 1.优化“文本_取随机字符”,效率提升,删除多余变量,循环中的处理事件 1.完善“文本_取随机范围数字”参数备注 精易模块 V3.62 what’s new:(20140213) 1.修复“目录_是否存在”返回值为假的问题 感谢会员 orachard 的提醒 2.修复“InterlockedIncremen”“InterlockedDecrement”DLL注释错误 感谢会员 ds9660 的提醒 精易模块 V3.61 what’s new:(20140202) 1.修复“类_内存配置项”配置项加载的问题 感谢 SalHe 的提醒和会员 微凉清风的改进<em>代码</em> 1.完善 “窗口_取位置和大小”备注 感谢 Avatar·Tonoy 的提醒 1.重写“文本_插入文本到某位置” 感谢 我叫林舒书 的提醒 2.重写“剪辑板_置文本”“剪辑板_取文本” 感谢 myself2 的<em>代码</em> 精易模块 V3.60 what’s new:(20140114) 1.完善“IP_转至16进制”“IP_16进制转IP”的备注 感谢 瞎胡闹 的提醒 2.修复“系统_格式化软盘”没有返回值的问题 感谢 阿蒙 的提醒 1.重写“线程_启动多参”并改名为“线程_启动多参_整数型” 修改详情请查看新命令 2.重写“线程_启动四参”并改名为“线程_启动多参_文本型” 修改详情请查看新命令 精易模块 V3.59 what’s new:(20140107) 1.删除“系统_启用本地连接”中的垃圾<em>代码</em>,提升速度,感谢 阿蒙 的提醒 2.删除“程序_禁止重复运行_浏览器”,一个不知道何时添加的未公开子程序(可能<em>代码</em>也有问题) 1.完善“程序_加入右键菜单”,增加可空参数 <显示名称>感谢 阿蒙 的提醒 2.完善“线程_取自线程句柄”,采用百度百科的说明作为备注 1.修复“线程_取自线程ID”,采用百度百科的说明作为备注 2.修复“编码_usc2到ansi”“编码_ansi到usc2” 暂时使用EX版代替原来的<em>代码</em> 感谢 478755018 的提醒 3.修复“网页_置Cookie1” 感谢 阿蒙 的提醒 精易模块 V3.58 what’s new:(20140101) 1.公开“进程_ID取模块”1个内部子程序 1.删除“进程_ID取模块文件名” ,因为该命令效率低下,还和“进程_ID取进程名”一样的效果 进程_ID取模块文件名 先枚举模块得到信息数组,再计次循环 当条件=PID 就返回模块文件名,实际上枚 举到的模块信息数组所有的PID都一样,得到的也就是第一次循环结果,也就是进程名 2.删除“进程_ID取模块路径“,删除理由和上述一样 1.修复“剪辑板_取文件”的状态错误BUG 感谢 网络注册会员 的提醒,感谢 农夫 的<em>代码</em> 精易模块 V3.57 what’s new:(20131230) 1.删除 "窗口_取位置和大小" 的错误备注部分,感谢 美丽兔兔 的提醒 2.删除“窗口_消毁” 这个重复命令,该命令和“窗口_关闭”是一样的 感谢 改名卡 的提醒 3.删除“网页_取文本” 增加2个速度更快的命令“网页_取文本_reg”和“网页_取文本_dom” 4.删除“内存_优化” 在程序最小化和后台时系统会自动调用该函数来节省内存 个人使用,容易出现各种各样的问题,详情:http://bbs.125.la/thread-13690978-1-1.html 感谢 红河 的提醒 ,感谢 落雪 的详细分析文章 ↑ 1.新增“网页_取文本_reg” 正则方式取文本 感谢 H婶 <em>提供</em>参考<em>代码</em> 2.新增“网页_取文本_dom” DOM方式取文本 感谢 微凉 <em>提供</em>参考<em>代码</em> 3.新增“网页_置浏览器UA” 设置当前程序中浏览器的UserAgent 感谢 阿蒙 <em>提供</em><em>代码</em> 1.完善 “进制_十到二” 取消长度不足8位自动会补零,请根据需要补零 感谢 小爬虫 的提醒 2.完善 类_ODBC数据库,“读文本”参数二的备注,改为 索引从0开始 感谢 阿蒙 的提醒 3.完善 类_ODBC数据库 ,“连接Access”增加参数 <参数_Accdb> 感谢 阿蒙 的<em>代码</em> 精易模块 V3.56 what’s new:(20131224) 1.删除 “类_<em>js</em>on”的命令 “取成员”,使用该命令会导致软件挂掉,原因未知 解决方案,直接取通用属性,无需二次解析,速度更快 原:<em>js</em>on.取成员 (0).取通用属性 (“Id”) 新:<em>js</em>on.取通用属性 (“[0].Id”) 2.完善“网页_取域名” 将原来的3.50的和3.51重写的加强版合并 3.修复“系统_取宽带线路 ()”因为新版“网页_取域名”带来的bug 感谢 4.重写“系统_修改IP地址和网关和子网掩码” 感谢 落雪 <em>提供</em>参考<em>代码</em> 5.增加“系统_修改DNS” 感谢 落雪 <em>提供</em>参考<em>代码</em> 精易模块 V3.55 what’s new:(20131223) 1.完善 “系统_显示关闭<em>对话框</em>”改名为 ““系统_显示关机<em>对话框</em>” 增加可空参数<WIN系列系统> 修复 WIN7下堆栈错误,感谢 小爬虫 的提醒 注:内部DLL "_关机<em>对话框</em>"改名“_关机<em>对话框</em>_XP” ,新增内部DLL "_关机<em>对话框</em>_WIN" 2.修复“音乐_停止”“音乐_暂停”返回值问题 感谢 小爬虫 的提醒 3.修复“文本_取出中间文本”参数 是否不区分大小写 得到相反结果的问题 4.修复“系统_取宽带线路”命令 感谢 secondkill 的提醒 5.增加"音量_""音乐_"开头的命令参数和备注 感谢 小爬虫 的提醒 6.删除 DLL“CoCreateInstance”“CLSIDFromString”“MultiByteToWideChar_整数型” 7.删除 "A2W"“音量_设置”“音量_获取”“音量_增减”等命令 因为原命令调用特定的dll,只对win7以上系统有效,并会附加一个特殊功能支持支持库 8.重写“音量_静音” 增加“音量_增加”“音量_减少”,对声卡操作,XP,WIN系列均有效 精易模块 V3.54 what’s new:(20131221) 1.修复“系统_取宽带用户名密码”因调用 RtlMoveMemory_整数型 传址导致取到空的问题 1.增加“系统_取磁盘类型” 2.增加DLL“CoCreateInstance”“CLSIDFromString”“MultiByteToWideChar_整数型” 3.增加“音量_设置”“音量_获取”“音量_静音”“音量_增减”“A2W” 感谢 灰灰君 <em>提供</em>参考<em>代码</em> 1.修正 “系统_置音量”为"音量_置声道",修改“系统_取音量”为"音量_取声道" 1.完善“文件_改扩展名”的参数备注 感谢 落雪 的提醒 精易模块 V3.53 what’s new:(20131220) 1.完善 “编码_<em>URL</em>编码”对 参数 欲编码的文本 是否为空进行判断 2.完善 “普通填表.网页_验证码同步”的备注,删除残留的测试<em>代码</em> 3.完善 “网页_禁止允许gif图片”“网页_禁止允许显示图片” “网页_禁止允许背景声音”“网页_禁止允许点击声音” “网页_禁止允许播放网页视频”“网页_禁止允许一键操作” 的备注信息 1.增加网页_禁止允许一键操作() 参数 <禁止允许播放网页视频> 2.增加 DLL "RtlMoveMemory_整数型2",目前应用于 类_位图操作 的 “从屏幕创建” 1.删除 “网页_验证码读取” 该命令是封装的 网页_访问_对象,所以 请直接使用“网页_访问”或“网页_访问_对象”读取验证码,根据需要进行“图片_转换” 2.删除“网页_验证码同步” 该命令是用于填表同步验证码的,所以 请直接使用“普通填表.网页_验证码同步”,使用前请确保已经“普通填表.初始化” 1.修复 类_识图 的“找图_从句柄” 感谢会员 今朝 的提醒 和 果子 <em>提供</em>解决方案 精易模块 V3.52 what’s new:(20131217) 1.修复 “普通填表.多行文本框_写<em>内容</em>”感谢会员 wjlzhi 的提醒和<em>提供</em>解决方案 2.修复 “网页_取元素坐标”导致普通填表无法使用,感谢会员 残绵游戏 的提醒 3.修复“程序_重启”win8无效的问题 感谢会员 千年 的提醒和<em>提供</em>解决方案 1.完善“系统_以管理员模式创建进程”的备注 感谢会员 977945676 的提醒 2.完善“线程池1”,投递任务支持多个参数 感谢会员 小磊 进行<em>代码</em>优化 3.完善“文本_汇编_取随机数字” 还原为 “文本_取随机数字” 该命令并没有被取消掉,只是被改名了,因此,对于前维护者改名所造成的不便进行道歉 1.重写“线程_启动四参”命令的参数类型和位置 感谢会员 小磊 进行<em>代码</em>优化 2.重写“数组_排序”,速度提升256倍以上! 感谢会员 落雪 <em>提供</em>的参考<em>代码</em> 3.增加 DLL "lstrcmp" 目前应用于数组_排序 4.增加“数组_反转”,感谢会员 落雪 <em>提供</em>的参考<em>代码</em> 精易模块 V3.51 what’s new:(20131214) 1.增加“网页_访问_EX”增加超时功能,和修复win7下https代理无效问题 感谢 90后辉煌 <em>提供</em>参考<em>代码</em>,让我们期待已久的超时功能回归,也请大家帮忙测试 【网页_访问_EX 为测试版本,完善后,将会删除该命令,功能会添加到 网页_访问()】 2.增加 线程池类1“取状态” 感谢 我叫林舒书 <em>提供</em>参考<em>代码</em> 3.增加 普通填表类“网页_刷新”刷新当前页面 感谢 laiyihan 的建议 4.增加 “网页_取文本”去掉网页源码中的HTML标签,保留纯文本 1.删除 普通填表类“网页判断” 精简模块体积(这是一个没有用的空白子程序) 1.重写 “窗口_圆角化” ,参数一类型由窗口改为句柄,参数二和三可空 感谢 果子的提醒 2.重写“网页_取元素坐标”原命令虽然公开但无效,因为屏蔽了全部<em>代码</em>(<em>代码</em>本身残缺) 故本次属于重写<em>代码</em>,接收参数,改为一个,元素对象,<em>代码</em>简洁,需要更多功能请组合其他命令 3.重写“网页_取域名”增加可空参数<后缀点数量> 新版命令支持任何后缀域名 感谢 977945676 的提醒 1.完善 “网页_访问”和“ 网页_访问_对象”的参数<附加协议头>的备注 感谢 90后辉煌 的提醒 2.完善"系统_启用本地连接"备注 感谢 7141330054 的建议 3.完善“网页_访问” 删除设置代理时,无用的到文本,提高效率 感谢 果子 的提醒 4.完善“文本_取出中间文本”的参数<起始搜寻位置>的备注 感谢 落雪 的提醒 5.完善 DLL“_宽字符到双字节”和“_宽字符到双字节1”的备注 方便区分 1.修复“编码_Unicode到Utf8”,感谢 90后辉煌 的提醒 2.修复“系统_取宽带用户名密码”因 编码_Unicode到Utf8 有问题导致的问题 感谢 wjjucwj 的提醒 注:ADSL拨号类的<取宽带用户名密码>也是调用这个命令 <em>代码</em>个人审阅完成,发现<em>代码</em>和3.40版一样,对于3.40能取出,新版无法取出 如果不是上述已被修复的bug导致的,暂时无法解释。。。 因为该命令调用很多的子程序,涉及<em>代码</em><em>太多</em>,维护时间耗时2天多,也因此拖慢了3.51的发布 故决定,先发布3.51版本,本命令可能隐藏的BUG,我们继续研究,看能否找出真正的问题所在 精易模块 V3.50 what’s new:(20131211) 1.修正 DLL "WideCharToMultiByte"最后一个参数为逻辑型 2.新增 DLL "StrToIntEx" 目前应用于usc2和ansi互转 EX加强版 3.新增 “编码_usc2到ansi_EX”“编码_ansi到usc2_EX” usc2和ansi互转 EX加强版 精易模块 V3.49 what’s new:(20131209) 1.删除 “网页_访问s ” 解决方案和删除原因:http://bbs.125.la/thread-13687724-1-1.html 2.完善 “网页_取外网IP” 网页_访问s 为 网页_访问 效率提升 3.增加“系统_屏蔽任务管理器1”“系统_恢复任务管理器1”的备注提示信息 4.增加 “时间_取现行时间戳” 一个可选参数,是否为 十位时间戳 感谢 H婶 的提醒 5.修复 “时间_转为GMT格式” 日期缩写错误 感谢 H婶 的提醒 精易模块 V3.48 what’s new:(20131208) 1 重写 “系统_是否已联网1” 检测速度更快,感谢 阿蒙 的提醒 1、修复 模块内部命令 ,感谢 农夫 的提醒 2、改善 “RAR_解压文件” 备注 ,感谢 阿蒙 的提醒 3. 改善 “文本_是否为汉字”增加正则方式判断 感谢 7141330054 的提醒 精易模块 V3.47 what’s new:(20131207) 1、增加“系统_关联右键菜单带图标”命令 2、增加“类_内存配置项”命令,感谢会员 微凉 <em>提供</em>的<em>代码</em> 3、增加“编码_U编码转换”命令 4、增加“音乐_播放”,“音乐_暂停”,“音乐_停止”命令 5、增加“文本_朗读”命令 1、改进“网页_验证码读取”添加“附加协议头”的参数,感谢会员 提百万 的建议 2、改进“系统_取MAC地址”命令,感谢会员 Mr.Yang 的源码 3、改进“ 网页_取Cookie”等命令的描述歧义,感谢会员 imdong 的提醒 1、修复“时间_取中国星期几”命令无效的BUG,感谢会员 易難為易 的建议 2、修复“目录_是否存在”,“目录_创建” 传入参数被参考,再次使用参数变量,引发路径错误 3、完善“目录_”“文件_”开头命令的参数描述,防止出现6中错误,数量众多,这<em>里</em>不一一列举 4、修复“易语言_取易语言安装目录” 感谢会员 7141330054 的提醒 精易模块 V3.46 what’s new:(20131101) 1、完善重写“文本_取出现次数”命令感谢会员 Mr.Yang <em>提供</em>的<em>代码</em> 2、完善重写“系统_格式化软盘”命令感谢会员 Mr.Yang <em>提供</em>的<em>代码</em> 3、完善“程序_删除自身”命令感谢会员 暂停使用 的提醒 4、完善“进程_ID取窗口句柄”命令感谢会员 维卷残恋 的提醒 5、完善“类_<em>js</em>on”命令感谢会员 jixun66 <em>提供</em>的<em>代码</em> 1、修复“目录_是否存在”无效的问题,感谢会员 红颜似水 的提醒 1、添加“线程池1”类中的新“投递任务”命令,感谢会员 维卷残恋 <em>提供</em>的<em>代码</em> 精易模块 V3.45 what’s new:(20130901) 1、添加“系统_修改开机密码”命令,感谢会员 吾愛じ啃玉米ジ <em>提供</em>的<em>代码</em> 2、添加“程序_写日志”命令 感谢会员 以后不抓了 的提醒 1、修复“网页_访问_对象”命令无效的BUG 2、修复API“ ZwQuerySystemInformation”的声明错误,感谢会员 天踏梦者 的提醒 3、修复“程序_加入右键菜单”的命名问题,感谢会员 阿蒙 的提醒 4、完善“窗口_取IE窗口句柄”命令备注,感谢会员 御风软件 的提醒 5、修复“系统_取CPU名称”、“系统_取CPU描述”发布版本崩溃的问题,感谢会员 淡淡烟草味 的提醒 6、修复“数组_输出”命令出错的问题,感谢会员 鬼璽 的提醒 精易模块 V3.44 what’s new:(20130802) 1、紧急修复“汇编_取随机数”命令所带来的一系列BUG 精易模块 V3.43 what’s new:(20130801) 1、增加“目录_强力清空”命令,完美清空大型目录 2、重写“目录_删除”命令,大幅度提高删除速度 3、“网页_访问_对象”命令,增加对象继承参数感谢会员 咏恒ぃ☆吣 的建议 4、增加“网页_修改”命令,感谢会员 晓易 <em>提供</em>的<em>代码</em> 5、增加“汇编_取随机数”命令 6、优化替换模块内部所有的“取随机数”命令为“汇编_取随机数” 7、“网页_访问_对象”命令,默认忽略Https证书错误感谢会员 tomorrow01 的建议 8、重写“文件_合并文件”命令 9、添加“类_<em>js</em>on” 1、修复“服务器类”当启动时最后3个参数任意为空,会导致程序闪退的问题,感谢会员will的提醒 2、修复“文本_取右边”等一组,文本命令的参数描述错误,感谢会员 泪涟涟 的提醒 3、修复“置窗口位图”命令的一个参数错误,感谢会员will的提醒 精易模块 V3.42 what’s new:(20130601) 1、优化“网页_验证码同步”命令的备注,感谢会员御风软件提醒 1、修复“文本_取中间_批量”命令结果不正确的BUG,感谢会员淘宝网赚<em>提供</em>的命令 1、增加“进程_创建”命令 精易模块 V3.41 what’s new:(20130501) 1、优化“网页_验证码同步”命令,默认不自动转换格式,但保留转码参数 2、优化“批量_”开头命令的备注,感谢会员御风软件提醒 3、优化“文本_取随机范围数字”命令提高运行速度,感谢会员jixun66<em>提供</em>的<em>代码</em> 4、优化“校验_md5”相关命令添加16位的支持,感谢会员御风软件提醒 5、关闭“网页_访问”命令的自动转码功能 1、修复“剪辑版_置文件”和“剪辑版_取文件”命令,会导致程序崩溃的BUG 2、修复“转为十六进制”的函数错误,感谢会员狼牙<em>提供</em>的修正命令 3、修复“进程_名取句柄”无法取到句柄的BUG,感谢会员 奋斗的叶子 的提醒 精易模块 V3.4 what’s new:(20130401) 1、优化“网页_验证码同步”命令,自动转换图片格式,感谢会员御风软件提醒 2、优化去除重复命令“文本_取文本长度”,感谢会员御风软件提醒 3、优化“目录_是否存在”命令,返回结果更加精确,感谢会员雪落有声<em>提供</em>的命令 4、优化“文件_是否存在”命令,返回结果更加精确,感谢会员雪落有声<em>提供</em>的命令 5、优化“目录_定位”命令,写法更加简洁,感谢会员雪落有声<em>提供</em>的命令 6、优化网页事件常量的命名方式,统一为英文,,感谢会员御风软件建议 7、优化“系统_设置IE代理地址”命令添加是否立即更新设置参数 1、增加“系统_临时字体_安装”、卸载命令,感谢会员啸锐<em>提供</em>的命令 2、增加“文件_循环删除”命令 3、增加“窗口_循环关闭”命令 1、修复“文件_写出字节集”命令API模式无效的BUG,感谢会员5582139<em>提供</em>的命令 2、修复部分命令的备注问题 3、修复“字节集_到十六进制”无法解密的BUG,感谢会员linkasp的提醒 4、修复“进程_ID取窗口句柄”取出无效句柄的问题,感谢会员残绵游戏的提醒 精易模块 V3.33 what’s new:(20130301) 1、增加“网页_删除IE缓存文件”命令 2、增加“系统_判断有无摄像头”命令 1、修复“网页_访问s”无法使用的问题 2、修复“网页_取外网IP”失效的问题 3、修复“文本_取中间_批量”结果会叠加的问题,感谢会员尔康的提醒 4、修复“安装键盘钩子”命令的一个无效参数,感谢会员阿柳的提醒 5、修复“窗口_热键卸载所有”命令会内存出错的问题,感谢会员果子的提醒 6、修复“易语言_到系统右键中”的数据类型错误,感谢会员gotomiss的提醒 7、修复“易语言_加快捷方式到IE浏览器”的数据类型错误,感谢会员gotomiss的提醒 8、修复“外部编辑框_置四边距”的数据类型错误,感谢会员gotomiss的提醒 9、修复“外部列表框_鼠标坐标取项目索引”的数据类型错误,感谢会员gotomiss的提醒 10、修复“文本_取汉字机内码”的数据类型错误,感谢会员gotomiss的提醒 11、修复“文本_取汉字机内码2”的数据类型错误,感谢会员gotomiss的提醒 12、修复“客户端类_发送并取回1”的数据类型错误,感谢会员gotomiss的提醒 1、优化“网页_访问”相关命令的备注,感谢会员御风软件提醒 2、优化“网页_访问”相关命令的自动转码功能,支持XML页面 3、优化“文本_取中间_批量_正则方式”支持换行符 精易模块 V3.32 what’s new:(20130207) 1、修正“文本_删除指定文件行”命令,无法删除最后一行的BUG,感谢会员陌笔圣手提醒 2、修正“内存_优化”命令的优化间隔无法调整的问题,感谢会员御风软件提醒 3、优化“cmd_移动并运行”防止文件路径带空格执行失败,感谢会员jixun66提醒 4、优化“窗口_枚举”命令,无法枚举隐藏窗口的问题,感谢会员微凉提醒 5、优化“类_线程池1”去除部分无效的命令,感谢会员微凉提醒 6、修正“网页_验证码同步”命令会清空剪辑板的问题,感谢会员于哈三轮车提醒 7、优化“网页_访问”的自动解码能力,感谢会员御风软件建议 8、增加“数组_去重复1”可去除带有特殊字符的数组,但效率较慢,感谢会员zengxming提醒 9、优化“系统_检测host”,感谢会员jixun66提醒 10、修正“易语言_加快捷方式到IE浏览器”第二个参数无效的BUG,感谢会员jixun66提醒 11、修正“置入汇编<em>代码</em>”无效的问题,感谢会员jixun66提醒 12、添加“网页_访问s”命令,使用WinInet的方式访问网页,懒人专用自动返回文本 13、添加“系统_是否64位操作系统”命令 14、修复“程序_是否被调试”,返回结果是相反的问题,感谢会员yaoying68的提醒 15、修复“程序_禁止重复运行”部分参数无效的问题,感谢会员yaoying68的提醒 16、修复“系统_取星座”命令的错别字,感谢会员xzlch的提醒 17、添加“窗口_控件调整_创建”和销毁,感谢会员啸锐<em>提供</em> 18、修复“取指针地址_整数型”的返回结果不准确的问题,感谢会员 神一样的男人!提醒 精易模块 V3.31 what’s new:(20130126) 1、修正“内存.读文本”命令,会崩溃的问题,感谢会员 陌笔圣手提醒 2、修正“网页_访问”命令,代理IP可能失效的BUG 3、添加“编码_编码转换对象”命令,使用对象转码更加稳定 4、添加“文件_循环删除文件”命令 5、优化“cmd_删除自身”命令,只读文件也可删除 6、添加“系统_以管理员模式创建进程”命令 7、添加“系统_注册组件”、“系统_卸载组件 ()”命令,用于注册和卸载dll组件 8、添加“写注册项Ex”命令,用于写入带有斜杠的注册项 9、添加“窗口_模糊遍历窗口”命令,用于模糊枚举窗口 10、添加“窗口_取进程路径”命令 11、添加“系统_检测host”命令,用于检测host是否被修改 12、添加“文件_枚举1”命令,用于高速枚举文件 13、添加“窗口_取字符串宽度”命令 14、添加“窗口_按类名枚举”命令 15、添加“窗口_强制显示”命令 16、优化“系统_取硬盘特征字”的运行速度 精易模块 V3.3 what’s new:(20130119) 1、重写“网页_访问”命令,优化参数排序,增加智能解码功能,兼容黑月 2、重写“网页_访问_对象”,优化参数排序,增加自动处理Cookie功能 3、重写“网页_<em>JS</em>格式化”,采用了国外优秀的开源库,准确无误 4、修正“清除Cookie”命令无法彻底清除部分Cookie的问题 5、增加“文本_去重复文本”命令 6、修正“网页_取端口”,遇到ssl的网站,会返回错误的问题 7、修正“文件_定位”,在某些情况下,会失效的BUG 8、优化“线程_等待”命令的,超时参数,加入无限等待 9、增加“类_线程池1”,更加灵活的线程池模型 10、增加“系统_修改MAC地址”可修改本机mac地址,重启后生效 11、增加“系统_删除MAC地址”删除注册表内的mac地址 12、优化“FTP_”程序集,改为类模块,更加灵活调用 13、修正“网页_取Cookie”命令无法取出部分Cookie的BUG 14、重写“网页_Cookie合并更新”命令优化<em>代码</em>结构 15、修复“网页_屏蔽网页复制提示”在某些情况下无法立即生效的BUG</a></div><div data-report-view="{"mod":"popu_645","index":"4","dest":"https://download.csdn.net/download/a525235942/2284257","strategy":"2~default~OPENSEARCH~Rate","extra":"{\"utm_medium\":\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-4-2284257-bbs-391813052.264^v3^pc_relevant_bbs_down_v2_default\",\"dist_request_id\":\"1772778361179_74962\"}","spm":"1035.2023.3001.6557"}" class="list-item" data-v-ca2d15ac><div class="recommend-title" data-v-ca2d15ac><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAltJREFUWEdjZGBgYGhv/yD45//nEEYGBrX//xj4QWK0AoxMDB//MzDcYmHkXVNZKfCeEWz5v8/1DP8ZuGhlKVZzGRm+sTDxNjI2tz1OZfjHYEpXy2GWMTGcZmxpe9xN62DH5TlQdDA2tzyeNSC+h1o66gCyQyApUdRNSIhNGBSS7979ejtv/utd5EQl2Q7IypT0ExJiFoc44O/LadOfbxp1wPAOAWlpdr5Pn//8/Pzp70+QT3GlAX5+ZnYeHhb2p09/fiImRIhOhBYWvIo21ryWu/Z8PHDp4tdn2BxgoM8l4+IiYH/k6OdjJ058vk91B7g487swMDD8v3Hj+2VJSTYpfn5mEZAlHz/9ffPq5e+Xqqoc2iD+nr0f99DSAQQ9RhMHcHAwsYSGCtvKy7Gr4HPBo0c/b69c/fbwzx///hJ0KQMDA9FpAGaYizO/tpkZjwUTEyMTsgX//v3/d/LUl+N79368RozFMDUkOwCkUUODU8zHW9CFg4OJG8T/8ePf181b3u25efPHK1IsB6nF6gAjY25ZEWFWcNPs169/fw4c+HQD3WBBIRaOsBAhZ5D4qjXv9r5/9+cHuhoHBz4NNjYmFpD4m7e/P547+/UxuhqsDoiPE3WWlWVXgvju/5ee3qfLsfmMiZmBEST+7y/Df2zyJcXSkRwcjDwgucePf95buOj1Xqo6gFBwDw8H/P/P8O/nz//fCPkWmzw7OyMXIyMDOLeQHQXkWIxNz9BygJubgI6kBCu4tUMt8PzF75e7dn24QlQuoJalxJgzCDomA901G/DOKSieBrJ7DgCPdYFAskV/NwAAAABJRU5ErkJggg==" alt data-v-ca2d15ac> <a target="_blank" href="https://download.csdn.net/download/a525235942/2284257" data-report-click="{"mod":"popu_645","index":"4","dest":"https://download.csdn.net/download/a525235942/2284257","strategy":"2~default~OPENSEARCH~Rate","extra":"{\"utm_medium\":\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-4-2284257-bbs-391813052.264^v3^pc_relevant_bbs_down_v2_default\",\"dist_request_id\":\"1772778361179_74962\"}","spm":"1035.2023.3001.6557"}" data-report-query="spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-4-2284257-bbs-391813052.264^v3^pc_relevant_bbs_down_v2_default&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-4-2284257-bbs-391813052.264^v3^pc_relevant_bbs_down_v2_default" class="title" data-v-ca2d15ac>网管教程 从入门到精通软件篇.txt</a></div> <a target="_blank" href="https://download.csdn.net/download/a525235942/2284257" data-report-click="{"mod":"popu_645","index":"4","dest":"https://download.csdn.net/download/a525235942/2284257","strategy":"2~default~OPENSEARCH~Rate","extra":"{\"utm_medium\":\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-4-2284257-bbs-391813052.264^v3^pc_relevant_bbs_down_v2_default\",\"dist_request_id\":\"1772778361179_74962\"}","spm":"1035.2023.3001.6557"}" data-report-query="spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-4-2284257-bbs-391813052.264^v3^pc_relevant_bbs_down_v2_default&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-4-2284257-bbs-391813052.264^v3^pc_relevant_bbs_down_v2_default" class="desc" data-v-ca2d15ac>网管教程 从入门到精通软件篇 ★一。★详细的xp修复控制台命令和用法!!! 放入xp(2000)的光盘,安装时候选R,修复! Windows XP(包括 Windows 2000)的控制台命令是在系统出现一些意外情况下的一种非常有效的诊断和测试以及恢复系统功能的工具。小编的确一直都想把这方面的命令做个总结,这次辛苦老范给我们整理了这份实用的秘笈。   Bootcfg   bootcfg 命令启动配置和故障恢复(对于大多数计算机,即 boot.ini 文件)。   含有下列参数的 bootcfg 命令仅在使用故障恢复控制台时才可用。可在命令提示符下使用带有不同参数的 bootcfg 命令。   用法:   bootcfg /default  设置默认引导项。   bootcfg /add    向引导列表中添加 Windows 安装。   bootcfg /rebuild  重复全部 Windows 安装过程并允许用户选择要添加的<em>内容</em>。   注意:使用 bootcfg /rebuild 之前,应先通过 bootcfg /copy 命令备份 boot.ini 文件。   bootcfg /scan    扫描用于 Windows 安装的所有磁盘并显示结果。   注意:这些结果被静态存储,并用于本次会话。如果在本次会话期间磁盘配置发生变化,为获得更新的扫描,必须先重新启动计算机,然后再次扫描磁盘。   bootcfg /list   列出引导列表中已有的条目。   bootcfg /disableredirect 在启动引导程序中禁用重定向。   bootcfg /redirect [ PortBaudRrate] |[ useBiosSettings]   在启动引导程序中通过指定配置启用重定向。   范例: bootcfg /redirect com1 115200 bootcfg /redirect useBiosSettings   hkdsk   创建并显示磁盘的状态报告。Chkdsk 命令还可列出并纠正磁盘上的错误。   含有下列参数的 chkdsk 命令仅在使用故障恢复控制台时才可用。可在命令提示符下使用带有不同参数的 chkdsk 命令。   vol [drive:] [ chkdsk [drive:] [/p] [/r]   参数  无   如果不带任何参数,chkdsk 将显示当前驱动器中的磁盘状态。 drive: 指定要 chkdsk 检查的驱动器。 /p   即使驱动器不在 chkdsk 的检查范围内,也执行彻底检查。该参数不对驱动器做任何更改。 /r   找到坏扇区并恢复可读取的信息。隐含着 /p 参数。   注意 Chkdsk 命令需要 Autochk.exe 文件。如果不能在启动目录(默认为 %systemroot%System32)中找到该文件,将试着在 Windows 安装 CD 中找到它。如果有多引导系统的计算机,必须保证是在包含 Windows 的驱动器上使用该命令。 Diskpart   创建和删除硬盘驱动器上的分区。diskpart 命令仅在使用故障恢复控制台时才可用。   diskpart [ /add |/delete] [device_name |drive_name |partition_name] [size]   参数 无   如果不带任何参数,diskpart 命令将启动 diskpart 的 Windows 字符模式版本。   /add   创建新的分区。   /delete   删除现有分区。   device_name   要创建或删除分区的设备。设备名称可从 map 命令的输出获得。例如,设备名称:   DeviceHardDisk0   drive_name   以驱动器号表示的待删除分区。仅与 /delete 同时使用。以下是驱动器名称的范例:   D:   partition_name   以分区名称表示的待删除分区。可代替 drive_name 使用。仅与 /delete 同时使用。以下是分区名称的范例:   DeviceHardDisk0Partition1    大小   要创建的分区大小,以兆字节 (MB)表示。仅与 /add 同时使用。   范例   下例将删除分区: diskpart /delete Device HardDisk0 Partition3 diskpart /delete F:   下例将在硬盘上添加一个 20 MB 的分区:   diskpart /add Device HardDisk0 20   Fixboot   向系统分区写入新的分区引导扇区。只有在使用故障恢复控制台时,才能使用 fixboot 命令。   fixboot [drive]   参数  驱动器   将要写入引导扇区的驱动器。它将替代默认的驱动器(即用户登录的系统分区)。例如,驱动器:D:   范例   下列命令范例向驱动器 D: 的系统分区写入新的分区引导扇区:   fixboot d:   注意: 如果不带任何参数,fixboot 命令将向用户登录的系统分区写入新的分区引导扇区。   Fixmbr   修复启动磁盘的 主启动记录。fixmbr 命令仅在使用故障恢复控制台时才可用。   fixmbr [ device_name]   参数   device_name   要写入新的主引导记录的设备(驱动器)。设备名称可从 map 命令的输出获得。例如,设备名称:   DeviceHardDisk0   范例   下列命令示例向指定设备写入一个新的主引导记录:   fixmbr DeviceHardDisk0   注意 如果不指定 device_name,新的主引导记录将被写入引导设备,即装载主系统的驱动器。 如果系统检测到无效或非标准分区表标记,将提示用户是否继续执行该命令。除非您访问驱动器有问题,否则不要继续进行。向系统分区写入新的主引导记录可能破坏分区表并导致分区无法访问。   format   将指定的驱动器格式化为指定的文件系统。含有下列参数的 format 命令仅在使用故障恢复控制台时才可用。可在命令提示符下使用带有不同参数的 format 命令。   format [ drive:] [ /fs:file-system]   参数   drive:   指定要格式化的驱动器。不能从故障恢复控制台格式化软盘。   /q   对驱动器进行快速格式化。不扫描驱动器看是否有坏区域,因此只应对以前格式化过的驱动器使用该参数。   /fs:file-system   指定要使用的文件系统:FAT、FAT32 或 NTFS 。如果未指定文件系统,将使用现有的文件系统格式。   Map   显示驱动器号与物理设备名称的映射。该信息在运行 fixboot 和 fixmbr 命令时非常有用。   map 命令仅在使用故障恢复控制台时才可用。   Map [ arc]   参数   arc   指示 map 命令显示高级 RISC 计算 (ARC)设备名称而不是设备名称。以下是 ARC 设备名称的范例:   multi(0)disk(0)rdisk(0)partition(1)   等价的设备名称是:   DeviceHardDisk0Partition1   范例   下例将物理设备名映射为使用 ARC 设备名称的驱动器号:   map arc   注意 如果不使用 arc 参数,则 map 命令显示设备名称。 map 命令还显示文件系统的类型和每个磁盘的大小(MB)。 二。★★★常见文件扩展名和它们的说明 常见文件扩展名和它们的说明 A ACE:Ace压缩档案格式 ACT:Microsoft office助手文件 AIF,AIFF:音频互交换文件,Silicon Graphic and Macintosh应用程序的声音格式 ANI:Windows系统中的动画光标 ARC:LH ARC的压缩档案文件 ARJ:Robert Jung ARJ压缩包文件 ASD:Microsoft Word的自动保存文件;Microsoft高级流媒体格式(microsoft advanced streaming format,ASF)的描述文件;可用NSREX打开 Velvet Studio例子文件 ASF:Microsoft高级流媒体格式文件 ASM:汇编语言源文件,Pro/E装配文件 ASP:动态网页文件;ProComm Plus安装与连接脚本文件;Astound介绍文件 AST:Astound多媒体文件;ClarisWorks“助手”文件 Axx:ARJ压缩文件的分包序号文件,用于将一个大文件压至几个小的压缩包中(xx取01-99的数字) A3L:Authorware 3.x库文件 A4L:Authorware 4.x库文件 A5L:Authorware 5.x库文件 A3M,A4M:Authorware Macintosh未打包文件 A3W,A4W,A5W:未打包的Authorware Windows文件 B BAK:备份文件 BAS:BASIC源文件 BAT:批处理文件 BIN:二进制文件 BINHex:苹果的一种编码格式 BMP:Windows或OS/2位图文件 BOOK:Adobe FrameMaker Book文件 BOX:Lotus Notes的邮箱文件 BPL:Borlard Delph 4打包库 BSP:Quake图形文件 BUN:CakeWalk 声音捆绑文件(一种MIDI程序) C C0l:台风波形文件 CAB:Microsoft压缩档案文件 CAD:Softdek的Drafix CAD文件 CAM:Casio照相机格式 CAP:压缩音乐文件格式 CAS:逗号分开的ASCⅡ文件 CCB:Visual Basic动态按钮配置文件 CCH:Corel图表文件 CCO:CyberChat数据文件 CCT:Macromedia Director Shockwave投影 CDA:CD音频轨道 CDF:Microsoft频道定义格式文件 CDI:Philip的高密盘交互格式 CDM:Visual dBASE自定义数据模块文件 CDR:CorelDRAW绘图文件;原始音频CD数据文件 CDT:CorelDRAW模板 CDX:CorelDRAW压缩绘图文件;Microsoft Visual FoxPro索引文件 CFG:配置文件 CGI:公共网关接口脚本文件 CGM:计算机图形元文件 CH:OS/2配置文件 CHK:由Windows磁盘碎片整理器或磁盘扫描保存的文件碎片 CHM:编译过的HTML文件 CHP:Ventura Publisher章节文件 CHR:字符集(字体文件) CHT:ChartViem文件;Harvard Graphics矢量文件 CIF:Adaptec CD 创建器 CD映像文件 CIL:Clip Gallery下载包 CIM:SimCity 2000文件 CIN:OS/2改变控制文件用于跟踪INI文件中的变化 CLASS:Java类文件 CLP:Windows 剪贴板文件 CLL:Crick Software Clicker文件 CLS:Visual Basic类文件 CMD:Windows NT,OS/2的命令文件;DOS CD/M命令文件;dBASEⅡ程序文件 CPI:Microsoft MS-DOS<em>代码</em>页信息文件 CPL:控制面板扩展名,Corel颜色板 CPP:C++<em>代码</em>文件 CPR:Corel<em>提供</em>说明书文件 CPT:Corel 照片-绘画图像 CST:Macromedia Director Cast文件 CUR:Windows光标文件 D DBF:dBASE文件,一种由Ashton-Tate创建的格式,可以被ACT!、Lipper、FoxPro、Arago、Wordtech、Xbase和类似数据库或与数据库有关产品识别;可用数据文件(能被Excel 97打开);Oracle 8.1.x表格空间文件 DBX:DataBearn图像;Microsoft Visual FoxPro表格文件 DCT:Microsoft Visual FoxPro数据库容器 DCU:Delphi编译单元文件 DCX:Microsoft Visual FoxPro数据库容器;基于PCX的传真图像;宏 DIR:MacromediaDirector文件 DLL:动态链接库 DOC:FrameMaker或FrameBuilder文档;Word Star文档、Word Perfect文档、Microsoft:Word文档;DisplayWrite文档 DOT:Microsoft Word文档模板 DPL:Borland Delph 3压缩库 DRV:驱动程序 DRW:Micrografx Designer/Draw;Pro/E绘画文件 DSF:Micrografx Designer VFX文件 DSG:DOOM保存的文件 DSM:Dynamic Studio音乐模块(MOD)文件 DSP:Microsoft Developer Studio工程文件 DSQ:Corel QUERY(查询)文件 DST:刺绣机图形文件 DSW:Microsoft Developer Studio工作区文件 DTA:World Bank(世界银行)的STARS数据文件 DTD:SGML文档类型定义(DTD)文件 DTED:地面高度数字数据(图形的数据格式)文件 DTF:Symantec Q&A相关的数据库数据文件 DTM:DigiTrakker模块文件 DUN:Microsoft拔号网络导出文件 DV:数字视频文件(MIME) DWG:AutoCAD工程图文件;AutoCAD或Generic CADD老版本的绘图格式 DXR:Macromedia Director受保护(不可编辑)电影文件 E EDA:Ensoniq ASR磁盘映像 EDD:元素定义文档(FrameMaker+SGML文档) EDE:Ensoniq EPS磁盘映像 EDK:Ensoniq KT磁盘映像 EDQ:Ensoniq SQ1/SQ2/Ks32磁盘映像 EDS:Ensoniq SQ80磁盘映像 EDV:Ensoniq VFX-SD磁盘映像 EFA:Ensoniq ASR文件 EFE:Ensoniq EPS文件 EFK:Ensoniq KT文件 EFQ:Ensoniq SQ1/SQ2/Ks32文件 EFS:Ensoniq SQ80文件 EFV:Ensoniq VFX-SD文件 EMD:ABT扩展模块 EMF:Windows增强元文件 EML:Microsoft Outlook Express邮件消息(MIME RTC822)文件 EXE:可执行文件(程序) F FAV:Microsoft Outlook导航条 FAX:传真类型图像 FCD:虚拟CD-ROM FDF:Adobe Acrobat表单文档文件 FLA:Macromedia Flash电影 FND:Microsoft Explorer保存的搜索文件(Find applet) FON:系统字体 FRT:Microsoft FoxPro报表文件 FRX:Visual Basic表单文本;Microsoft FoxPro报表文件 FXP:经Microsoft FoxPro编译的源文件 G GDM:铃声、口哨声和声音板模块格式 GetRight:GetRight未完成的下载文件 GHO:Norton 克隆磁盘映像 GID:Windows 95全局索引文件(包括帮助状态) GIF:CompuServe位图文件 GL:动画格式 GRP:程序管理组 H HEX:Macintosh BinHex2.0文件 HLP:帮助文件;Date CAD Windows帮助文件 HPP:C++程序头文件 HQX:Macintosh BinHex 4.0文件 HT:HyperTerminal(超级终端) HTM,HTML:超文本文档 HTT:Microsoft超文本模板 HTX:扩展HTML模板 I ICO:Windows图标 IDX:Microsoft FoxPro相关数据库索引文件;Symantec Q&A相关数据库索引文件;Microsoft Outlook Express文件 IMG:GEM映像 INF:信息文件 INI:初始化文件;Mwave DSP Synth的“nwsynth.ini” GMS安装;Cravis Ultrasound bank安装 INP:Oracle 3.0版或早期版本的表单源<em>代码</em> INRS:INRS远程通信声频 INS:InstallShield安装脚本;X-Internet签字文件;Ensoniq EPS字簇设备;Cell/ⅡMAC/PC抽样设备 INT:中间<em>代码</em>,当一个源程序经过语法检查后编译产生一个可执行<em>代码</em> IOF:Findit文档 IQY:Microsoft Internet查询文件 ISO:根据ISD 9660有关CD-ROM文件系统标准列出CD-ROM上的文件 ISP:X-Internet签字文件 IST:数字跟踪设备文件 ISU:InstallShield卸装脚本 IT:脉冲跟踪系统音乐模块(MOD)文件 ITI:脉冲跟踪系统设备 ITS:脉冲跟踪系统抽样,Internet文档位置 IV:Open Inventor中使用的文件格式 IVD:超过20/20微观数据维数或变量等级文件 IVP:超过20/20的用户子集配置文件 IVT:超过20/20表或集合数据文件 IVX:超过20/20微数据目录文件 IW:Idlewild屏幕保护程序 IWC:Install Watch文档 J J62:Ricoh照相机格式 JAR:Java档案文件(一种用于applet和相关文件的压缩文件) JAVA:Java源文件 JAR:Java档案文件(一种用于applet和相关文件的压缩文件) JAVA:Java源文件 JFF,JFIF,JIF:JPEG文件 JPE,JPEG,JPG:JPEG图形文件 <em>JS</em>:javascript源文件 <em>JS</em>P:HTML网页,其中包含有对一个Java servlet的参考 K KAR:卡拉OK MIDI文件(文本+MIDI) L LAB:Visual dBASE标签文件 LBT,LBX:Microsoft FoxPro标签文件 LDB:Microsoft Access加锁文件 LHA:LZH更换文件后缀 LOG:日志文件 LZH:LH ARC压缩档案 M M1V:MPEG相关文件(MIME"mpeg"类型) M3D:Corel Motion 3D动画文件 M3U:MPEG <em>URL</em>(MIME声音文件) MAM:Microsoft Access宏 MAQ:Microsoft Access查询文件 MAR:Microsoft Access报表文件 MBX:Microsoft Outlook保存email格式;Eudora邮箱 MCW:Microsoft Word的Macintosh文档 MDB:Microsoft Access数据库 MDN:Microsoft Access空数据库模板 MDW:Microsoft Access工作组文件 MID:MIDI音乐 MMM:Microsoft多媒体电影 MOV:QuickTime for Windows电影 MP2:第二层MPEG音频文件 MP3:第三层MPEG音频文件 MPA:MPEG相关文件,MIME“mpeg类型” MPE,MPEG,MPG:MPEG动画文件 MPP:Microsoft工程文件;CAD绘图文件格式 MPR:Microsoft FoxPro菜单(已编译) MSI:Windows 安装器包 MSN:Microsoft 网络文档;Descent Mission文件 O OBD:Microsoft Office活页夹 OBJ:对象文件 OBZ:Microsoft Office活页夹向导 OCX:Microsoft对象链接与嵌入定制控件 ODS:Microsoft Outlook Express邮箱文件 OFT:Microsoft Outlook模板 OPX:OPL扩展DLL(动态链接库) OSS:Microsoft Office查找文件 OST:Microsoft Exchange / Outlook 离线文件 P PAL:压缩文件 PART:Go!Zilla部分下载文件 PAS:Pascal源<em>代码</em> PCS:PICS动画文件 PDF:Adobe Acrobat 可导出文档格式文件(可用Web浏览器显示);Microsoft系统管理服务器包定义文件;NetWare打印机定义文件 PHP,PHP3:包含有PHP脚本的HTML网页 PHTML:包含有PHP脚本的HTML网页;由Perl分析解释的HTML PM5:Pagemaker 5.0文件 PM6:Pagemaker 6.0文件 PPS:Microsoft Powerpoint幻灯片放映 PPT:Microsoft Powerpoint演示文稿 PRF:Windows系统文件,Macromedia导演设置文件 PSD:Adobe photoshop位图文件 PSM:Protracker Studio模型格式;Epic游戏的源数据文件 PST:Microsoft Outlook个人文件夹文件 PWL:Windows 95口令列表文件 Q QIF:QuickTime相关图像(MIME);Quicken导入文件 QT,QTM:QuickTime电影 QTI,QTIF:QuickTime相关图像 QTP:QuickTime优先文件 QTS:Mac PICT图像文件;QuickTime相关图像 QTX:QuickTime相关图像 R RA:RealAudio声音文件 RAM:RealAudio元文件 RAR:RAR压缩档案(Eugene Roshall格式) REC:录音机宏;RapidComm声音文件 REG:注册表文件 REP:Visual dBASE报表文件 RES:Microsoft Visual C++资源文件 RM:RealAudio视频文件 RMF:Rich Map格式(3D游戏编辑器使用它来保存图) ROM:基于盒式磁带的家庭游戏仿真器文件(来自Atari 2600、Colecovision、Sega、Nintendo等盒式磁带<em>里</em>的ROM完全拷贝,在两个仿真器之间不可互修改) Rxx:多卷档案上的RAR压缩文件(xx=1~99间的一个数字) S SAV:游戏保存文件 SB:原始带符号字节(8位)数据 SBK:Creative Labs的Soundfont 1.0 Bank文件;(Soundb laster)/EMU SonndFont v1.x Bank文件 SBL:Shockwave Flash对象文件 SCF:Windows Explorer命令文件 SCH:Microsoft Schedule+1 SCP:拨号网络脚本文件 SCR:Windows屏幕保护;传真图像;脚本文件 SFX:RAR自解压档案 SHTML:含有服务器端包括(SSI)的HTML文件 SPL:Shockwave Flash对象;DigiTrakker抽样 SQL:Informix SQL查询;通常被数据库产品用于SQL查询(脚本、文本、二进制)的文件扩展名 STM:.shtml的短后缀形式,含有一个服务端包括(SSI)的HTML文件;Scream Tracker V2音乐模块(MOD)文件 STR:屏幕保护文件 SWA:在Macromedia导演文件(MP3文件)中的Shockwave声音文件 SWF:Shockwave Flash对象 SYS:系统文件 T T64:Commodore 64仿真器磁带映像文件 THEME:Windows 95桌面主题文件 TIF,TIFF:标签图像文件格式(TIFF)位图 TMP:Windows临时文件 TRM:终端文件 TXT:ASCⅡ文本格式的声音数据 TZ:老的压缩格式文件 V VBA:VBase文件 VBP:Microsoft Visual Basic工程文件 VBW:Microsoft Visual Basic工作区文件 VBX:Microsoft Visual Basic用户定制控件 VQE,VQL:Yamaha Sound-VQ定位器文件 VQF:Yamaha Sound-VQ文件(可能出现标准) VRF:Oracle 7配置文件 VSL:下载列表文件(GetRight) W WAB:Microsoft Outlook文件 WAD:包含有视频、玩家水平和其他信息的DOOM游戏的大文件 WAL:Quake 2正文文件 WAV:Windows波形声形 WBK:Microsoft Word备份文件 WFM:Visual dBASE Windows表单 WFN:在CorelDRAW中使用的符号 WIZ:Microsoft Word向导 WRL:虚拟现实模型 WWL:Microsoft Word内插器文件 X XLK:Microsoft Excel备份 XLL:Microsoft Excel内插器文件 XLM:Microsoft Excel宏 XLS:Microsoft Excel工作单 XLT:Microsoft Excel模板 XLV:Microsoft Excel VBA模块 XLW:Microsoft Excel工作簿/工作区 Z ZAP:Windows软件安装配置文件 ZIP:Zip文件 000-999:用于为老版本(或备份)文件编号(比如:被安装程序改变的CONFIG.SYS文件);又可用于为小范围的PC应用程序的多个用户相关数据文件编号 12M:Lotus 1-2-3 97 SmartMaster文件 123:Lotus 1-2-3 97文件 2D:VersaCAD的2维绘画文件 2GR,3GR:在Windows之下的VGA图形驱动程序/配置文件 386:在386或更高级处理器上使用的文件 3D:VersaCAD的3维绘画文件 3DM:3D NURBS建模器,Rhino 3DS:3D Studio(DOS下)格式文件 386:在386或更高级处理器上使用的文件 4GE:Informix 4GL编译后<em>代码</em> 4GL:Informix 4GL源<em>代码</em> 669:Composer 669;UNIX Composer音乐模型文件;669磁道模块 #01 及更高的号:为计算机演示而扫描的一系列电影的图片文件编号方法 ???:OS/2用来跟踪档案文件 @@@:用于安装过程中的屏幕文件和用于Microsoft Code view for C这样的应用程序的指导文件 [color=#6b6b6b] [/color] 三。★★★GHOST怎么用? 系统备份 使用Ghost进行系统备份,有整个硬盘(Disk)和分区硬盘(Partition)两种方式。在菜单中点击Local(本地)项,在右面<em>弹出</em>的菜单中有3个子项,其中Disk表示备份整个硬盘(即克隆)、Partition表示备份硬盘的单个分区、Check表示检查硬盘或备份的文件,查看是否可能因分区、硬盘被破坏等造成备份或还原失败。分区备份作为个人用户来保存系统数据,特别是在恢复和复制系统分区时具有实用价值。 选Local→Partition→To Image菜单,<em>弹出</em>硬盘选择窗口,开始分区备份操作。点击该窗口中白色的硬盘信息条,选择硬盘,进入窗口,选择要操作的分区(若没有鼠标,可用键盘进行操作:TAB键进行切换,回车键进行确认,方向键进行选择)。 在<em>弹出</em>的窗口中选择备份储存的目录路径并输入备份文件名称,注意备份文件的名称带有GHO的后缀名。 接下来,程序会询问是否压缩备份数据,并给出3个选择:No表示不压缩,Fast表示压缩比例小而执行备份速度较快,High就是压缩比例高但执行备份速度相当慢。最后选择Yes按钮即开始进行分区硬盘的备份。Ghost备份的速度相当快,不用久等就可以完成,备份的文件以GHO后缀名储存在设定的目录中。 系统克隆 硬盘的克隆就是对整个硬盘的备份和还原。选择菜单Local→Disk→To Disk,在<em>弹出</em>的窗口中选择源硬盘(第一个硬盘),然后选择要复制到的目标硬盘(第二个硬盘)。注意,可以设置目标硬盘各个分区的大小,Ghost可以自动对目标硬盘按设定的分区数值进行分区和格式化。选择Yes开始执行。 Ghost能将目标硬盘复制得与源硬盘几乎完全一样,并实现分区、格式化、复制系统和文件一步完成。只是要注意目标硬盘不能太小,必须能将源硬盘的数据<em>内容</em>装下。 Ghost还<em>提供</em>了一项硬盘备份功能,就是将整个硬盘的数据备份成一个文件保存在硬盘上(菜单Local→Disk→To Image),然后就可以随时还原到其他硬盘或源硬盘上,这对安装多个系统很方便。使用方法与分区备份相似。 系统还原 如果硬盘中备份的分区数据受到损坏,用一般数据修复方法不能修复,以及系统被破坏后不能启动,都可以用备份的数据进行完全的复原而无须重新安装程序或系统。当然,也可以将备份还原到另一个硬盘上。 要恢复备份的分区,就在界面中选择菜单Local→Partition→From Image,在<em>弹出</em>窗口中选择还原的备份文件,再选择还原的硬盘和分区,点击Yes按钮即可。 软件特性 存贮介质 Ghost 支持的存储介质超出了我们的想象,它支持对等LPT接口、对等USB接口、对等TCP/IP接口、SCSI磁带机、便携式设备(JAZ、ZIP、MO等)、光盘刻录机(CDR、CDRW)等。而这些特性不需要任何外带的驱动程序和软件,只需一张软盘就可以做到!特别是对光盘刻录机的支持,如今的刻录机和空白光盘都十分便宜,非常适合作备份的用途。 兼容性 Ghost 对现有的操作系统都有良好的支持,包括FAT16、FAT32、NTFS、HPFS、UNIX、NOVELL等文件存储格式。同以前版本不同的是,Ghost 2001加入了对Linux EX2的支持(FIFO文件存储格式),这也就意味着Linux的用户也可以用Ghost来备份系统了。 配套软件支持 Ghost浏览器:在以前的Ghost版本中,我们只能对系统进行简单的备份、复制、还原,要恢复单个的文件和文件夹还要使用外带的GhostEXP软件。现在,Symantec公司已经将Ghost浏览器整合在软件中。Ghost浏览器采用类似于资源管理器的界面,通过它,我们可以方便迅速地在备份包中找出我们想要的文件和文件夹并还原。 Gdisk:Gdisk是一个新加入的实用工具,它彻底取代了FDisk和format: * 快速格式化。 * 隐藏和显示分区的能力。此功能允许一个以上的主DOS分区,并且每个分区上的操作系统有不同的版本。隐藏分区的能力使计算机习惯于引导到选定的可引导分区,忽略其他隐藏分区中相同操作系统的安装。 * 全面的分区报告。 * 高度安全的磁盘擦除。<em>提供</em>符合美国国防部标准和更高安全标准的磁盘擦除选项。 和使用交互式菜单的FDisk不同,GDisk是由命令行驱动的。这<em>提供</em>了更快的配置磁盘分区和在批处理文件中定义GDisk操作的能力。但与此同时,几十个参数会令普通用户头疼,因此笔者不推荐一般用户使用,Symantec公司也应该推出相应的GUI(图形用户界面)控制台以方便用户使用。具体的参数说明可以用命令行gdisk/?了解。 Live Update Live Update是Symantec公司软件的一个通用升级程序,它能够检查当前系统中已安装的Symantec软件,并且通过英特网对软件进行在线升级。 在安装Ghost 2001时,安装程序自动升级了Live Update程序的版本。 Ghost 的进阶篇 附加的命令行参数:(限Ghost的无人备份/恢复/复制) 其实Ghost 2001的功能远远不止它主程序中显示的那些,Ghost可以在其启动的命令行中添加众多参数以实现更多的功能。命令行参数在使用时颇为复杂,不过我们可以制作批处理文件,从而“一劳永逸”(类似于无人安装Windows 98和Windows 2000)现在让我们来了解一些常用的参数(了解更加详细的参数介绍可查看Ghost的帮助文件)。 1.-rb 本次Ghost操作结束退出时自动重启。这样,在复制系统时就可以放心离开了。 2.-fx 本次Ghost操作结束退出时自动回到DOS提示符。 3.-sure 对所有要<em>求</em>确认的提示或警告一律回答“Yes”。此参数有一定危险性,只建议高级用户使用。 4.-fro 如果源分区发现坏簇,则略过提示强制拷贝。此参数可用于试着挽救硬盘坏道中的数据。 [email=5.@filename][color=#0000ff]5.@filename[/color][/email] 在filename中指定txt文件。txt文件中为Ghost的附加参数,这样做可以不受DOS命令行150个字符的限制。 6.-f32 将源FAT16分区拷贝后转换成FAT32(前提是目标分区不小于2G)。WinNT 4和Windows95、97用户慎用。 7.-bootcd 当直接向光盘中备份文件时,此选项可以使光盘变成可引导。此过程需要放入启动盘。 8.-fatlimit 将NT的FAT16分区限制在2G。此参数在复制Windows NT分区,且不想使用64k/簇的FAT16时非常有用。 9.-span 分卷参数。当空间不足时提示复制到另一个分区的另一个备份包。 10.-auto 分卷拷贝时不提示就自动赋予一个文件名继续执行。 11.-crcignore 忽略备份包中的CRC ERROR。除非需要抢救备份包中的数据,否则不要使用此参数,以防数据错误。 12.-ia 全部映像。Ghost会对硬盘上所有的分区逐个进行备份。 13.-ial 全部映像,类似于-ia参数,对Linux分区逐个进行备份。 14.-id 全部映像。类似于-ia参数,但包含分区的引导信息。 15.-quiet 操作过程中禁止状态更新和用户干预。 16.-script 可以执行多个Ghost命令行。命令行存放在指定的文件中。 17.-span 启用映像文件的跨卷功能。 18.-split=x 将备份包划分成多个分卷,每个分卷的大小为x兆。这个功能非常实用,用于大型备份包复制到移动式存储设备上,例如将一个1.9G的备份包复制到3张刻录盘上。 19.-z 将磁盘或分区上的<em>内容</em>保存到映像文件时进行压缩。-z或-z1为低压缩率(快速);-z2为高压缩率(中速);-z3至-z9压缩率依次增大(速度依次减慢)。 20.-clone 这是实现Ghost无人备份/恢复的核心参数。使用语法为: -clone,MODE=(operation),SRC=(source),DST=(destination),[SZE(size),SZE(size)......] 此参数行较为复杂,且各参数之间不能含有空格。   其中operation意为操作类型,值可取:copy:磁盘到磁盘;load:文件到磁盘;dump:磁盘到文件;pcopy:分区到分区;pload:文件到分区;pdump:分区到文件。 Source意为操作源,值可取:驱动器号,从1开始;或者为文件名,需要写绝对路径。 Destination意为目标位置,值可取:驱动器号,从1开始;或者为文件名,需要写绝对路径;@CDx,刻录机,x表示刻录机的驱动器号,从1开始。 下面举例说明 命令行参数:ghostpe.exe -clone,mode=copy,src=1,dst=2 完成操作:将本地磁盘1复制到本地磁盘2。 命令行参数:ghostpe.exe -clone,mode=pcopy,src=1:2,dst=2:1 完成操作:将本地磁盘1上的第二分区复制到本地磁盘2的第一分区。 命令行参数:ghostpe.exe-clone,mode=load,src=g:Λprtdisk.gho,dst=1,sze1=450M,sze2=1599M,sze3=2047M 完成操作:从映像文件装载磁盘1,并将第一个分区的大小调整为450MB,第二个调整为1599MB,第三个调整为2047MB。 命令行参数:ghostpe.exe -clone,mode=pdump,src2:1:4:6,dst=d:prt246.gho 完成操作:创建仅具有选定分区的映像文件。从磁盘2上选择分区1、4、6。 了解了这些参数后,我们就可以轻松地实现Ghost的无人备份/复制/恢复了。冲杯咖啡吧。 一些示例 ghost.exe -clone,mode=copy,src=1,dst=2 -sure 硬盘对拷 ghost.exe -clone,mode=pcopy,src=1:2,dst=2:1 -sure 将一号硬盘的第二个分区复制到二号硬盘的第一个分区 ghost.exe -clone,mode=pdump,src=1:2,dst=g:bac.gho 将一号硬盘的第二个分区做成映像文件放到g分区中 ghost.exe -clone,mode=pload,src=g:bac.gh2,dst=1:2 从内部存有两个分区的映像文件中,把第二个分区还原到硬盘的第二个分区 ghost.exe -clone,mode=pload,src=g:bac.gho,dst=1:1 -fx -sure -rb 用g盘的bac.gho文件还原c盘。完成后不显示任何信息,直接启动。 ghost.exe -clone,mode=load,src=g:bac.gho,dst=2,SZE1=60P,SZE2=40P 将映像文件还原到第二个硬盘,并将分区大小比例修改成60:40 还原磁盘 首先做一个启动盘,包含Config.sys,Autoexec.bat,Command.com,Io.sys,Ghost.exe文件(可以用windows做启动盘的程序完成)。 Autoexec.bat可以包含以下命令: Ghost.exe -clone,mode=pload,src=d:bac.gho,dst=1:1 -fx -sure -rb 利用在d盘的文件自动还原,结束以后自动跳出ghost并且重新启动。 开机自动做C区的备份,在D区生成备份文件bac.gho。 ghost.exe -clone,mode=pdump,src=1:1,dst=d:bac.gho -fx -sure -rb 还原光盘 包含文件:Config.sys,Autoexec.bat,Mscdex.exe(CDROM执行程序),Oakcdrom.sys(ATAPI CDROM兼容驱动程序),Ghost.exe Config.sys<em>内容</em>为: DEVICE=OAKCDROM.SYS /D:IDECD001 Autoexec.bat<em>内容</em>为: MSCDEX.EXE /D:IDECE001 /L:Z Ghost -clone,mode=load,src=z:bac.gho,dst=1:1 -sure -rb 可以根据下面的具体说明修改实例 -clone 在使用时必须加入参数,它同时也是所有的switch{batch switch}<em>里</em>最实用的一种,下面是clone所定义的参数 -clone, mode={copy|load|dump|pcopy|pload|pdump}, src={drive|file|driveartition}, dst={drive|file|driveartition} mode指定要使用哪种clone所<em>提供</em>的命令 copy 硬盘到硬盘的复制(disk to disk copy) load 文件还原到硬盘(file to disk load) dump 将硬盘做成映像文件(disk to file dump) pcopy 分区到分区的复制(partition to partition copy) pload 文件还原到分区(file to partition load) pdump 分区备份成映像文件(partition to file dump) src指定了ghost运行时使用的源分区的位置模式及其意义: mode命令 对应mode命令src所使用参数 例子 COPY/DUMP 源硬盘号。 以1代表第一号硬盘 LOAD 映像文件名 g:/back98/setup98.gho 或装置名称(drive) PCOPY/PDUMP 源分区号。 1:2代表的是硬盘1的第二个分区 PLOAD 分区映像文件名加上分区号或是驱动器名加上分区号。 g:back98setup98.gh2,代表映像文件<em>里</em>的第二个分区 dst运行Ghost时使用的目标位置模式及其意义: mode命令 对应mode命令dst所使用参数 例子 COPY/DUMP 目的硬盘号。 2代表第二号硬盘 LOAD 硬盘映像文件名。 例g:back98setup98.gho PCOPY/PLOAD 目的分区号。 2:2 代表的是,硬盘2的第二个分区 PDUMP 分区映像文件名加分区号。 g:back98setup98.gh2 SZEn指定所使用目的分区的大小 n=xxxxM 指定第n目的分区的大小为xxxxMB SZE2=800M表示分区2的大小为800MB n=mmP 指定地n的目的分区的大小为整个硬盘的mm个百分比。 其他参数 -fxo 当源物件出现坏块时,强迫复制继续进行 -fx 当ghost完成新系统的工作后不显示"press ctrl-alt-del to reboot"直接回到DOS下 -ia 完全执行扇区到扇区的复制。当由一个映像文件或由另一个硬盘为来源,复制一个分区时,Ghost将首先检查来源分区,再决定是要复制文件和目录结构还是要做映像复制(扇区到扇区)。预设是这种形式。但是有的时候,硬盘<em>里</em>特定的位置可能会放一些隐藏的与系统安全有关的文件。只有用扇区到扇区复制的方法才能正确复制 -pwd and -pwd=x 给映像文件加密 -rb 在还原或复制完成以后,让系统重新启动 -sure 可以和clone合用。Ghost<em>不会</em>显示"proceed with disk clone-destination drive will be overwritten?"提示信息 注意事项 1. 在备份系统时,单个的备份文件最好不要超过2GB。 2.在备份系统前,最好将一些无用的文件删除以减少Ghost文件的体积。通常无用的文件有:Windows的临时文件夹、IE临时文件夹、Windows的内存交换文件。这些文件通常要占去100多兆硬盘空间。 3.在备份系统前,整理目标盘和源盘,以加快备份速度。 4.在备份系统前及恢复系统前,最好检查一下目标盘和源盘,纠正磁盘错误。 5.在恢复系统时,最好先检查一下要恢复的目标盘是否有重要的文件还未转移,千万不要等硬盘信息被覆盖后才后悔莫及啊。 6.在选择压缩率时,建议不要选择最高压缩率,因为最高压缩率非常耗时,而压缩率又没有明显的提高。 7.在新安装了软件和硬件后,最好重新制作映像文件,否则很可能在恢复后出现一些莫名其妙的错误。 ------------------------------------------------------------------------------- Ghostpe.exe菜单选项介绍 Norton Ghost的帮助文件中要<em>求</em>Ghostpe.exe在纯DOS下运行,其实它在WINDOWS的MS-DOS中运行也是可以的,同样可以对系统进行备份和还原。 开机进入DOS,键入Ghostpe.exe所在的目录路径名,比如:E:Ghostpe.exe 回车,程序即开始运行。首先出现的是Ghost版本介绍窗口,回车后进入主界面。菜单选项有:   (一)“Local”(本地的)   1、Disk(磁盘) (1) To Disk(硬盘到硬盘的复制) (2)To Image(硬盘<em>内容</em>备份为镜像) (3)From Image(从镜像文件恢复至硬盘)  2、Partition(分区)   (1)To Partition(分区到分区的复制)   (2)To Image(分区<em>内容</em>备份为镜像)   (3)From Image(从镜像文件恢复至分区)  3、Check(检查) (1) Image File(镜像文件) (2)Disk(磁盘)   (二)Option(设置项,一般情况下使用默认值即可)   (三)Quit(退出) Norton ghost――克隆硬盘的魅影 我们能用Ghost做什么   ●可以创建硬盘镜像备份文件   ●可以将备份恢复到原硬盘上   ●磁盘备份可以在各种不同的存储系统间进行   ●支持FAT16/32、NTFS、OS/2等多种分区的硬盘备份   ●支持Win9X、NT、UNIX、Novell等系统下的硬盘备份   ●可以将备份复制(克隆)到别的硬盘上   ●在复制(克隆)过程中自动分区并格式化目的硬盘 Ghost是最著名的硬盘复制备份工具,因为它可以将一个硬盘中的数据完全相同地复制到另一个硬盘中,因此大家就将Ghost这个软件称为硬盘“克隆”工具。实际上,Ghost不但有硬盘到硬盘的克隆功能,还附带有硬盘分区、硬盘备份、系统安装、网络安装、升级系统等功能。1998年6月,出品Ghost的Binary公司被著名的Symantec公司购并,因此该软件的后续版本就改称为Norton Ghost,成为Nordon系列工具软件中的一员。1999年2月,Symantec公司发布了Norton Ghost的5.1C版本,该版本包含了多个硬盘工具,并且在功能上作了较大的改进,使之成为了一个真正的商业软件。 安装 本公司为使各位客户的机器万无一失,早已经为您的机器中装入了GHOST软件,并在您取走机器前为您做好备份,免去您的后顾之忧。此软件不需安装,复制即可使用。 Ghost硬盘克隆 Ghost就是克隆硬盘的程序,该程序在DOS下、Windows9.X下都可执行,所以要进行硬盘的克隆,请先进入到Ghost子目录,运行Ghost.exe程序,需要注意的是,如果是在DOS下运行该程序时,在运行该程序前最好启动DOS的鼠标驱动程序,因为Ghost的操作画面是仿窗口画面,使用鼠标点击来选择会方便一些――虽然也可以用键盘来操作。另外在备份或克隆硬盘前最好清理一下硬盘――删除不用文件、清空回收站、碎片整理等。 1. 分区备份 使用Ghost复制备份,有整个硬盘(Disk)和分区硬盘(Partition)两种备份方式。在菜单中点击“Local”(本地)项,在右面<em>弹出</em>的菜单中有三个子项,其中“Disk”表示整个硬盘备份(也就是克隆),“Partition”表示单个分区硬盘备份以及硬盘检查“Check”。“Check”项的功能是检查硬盘或备份的文件,看是否可能因分区、硬盘被破坏等造成备份或还原失败。而分区备份作为个人用户来保存系统数据,特别是在恢复和复制系统分区具有实用价值。 选“Local/Partition/To Image”菜单,<em>弹出</em>硬盘选择窗口,开始分区备份操作。点击该窗口中白色的硬盘信息条,选择硬盘,进入窗口,选择要操作的分区(用鼠标点击)。 然后在<em>弹出</em>的窗口中选择备份储存的目录路径并输入备份文件名称,注意备份文件的名称带有GHO的后缀名。 接下来,程序会询问是否压缩备份数据,并给出三个选择。“No”表示不压缩,“Fast”表示小比例压缩而备份执行速度较快,“High”就是高比例压缩但备份执行速度较慢。最后,选择“Yes”按钮即开始进行分区硬盘的备份。Ghost备份的速度相当快,不用久等就可以完成备份,备份的文件以GHO后缀名储存在设定的目录中。 2. 分区备份的还原 如果硬盘中备份的分区数据受到损坏,用一般磁盘数据修复方法不能修复,以及系统被破坏后不能启动,都可以用备份的数据进行完全的复原,无须重新安装程序或系统。当然,也可以将备份还原到另一个硬盘上。 要恢复备份的分区,就在界面中选择菜单“Local/Partition/From Image”,在<em>弹出</em>窗口中选择还原的备份文件,再选择还原的硬盘和分区,点击“Yes”按钮即可。 恢复还原时要注意的是,硬盘分区的备份还原是要将原来的分区一成不变地还原出来,包括分区的类型、数据的空间排列等。 3. 硬盘的克隆 硬盘的克隆就是对整个硬盘的备份和还原,选择菜单“Local/Disk/To Disk”,在<em>弹出</em>的窗口中选择源硬盘(第一个硬盘),然后选择要复制到的目的硬盘(第二个硬盘)。注意,可以设置目的硬盘各个分区的大小,Ghost可以自动对目的硬盘按设定的分区数值进行分区和格式化。选择“Yes”开始执行。 Ghost能将目的硬盘复制得与源硬盘几乎完全一样,并实现分区、格式化、复制系统和文件一步完成。只是要注意目的硬盘不能太小,必须能将源硬盘的<em>内容</em>装下。   Ghost还<em>提供</em>了一项硬盘备份功能,就是将整个硬盘的数据备份成一个文件保存在硬盘上(菜单“Local/Disk/To Image”),然后就可以随时还原到其它硬盘或原硬盘上。这对要安装多个系统硬盘很方便。使用方法与分区备份相似。要注意的是,备份成的文件不能大于2GB。 [table=96%][tr][td][align=right][color=#6b6b6b]网管联盟.[/color][/align][color=#6b6b6b]四。★★★如何防范恶意网站 知己知彼   如何判断自己是遇到了恶意网站的攻击,症状多种多样:   1. 开机自动登录网站。   2. 启动IE,自动登录网站,无法修复主页设置。   3. IE不断打开窗口。   4. 修改[主页]按钮和[搜索]按钮。   5. 修改右键菜单,甚至屏蔽右键菜单。   6. 更改收藏夹的<em>内容</em>。   7. 安装自动拨号程序。   8. 自动安装木马程序。   9. 自动格式化硬盘或删除某个文件夹中的所有文件。   10. 更新文件关联和锁死EXE程序。   11. 锁死注册表。 ……   ★对症下药   了解了症状,就要对症下药了! 一、备份   建议使用“超级兔子魔法设置”中的“注册表优化”进行备份,软件能将Classes.dat、System.dat、System.ini、User.dat、Win.ini等文件全部备份下来,上面提到的前五种恶意网站无非就是通过修改这些文件来达到其目的的。 二、弃用IE   大部分的攻击目标都是IE。如果我们用MyIE2(强烈建议使用Ver 0.8.220这一版本)代替IE浏览器,恶意网站就无的放矢了。MyIE2在启动时能够绕开主页直接打开空白页,而且还能保护主页不被修改。如果开机就自动运行IE,要先用超级兔子魔法设置中的“自动运行”功能将网址删除,再用MyIE2代替IE。   注意:这两个功能在默认状态下是关闭的,您要在[选项]→[MyIE2选项]→[常规]中和“启动时”中将其打开。由于MyIE2使用IE的内核,所以请勿删除IE。 三、解救被封死的收藏夹   某些恶意网站会对收藏夹进行修改,大多是通过修改“C: Windows/Favorites”中的“Desktop.ini”文件来实现的,所以只要删除这个文件就可以了。如果根本就无法打开“C: WindowsFavorites”文件夹,就到DOS下进行删除(要先用“attrib -r -s -h”后才能将其删除)。另外,“收藏夹”中的<em>内容</em>并没有被删除,只是放入了另一个文件夹中,名称和“Favorites”差不多(如“Favorites2”等),如果想恢复原来的“收藏夹”,只要剪切一下就可以了。   如果是将系统默认的“收藏夹”路径设置成指定的目录(如“C: WindowsFavorites2”等),只要恢复正常的“注册表”就一切OK了。 四、定期还原正常的注册表   如果遇到安装自动拨号程序的情况,你可要小心啦,小心惊人的国际长话费。对付它,最好是定期还原正常的注册表!这样做虽然不能彻底删除此类恶意程序,但却能让其完全禁止运行,因为这类程序是通过修改注册表来达到随机运行的目的的(只有极少数是在“开始”菜单的“启动”项内做文章),只不过我们无法通过手工删除干净。   这个方法对于自动安装木马程序的情况也同样适用。 五、防止硬盘被格式化   对于自动格式化硬盘的恶意网站,要把“C:WindowsCOMMAND”文件夹中的format.com、Fdisk.exe、Deltree.exe这三个程序文件删除或进行改名,因为这些恶意<em>代码</em>是需要这些程序才能够发挥“威力”的,只要让这些恶意<em>代码</em>找不到它们,您的电脑也就安全了! 六、打开“锁死”的程序   对于被锁死的EXE程序,只要事先已将“C:Windows”目录下正常的Classes.dat、System.dat、User.dat、System.ini、Win.ini这五个文件备份下来,在“中招”后用正常的文件覆盖一下并重新启动就OK了(注:Windows 95和98中可能没有Classes.dat文件,而且Windows 97以下版本的操作系统用此方法无效!甚至会使整个系统瘫痪。)。如果连复制都被禁止了的话,您可用启动盘到DOS下进行覆盖复制。 七、“防”要胜于“治”   通常恶意网站都披着具有“诱惑力”的外衣,设下诱人的陷阱让您“中招”。所以一定要意志坚强,抵制住诱惑。只要您能做到“任你花言巧语,我自岿然不动”。那么,什么样的陷阱也奈何不了您。   另外,现在有很多恶意网站开始通过即时通讯软件来传播了,比如QQ、ICQ等,方式虽然多种多样,但通常是在对方网友的话后面又发来了一个网站信息,有的会附有一些带有“诱惑性”的话(如:“看看我的样子”等),有的只是一个有着诱人域名的网址,对于这样的网站,原则也同样――就是不上当! [table=96%][tr][td][align=right][color=#6b6b6b]网管联盟.[/color][/align][color=#6b6b6b]五。★★★win2000/xp忘记密码的方法 1。清除sam文件: winnt系列的系统账户信息是存在%systemroot%system32configsam这个注册表文件<em>里</em>的。如果系统<em>里</em>没有重要的账户,或者账户比较少,用删除%systemroot%system32configsam的方法是比较简单的,不过因为系统会还原为只有administrator(密码为空)和guest二个账户,所以有些程序因为它们所依赖的账户丢失了,如iis、vmware就不能启动了。 原来听说这种方法只能适用于nt workstation系列(2kpro),不能用于server,我在2000professional和2000 advanced server上试验都是成功的。不知道为什么会有上述说法,可能是活动目录ad下不行把。 当然首先你要能够访问系统分区,来把sam文件改名或者删除。如果是fat32、fat分区,使用98启动盘就行了。如果是ntfs分区,可以使用winternal的ntfs for dos、ntfs for 98或者是支持ntfs的启动光盘,再或者挂到其他win2000、linux等机器上,再再或者重新安装一个新的win2000。 2。专用工具: windows管理员密码丢失还有一个解决方法是使用petter nordahl-hagen的the offline nt password editor([<em>url</em>=http://home.eunet.no/~pnordahl/ntpasswd/][color=#0000ff]http://home.eunet.no/~pnordahl/ntpasswd/[/color][/<em>url</em>]),这个工具是离线修改注册表文件sam来设置密码的。需要用他的映像文件制作启动盘来引导,进而访问ntfs分区重新设置密码;虽然作者经常更新他的程序,不过我还是会担心他直接操作sam文件的安全性,可能有时会导致系统出错。 可能还有其他类似工具把,恕我无知。 3。 还有一种想法就是用一个修改密码的小程序来替换系统启动的必要程序,然后系统启动时就会替换密码,随后把被替换的程序在还原就行了。当然首先你还是要能够访问系统分区,来替换随系统启动的程序。 替换系统启动的必要程序的一种方法是我写的一个清除administrator密码的小程序(cleanpwd),他所作的就是把administrator密码清空。使用方法如下: (2).用法 1) 用双系统或者启动盘或者挂到别的系统上,如果是ntfs分区其他系统或启动盘要能读写ntfs分区,把windows安装目录下的system32svchost.exe改名svchost.bak.exe备份,把cleanpwd.exe拷贝成svchost.exe。 2) 启动该系统,就把administrator的密码清空了,可以直接登陆。 3) 把svchost.bak.exe 恢复就行了。(如果使用替换的是svchost,最好再启动rpc服务) (3).为什么选用svchost.exe而不是其他程序。 每个windows2000系统都有这几个进程, system(kernel executive and kernel) smss(session manager) csrss(win32 subsystem) winlogon(logon process) services(service control manager) lsass(local security authentication server ) 如果任何一个被杀掉或者出错,系统将重新启动。不过在lsass启动之前你不能修改密码,所以不能选用这几个程序。 另外系统中一般还有以下一些程序: svchost.exe(remote procedure call (rpc) 还有其他一些服务) wbemwinmgmt.exe(windows management umentation) mstask.exe(task scheduler) regsvc.exe(remote registry service) 可能还有其他服务程序,你可能禁止了除rpc之外的其他服务,但<em>不会</em>禁止rpc,否则系统工作就不正常了。所以我选择了svchost,如果你知道其他服务会自动启动,你也可以选择它。 当然如果系统安装了杀毒软件的话,你替换杀毒软件也可以,因为一般杀毒软件都会在系统启动是启动杀毒防火墙来杀毒的。 (4).其他 有这个想法是几个月之前了,不过一直没有写这个程序 程序运行会在c:cleanpwd.txt记一个简单的日志,我也附了源码,你可以任意修改它以满足自己的要<em>求</em>,比如添加一个用户而不是修改管理员的密码(或者你把管理员改名了)。 4。我还在一个网站上看到这样一个方法: 就是把%systemroot%system32logon.scr替换为cmd.exe或者explorer.exe,然后在系统登陆处等待,过一会,系统就会去运行logon.scr这个屏保,因为你替换了这个屏保文件,所以实际上运行的是cmd.exe或者explorer.exe,并且是localsystem权限,于是你可以随便了,最简单的就是在cmd.exe<em>里</em>运行net user administrator "",成功后管理员密码也被清空了,关闭cmd或者explorer就可以用空口令登陆了。 其实这种方法和上边的那种思路是一致的。 ================= code begin ======================= #include #include #include #include #include #pragma comment(lib, "netapi32.lib") #define lof_file "c:\cleanpwd.txt" dword setuserpwd(char *user, char *pass); void banner(file *fp) { if(null == fp)return; fprintf(fp, "clean administrator??s password tool 1a. for lost password.n"); fprintf(fp, " by [email=bingle@email.com.cnn][color=#0000ff]bingle@email.com.cnn[/color][/email]"); fprintf(fp, "website: [<em>url</em>=http://www.binglesite.net/n][color=#0000ff]www.binglesite.netn[/color][/<em>url</em>]"); } int main(int argc, char *argv[]) { banner(stderr); file *fp = fopen(lof_file, "a"); if(fp) { fprintf(stderr, "log in file %sn", lof_file); banner(fp); } if(!fp) fp = stderr; char buff[256]; fprintf(fp, "%s: clean administrator??s password ", _strtime(buff)); dword n = setuserpwd("administrator", ""); if(nerr_success == n) fprintf(fp, "ok.n"); else fprintf(fp, "failed, error:%dn", n); fclose(fp); return -1; } dword setuserpwd(char *user, char *pass) { wchar_t wuser[pwlen], wpass[pwlen]; user_info_1003 ui; mbstowcs(wuser, user, strlen(user)+1); mbstowcs(wpass, pass, strlen(pass)+1); ui.usri1003_password = wpass; return netusersetinfo(null, wuser, 1003, (lpbyte)&ui, null); 六。★★★Windows XP 自带小工具 假设你使用的是WinXP,一般来讲你会把日常所用的工具软件都放到一个名为“Tools”的文件夹中。好的,先容我猜猜,<em>里</em>面都有些什么东东――加密的、图片浏览处理的、压缩/解压缩的、音视频播放的、刻录的、系统优化的……怎么样,猜得八九不离十吧?相信这些Tools平日<em>里</em>一定带来了不少方便,不过如果你仅满足于使用这些“Tools”的一般用途,那笔者就要为WinXP道一声“可惜”――它辛辛苦苦为你准备的百宝箱却被不经意地抛在了一旁。相比常用的工具软件,WinXP所<em>提供</em>工具的特点是整合在系统中,因此使用简单、快捷而方便,那么就随笔者一起掀开这个箱子,看看<em>里</em>面到底都有些什么宝贝吧。 一、文件保密 WinXP有着很好的多用户功能,允许不同用户拥有个性的系统设置。但在这样一个共享环境下,个人的隐私问题又凸现出来,由此涉及到了多用户使用下的文件保密问题。对于这个问题,你可能会考虑诸如“文件保密专家”之类的文件加密软件,其实在WinXP中,大可不必为文件的保密问题操心,因为它为我们<em>提供</em>了多种文件保密的方法。不过在为文件进行保密操作之前,首先要确定待保密的文件是放在NTFS分区上的,这是WinXP<em>里</em>进行文件保密的基础,以下的操作都是在NTFS分区上进行的。 1.个人文件夹的保密 在WinXP<em>里</em>最简单的文件保密方法是对“个人文件夹”的加密。所谓“个人文件夹”是指在“系统盘ocuments and Settings”下,以当前用户名命名的文件夹;其中包含了如“我的文档”、“开始菜单”一类的个人用户文件。对其进行加密,只需直接在其文件夹或其子文件夹的“属性”<em>对话框</em>的“共享”页上,勾选“将这个文件夹设为专用”(若为管理员用户则此处默认为勾选),那么其他用户(包括管理员)都无法访问此文件夹。此方法只适合于对“个人文件夹”的保密,对于系统的其他文件和文件夹则无能为力了。需要注意的是,设为“专用”的个人文件夹将不能被共享,同样,已共享的个人文件夹在取消共享之前也不能被设为“专用”。实际应用中,可将要保密的文件保存到设为专用的“我的文档”<em>里</em>,即可实现文件保密的目的。 2.利用用户权限保密文件 对于没有放在“个人文件夹”中的文件,我们可以有第2种保密方法:控制用户权限――通过对不同用户或者组,赋予对文件(文件夹)不同的操作权限,从而达到文件保密的目的。此操作进行之前先要确定WinXP中文件权限的设置功能是否开启:在文件浏览窗口中选择菜单“工具”→“文件夹选项”,选择“查看”页,确定“使用简单文件共享”没有被勾选。 之后,我们就能对系统的文件(文件夹)访问权限进行具体设置:打开文件夹的属性<em>对话框</em>,可以看到多出了一个“安全”页。在其中可以一目了然对于此文件夹可操作的用户及其不同的权限分派。各类权限有“允许”和“拒绝”两项可选,先在“组或用户名称”一栏<em>里</em>选择要保密的对象(如Guest用户),再将其“读取”的权限设为“拒绝”,如此便实现了此文件夹的保密。如果“组或用户名称”<em>里</em>没对象用户,选择下面的“添加”,输入(或搜索出)其用户名即可。 有可能你看到的用户权限设置是不可选的,那是因为此子文件夹从其父文件夹(上级文件夹)继承了权限,因此不可改。要使其权限可改,应删除其和父文件夹的继承关系:选择“安全”页的“高级”选项,打开“高级安全设置”<em>对话框</em>,在“权限”页<em>里</em>取消对“从父项继承那些可以应用到子对象的权限项目,包括那些在此明确定义的项目”的勾选,在<em>弹出</em>的<em>对话框</em>中选择“删除”即可。 3.加密文件系统(EFS)对文件的保密 这是WinXP我们<em>提供</em>的一种高级文件加密方法――加密文件系统(EFS)。EFS是一种数字加密方式:Windows首先以一把“公钥”(WinXP自己的加密算法)对文件进行加密,再配给用户一把用于解密的“私钥”(包含在个人数字证书中)。加密过的文件,只有通过“公钥”与“私钥”共同认证后产生的“金钥”才能被解密。 打开要加密的文件或文件夹的“属性”<em>对话框</em>,选择其“常规”页中的“高级”,勾选“高级属性”<em>里</em>的“加密<em>内容</em>以便保护数据”,确定后,加密的文件/文件夹名会以绿色表示,这样,即使是管理员账户,也不能读取文件的<em>内容</em>了。 这就是WinXP的高级文件保密,就这么简单。之后的问题是,如果加密文件拷贝到其他机器上,如何实现其解密?这就涉及到了个人数字证书的使用。 4.个人数字证书的导出与导入 在“运行”栏<em>里</em>输入“certmgr.msc”,打开“证书”,依次展开“个人”→“证书”,右键单击要导出的证书,在“所有任务”中选择“导出”,在向导中选择“是,导出私钥”,再按需要设置好私钥保护密码和导出路径后,即导出了个人数字证书。 加密文件被拷贝到其他机器上后,要对其进行解密,需要先在此机器上新建一个与原加密用户相同用户名及密码的账户,再将之前导出的证书拷贝到此机器上双击运行,即可实现数字证书的导入。 注意:WinXP为了防止私钥被随意导出,凡导入的证书在默认情况下均不能被再次导出。如果有再次导出的需要,需要在导入数字证书过程中,输入私钥保护密码一步时,勾选“标志此密钥为可导出的……”,这样才能使导入的证书能被再次导出。 二、资源管理器的增强 1.图片浏览 WinXP之前这一功能非ACDSee莫属,然而WinXP却带来了更为易用的图片浏览功能。众所周知,只要选择“缩略图”方式显示图片,我们就可以图片的缩略图预览其效果。选择“幻灯片”方式,则可以更清楚地看到图片的预览效果。WinXP还为我们<em>提供</em>了第3种方式浏览图片:“幻灯片播放”,只需选择资源管理器左侧“图片任务”中的“作为幻灯片查看”,即可浏览图片,在屏幕的右上角依次有播放、暂停、上一幅、下一幅及关闭的功能按钮。需要提醒的是,如果选择了一张或者多张图片后再选择“作为幻灯片查看”,则只会放映所选择的图片。 还有一点技巧:如果嫌“缩略图”方式预览的图片太小,我们可以通过修改注册表的方式改变其大小。在“运行”栏<em>里</em>输入“regedit”,打开注册表编辑器,依次展开HKEY_CUR RENT_USER Software MicrosoftWindows CurrentVersion Explorer,在其下新建一名为ThumbnailSize的DWORD值,将值改为十进制的200,可以看到预览图变大了吧。另外,新建名为ThumbnailQuality的DWORD值,通过设置其值改变缩略图的图片质量,如设为80,则以80%的质量显示缩略图。通过减小其值,可以缩短系统显示缩略图的时间。 注意:如果当前目录下有图片却没有出现“图片任务”或找不到“幻灯片”方式,可参见后文设置文件夹模板。 2.数码图片的处理 使用数码相机等设备,WinXP也准备了“扫描仪与照相机向导”。当数码相机连接到计算机后,在系统<em>弹出</em>的任务选择<em>对话框</em><em>里</em>选择“将图片复制到计算机上的一个文件夹”,WinXP会自动读取相机<em>里</em>的图片,接下来在“扫描仪和照相机向导”选择要获取的图片,还有存放的路径,完成后WinXP就会把所选择的照片存放到指定目录了。值得一提的是,在选择存放路径时,WinXP已默认<em>提供</em>了一系列有助于分类的存放方式,方便我们对数码图片的管理。 双击一个图片文件,如果没有安装其他图片浏览软件,WinXP会首先调用“Windows图片和传真查看器”来打开文件(若已安装其他图片软件,也可右击图片文件并在“打开方式”中选择此工具)。可用其对图片进行简单加工,如缩放查看、旋转、打印、复制到等。试过用“Windows图片和传真查看器”打开TIFF文件吗?可以看到工具栏上又多出不少东西,通过这些工具可以给图片添加“注释”。至于用处,想想看,可以在数码相片上写上照相的时间地点,场景描述等,多年后回味,别有一番滋味啊。这一注释功能并不直接修改图片,在你不需要时可随时删去所加的注释,而保留图片的原样。 3.个性的文件夹 如果你也崇尚个性张扬,相信总会想方设法把自己的WinXP弄得与众不同。这<em>里</em>就来看一下,如何用WinXP百宝箱<em>里</em>的东东,把系统<em>里</em>大大小小的文件夹们,统统换掉那黄色的夹子外套。WinXP<em>提供</em>了很方便的文件夹自定义功能,在文件夹“属性”<em>对话框</em>的“自定义”页上,即可看见很多定义的<em>内容</em>。 文件夹模板:可供选择的有相册、图片、音乐和视频等,其区别在于不同的模板对应不同的默认文件查看方式(幻灯片、平铺、图标等)以及文件夹任务。使用了以上两种图片类文件夹模板,文件夹左侧的“常见任务栏”<em>里</em>,都会有“图片任务”供选择,而使用了音乐类或视频类文件夹模板,则分别对应的是“音乐任务”与“视频任务”。 文件夹图片:当文件夹以缩略图方式查看时,WinXP会把该文件夹<em>里</em>最近修改的4个图片作为默认的文件夹图片显示,但为了提醒自己,可以让它变得更醒目。只需单击“选择图片”就可选择某个图片作为此文件夹的图片。 文件夹图标:如果不以缩略图方式查看,文件夹将会以其“标准图标”表示――一个黄色的夹子,如果觉得这千篇一律的黄夹子没有个性,我们也可以换。单击“更改图标”,可以看到WinXP为我们在Shell32.dll<em>里</em><em>提供</em>的许多图标,我们当然可以随便用上一用。 三、压缩与解压缩 目前我们使用的压缩解压缩软件想必都是WinZip或WinRAR等,它们各有自己的特点与用途,但实际应用中可以说95%以上的工作都是简单的压缩与解压缩,在这一点上,WinXP自带的压缩工具就足以满足需要了。 1.通过压缩磁盘对文件进行压缩 这种方法被WinXP冠名为“NTFS文件压缩”,只能在硬盘的NTFS分区上使用。打开要压缩文件/文件夹的“属性”<em>对话框</em>,选择“常规”页中的“高级”,勾选“高级属性”<em>里</em>的“压缩<em>内容</em>以便节省磁盘空间”,确定后,此文件/文件夹名会以蓝色显示。以这种方法压缩文件,实质上是对磁盘进行压缩,会带来了系统性能的降低(打开压缩文件时,系统将其解压缩,关闭文件时又重新压缩),因此建议仅用于对备份文件处理。 2.Zip文件的压缩 最先在Windows<em>提供</em>对Zip文件的支持始源于WinME,WinXP继承了这一特性,但基本上没有<em>太多</em>发展。这一功能被称为“Compressed(zipped) Folders”,只能进行最基本的压缩/解压缩工作,说好听点,就是“返璞归真”了。 实现方法一:在鼠标右键菜单上选择“新建”→“压缩(zipped)文件夹”。 实现方法二:选中欲压缩的文件(一个或多个),在其鼠标右键菜单上选择“发送到”→“压缩(zipped)文件夹”,即生成一个.zip文件。最后生成的文件名同鼠标单击的文件一致。 你还可以对.zip文件设置密码。打开一个.zip文件(确定是用WinXP自带功能打开,而不是用其他软件),选择菜单项的“文件”→“添加密码”,输入要设置的密码。之后,查看和解压缩此文件就需要密码了,可以满足一般的保密性要<em>求</em>。需要说明的是WinXP不能进行分卷压缩、添加注释等“高级任务”。 3.Zip文件的解压缩 压缩后的ZIP包可以像普通文件夹一样操作。如果要将ZIP包解压缩到指定位置,只需在其右键菜单上选择“全部提取...”利用“提取向导”,选择解压缩路径,输入密码(如果有的话),即可进行解压缩。 4.自解压包的制作 如果还有制作自解压包的需要,也不用去找什么专门工具,WinXP<em>里</em>仍然为你准备了――尽管微软并没有承认其存在。在“运行”<em>对话框</em><em>里</em>输入“iexpress”,回车后打开“IExpress Wizard”。在向导<em>里</em>依次选择“Create new Self Extraction Directive file”→“Extract files only”(压缩目的:Package purpose)→输入解压缩时<em>弹出</em><em>对话框</em>的标题(Package title)→输入<em>对话框</em>提示语(Confirmation prompt)→选择解压时是否显示许可协议(License agreement)→添加欲压缩的文件(Packaged files)→选择解压</a></div><div data-report-view="{"mod":"popu_645","index":"5","dest":"https://blog.csdn.net/liguiping2000/article/details/7327758","strategy":"2~default~OPENSEARCH~Rate","extra":"{\"utm_medium\":\"distribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~Rate-5-7327758-bbs-391813052.264^v3^pc_relevant_bbs_down_v2_default\",\"dist_request_id\":\"1772778361179_74962\"}","spm":"1035.2023.3001.6557"}" class="list-item" data-v-ca2d15ac><div class="recommend-title" data-v-ca2d15ac><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAeZJREFUWEdjZGBgYPhQkSn49/v/EAbG/2oM/xn4QWI0A4wMHxn+M95i5mRcI9Ax/T0jyPI/P/7VM/5n4KKZpVgM/s/I8I2Fg6mR8W1+RioDw39TelqOsIvxNOPbgvRumgc7Lt8xMnxkfJufPmtgfA+xddQBeEOAv7opgImHh5PoKPr169fnOdN3/Xn88DOxevA6QLC9L5KRk4uHWMNA6v59+fz50+TeTf9evvhGjD6qOwDsiI8fPnya2LX537t3Pwg5giYOADvi3Zs3nyZ0bfn36dNvfI6gmQNAlv599fLlxwmd2xi+ffuDsyjAVw6QkwbQLfr76MHDj30duwbMAf+/f/vyvrJoOcUO+Pf82dOv2zadIZSoQPLcXn4mTJJS0iA21Rzw+/6de58n9uwlxgG8+SXOrIoqSlR1ADEWY1NDtRBg+PXrx7+PHz4S4xAmfgF+BjY2DqqGwIBHwb/3797+unzhFjEhwKZroMYkKCRM1RAgxmKapoF/r1+9/HHs8GVslrCISfCzWVpjbdZRLRHiSwOsugZivMkZ/jQNAYa/f//8//UTe+3GyMTMyMGBtd1AtRAY8DQwIA7gTcuxZuDkABcoZIPvP358njXlKFmVEdmWkqBxMHRMBrhrNuCdU1B0DWT3HACwkGScZb+cwwAAAABJRU5ErkJggg==" alt data-v-ca2d15ac> <a target="_blank" href="https://blog.csdn.net/liguiping2000/article/details/7327758" data-report-click="{"mod":"popu_645","index":"5","dest":"https://blog.csdn.net/liguiping2000/article/details/7327758","strategy":"2~default~OPENSEARCH~Rate","extra":"{\"utm_medium\":\"distribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~Rate-5-7327758-bbs-391813052.264^v3^pc_relevant_bbs_down_v2_default\",\"dist_request_id\":\"1772778361179_74962\"}","spm":"1035.2023.3001.6557"}" data-report-query="spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~Rate-5-7327758-bbs-391813052.264^v3^pc_relevant_bbs_down_v2_default&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~Rate-5-7327758-bbs-391813052.264^v3^pc_relevant_bbs_down_v2_default" class="title" data-v-ca2d15ac><em>js</em>“<em>弹出</em><em>对话框</em>”和“<em>弹出</em>窗口”详解</a></div> <a target="_blank" href="https://blog.csdn.net/liguiping2000/article/details/7327758" data-report-click="{"mod":"popu_645","index":"5","dest":"https://blog.csdn.net/liguiping2000/article/details/7327758","strategy":"2~default~OPENSEARCH~Rate","extra":"{\"utm_medium\":\"distribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~Rate-5-7327758-bbs-391813052.264^v3^pc_relevant_bbs_down_v2_default\",\"dist_request_id\":\"1772778361179_74962\"}","spm":"1035.2023.3001.6557"}" data-report-query="spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~Rate-5-7327758-bbs-391813052.264^v3^pc_relevant_bbs_down_v2_default&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~Rate-5-7327758-bbs-391813052.264^v3^pc_relevant_bbs_down_v2_default" class="desc" data-v-ca2d15ac><em>JS</em>中showModalDialog 详细使用 基本介绍:           showModalDialog()         (IE 4+ 支持)           showModelessDialog()      (IE 5+ 支持)           window.showModalDialog()                  方法用来创建一个显示HTML<em>内容</em>的模</a></div></div></div></div> <div class="public_pc_right_footer2020" style="display:none;" data-v-4a5a7f56></div></div> <div id="right-floor-user-content_562" data-editor="{"type":"floor","pageId":143,"floorId":562}" class="user-right-floor right-box main-box detail-user-right" data-v-229a00b0><div class="__vuescroll" style="height:100%;width:100%;padding:0;position:relative;overflow:hidden;"><div class="__panel __hidebar" style="position:relative;box-sizing:border-box;height:100%;overflow-y:hidden;overflow-x:hidden;transform-origin:;transform:;"><div class="__view" style="position:relative;box-sizing:border-box;min-width:100%;min-height:100%;"><!----><div comp-data="[object Object]" baseInfo="[object Object]" community="[object Object]" class="introduce" data-v-4722a3ae><div class="introduce-title" data-v-4722a3ae><div class="img-info" data-v-4722a3ae><a href="https://bbs.csdn.net/forums/JavaScript" class="community-img" data-v-4722a3ae><img src="https://img-community.csdnimg.cn/avatar/ca46c476a908476d9927eaee4b0afc10.png?x-oss-process=image/resize,m_fixed,h_88,w_88" alt data-v-4722a3ae> <div title="JavaScript" class="community-name" data-v-4722a3ae> JavaScript </div></a></div></div> <div class="content" data-v-4722a3ae><div class="detail" data-v-4722a3ae><div title="87994" class="item" data-v-4722a3ae><p class="num" data-v-4722a3ae> 87,994 </p> <p class="desc" data-v-4722a3ae> 社区成员 </p></div> <div title="224693" class="item" data-v-4722a3ae><a href="https://bbs.csdn.net/forums/JavaScript" target="_blank" data-v-4722a3ae><p class="num" data-v-4722a3ae> 224,693 </p> <p class="desc" data-v-4722a3ae> 社区内容 </p></a></div></div> <div class="detail-btns" data-v-4722a3ae><div class="community-ctrl-btns_wrapper" data-v-0ebf603c data-v-4722a3ae><div class="community-ctrl-btns" data-v-0ebf603c><div class="community-ctrl-btns_item" data-v-0ebf603c><div data-v-160be461 data-v-0ebf603c><div data-report-click="{"spm":"3001.5975"}" data-v-160be461><img src="https://csdnimg.cn/release/cmsfe/public/img/topic.427195d5.png" alt="" class="img sendTopic" data-v-160be461 data-v-0ebf603c> <span data-v-160be461 data-v-0ebf603c>发帖</span></div> <!----> <!----></div></div><div class="community-ctrl-btns_item" data-v-0ebf603c><div data-v-0ebf603c><img src="https://csdnimg.cn/release/cmsfe/public/img/me.40a70ab0.png" alt="" class="img me" data-v-0ebf603c> <span data-v-0ebf603c>与我相关</span></div></div><div class="community-ctrl-btns_item" data-v-0ebf603c><div data-v-0ebf603c><img src="https://csdnimg.cn/release/cmsfe/public/img/task.87b52881.png" alt="" class="img task" data-v-0ebf603c> <span data-v-0ebf603c>我的任务</span></div></div><div class="community-ctrl-btns_item" data-v-0ebf603c><div class="community-share" data-v-4ca34db9 data-v-0ebf603c><div class="handle-item share" data-v-ca030a68 data-v-4ca34db9><span height="384" data-v-ca030a68><div role="tooltip" id="el-popover-3732" aria-hidden="true" class="el-popover el-popper popo share-popover" style="width:265px;display:none;"><!----><div id="tool-QRcode" class="QRcode" data-v-ca030a68><img src="https://csdnimg.cn/release/cmsfe/public/img/shareBg4.515d57f6.png" alt="" class="share-bg" data-v-ca030a68> <div class="share-bg-box" data-v-ca030a68><div class="share-content" data-v-ca030a68><img src="https://img-community.csdnimg.cn/avatar/ca46c476a908476d9927eaee4b0afc10.png?x-oss-process=image/resize,m_fixed,h_88,w_88" alt="" class="share-avatar" data-v-ca030a68> <div class="share-tit" data-v-ca030a68>JavaScript</div> <div class="share-dec" data-v-ca030a68>Web 开发 JavaScript</div> <span class="copy-share-url" data-v-ca030a68>复制链接</span> <div class="shareText" data-v-ca030a68> </div></div> <div class="share-code" data-v-ca030a68><div class="qrcode" data-v-ca030a68></div> <div class="share-code-text" data-v-ca030a68>扫一扫</div></div></div></div> </div><span class="el-popover__reference-wrapper"><div data-v-0ebf603c><img src="https://csdnimg.cn/release/cmsfe/public/img/share-circle.3e0b7822.png" alt="" class="img share" data-v-0ebf603c> <span data-v-0ebf603c>分享</span></div></span></span></div> <!----></div></div></div> <!----> <div data-v-4fb59baf data-v-0ebf603c><div class="el-dialog__wrapper ccloud-pop-outer2" style="display:none;" data-v-4fb59baf><div role="dialog" aria-modal="true" aria-label="dialog" class="el-dialog el-dialog--center" style="margin-top:15vh;width:70%;"><div class="el-dialog__header"><span class="el-dialog__title"></span><!----></div><!----><div class="el-dialog__footer"><span class="dialog-footer clearfix" data-v-4fb59baf><div class="confirm-btm fr" data-v-4fb59baf>确定</div></span></div></div></div></div></div></div></div> <div style="display:none;" data-v-4722a3ae data-v-4722a3ae><!----> <div class="introduce-desc" data-v-4722a3ae><div class="introduce-desc-title" data-v-4722a3ae>社区描述</div> <span data-v-4722a3ae> Web 开发 JavaScript </span></div></div> <div class="introduce-text" data-v-4722a3ae><div class="label-box" data-v-4722a3ae><!----> <!----> <!----></div></div> <!----> <div class="manage" data-v-4722a3ae><div class="manage-inner" data-v-4722a3ae><span data-v-4722a3ae>社区管理员</span> <ul data-v-4722a3ae><li data-v-4722a3ae><a href="https://blog.csdn.net/community_91" target="_blank" class="start-img" data-v-4722a3ae><img src="https://profile-avatar.csdnimg.cn/default.jpg!1" alt="JavaScript" class="el-tooltip item" data-v-4722a3ae data-v-4722a3ae></a></li><li data-v-4722a3ae><a href="https://blog.csdn.net/sysdzw" target="_blank" class="start-img" data-v-4722a3ae><img src="https://profile-avatar.csdnimg.cn/45dcec50fd694b578374e7167ff7914a_sysdzw.jpg!1" alt="无·法" class="el-tooltip item" data-v-4722a3ae data-v-4722a3ae></a></li></ul></div></div> <div class="actions" data-v-4722a3ae><!----> <div style="flex:1;" data-v-4722a3ae><div class="join-btn" data-v-4722a3ae> 加入社区 </div></div> <!----> <!----></div> <div class="el-dialog__wrapper" style="display:none;" data-v-38c57799 data-v-4722a3ae><div role="dialog" aria-modal="true" aria-label="获取链接或二维码" class="el-dialog join-qrcode-dialog" style="margin-top:15vh;width:600px;"><div class="el-dialog__header"><span class="el-dialog__title">获取链接或二维码</span><button type="button" aria-label="Close" class="el-dialog__headerbtn"><i class="el-dialog__close el-icon el-icon-close"></i></button></div><!----><div class="el-dialog__footer"><span class="dialog-footer" data-v-38c57799></span></div></div></div> <div class="collapse-btn" data-v-4722a3ae><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAAAgCAYAAACFM/9sAAAAAXNSR0IArs4c6QAAAi1JREFUaEPtl01u01AUhc+N8wMSO4AxzJAqwQpKQsdtbMOICmKnwCKQ2ACDIgotrYKiduIiVZ10B0CBAjtAbICfooomJr3IcUoTiVLb15GNuG/67nm65/M5AxP0iAiQSK1iKEBhCBSgAhQSEMo1gQpQSEAo1wQqQCEBoVwT+K8CnLnWvER8cOHMaf95q9Xaj+vDtp3LPeD83u6p9a2t+U5cfVrzmSTQNOfOgg4+ATDAeNHp/Jza3Fz5HtWUZbl3GXjYn2e+53lL96Nq057LBOD0dOOcUSx8BFAcGHpZLlWmVlfnd08yaJrubRAe/Z77HwEG5kdS1E8StgFc9bzFb8dBrNtukxgLwOAXNEF6T/pAce8zSeDhknXbuUNMQRUHe/BrMNX+BNGyHIdBT45m6VVn36/FqX5cOFHmMwUYJrE5x+CgkuEujLe+361ubLS+HhowzeYtEC8NzWyXy5ValMpHgSCZyRxgsLxpui4Ij4/ShZ1S0aiurS18sSznJoOeDt29AaP6t6pLgMTV5gJgsHTddhvEWBwC9Y6AZww8AFA4Lp1xDac9nxuAYZ37aQuqGgIbPTt+t3tluNppw0jyXq4AhnV2ZkG0PAKR8b5UMiaDSicxOU5N7gCGSXRvMLAygPgB3Jv0vOXP4wSR9O1cAgzMzFxvXDR6hYlK5cd6u93eS2pw3LrcAhy38bTeV4BCkgpQAQoJCOWaQAUoJCCUawIVoJCAUK4JVIBCAkL5L1yapyGdIBwvAAAAAElFTkSuQmCC" alt data-v-4722a3ae></div></div><!----><!----><div comp-data="[object Object]" baseInfo="[object Object]" typePage="detail" community="[object Object]" class="floor-user-right-rank" data-v-3d3affee><div class="el-tabs el-tabs--top" data-v-3d3affee><div class="el-tabs__header is-top"><div class="el-tabs__nav-wrap is-top"><div class="el-tabs__nav-scroll"><div role="tablist" class="el-tabs__nav is-top" style="transform:translateX(-0px);"><div class="el-tabs__active-bar is-top" style="width:0px;transform:translateX(0px);ms-transform:translateX(0px);webkit-transform:translateX(0px);"></div></div></div></div></div><div class="el-tabs__content"><div role="tabpanel" id="pane-integral" aria-labelledby="tab-integral" class="el-tab-pane" data-v-3d3affee></div><div role="tabpanel" aria-hidden="true" id="pane-3" aria-labelledby="tab-3" class="el-tab-pane" style="display:none;" data-v-3d3affee></div></div></div> <div class="floor-user-right-rank-score" data-v-608528ce data-v-3d3affee><div class="floor-user-right-rank-score-tabs" data-v-608528ce><ul data-v-608528ce><li data-v-608528ce> 近7日 </li><li data-v-608528ce> 近30日 </li><li class="active" data-v-608528ce> 至今 </li></ul></div> <div class="floor-user-right-rank-common" data-v-46cf600d data-v-608528ce><div class="rank-list" data-v-46cf600d><!----> <div class="no-data loading" data-v-46cf600d><i class="el-icon-loading" data-v-46cf600d></i> <p data-v-46cf600d>加载中</p></div> <!----> <a href="https:///JavaScript/rank/list/total" target="_blank" class="show-more" data-v-46cf600d> 查看更多榜单 </a></div></div></div></div><div comp-data="[object Object]" baseInfo="[object Object]" typePage="detail" community="[object Object]" class="floor comunity-rule" data-v-3cfa4dbd><div class="title" data-v-3cfa4dbd> 社区公告 </div> <div class="contain" data-v-3cfa4dbd><div class="inner-content" data-v-3cfa4dbd>暂无公告</div></div></div><div comp-data="[object Object]" baseInfo="[object Object]" typePage="detail" community="[object Object]" class="user-right-adimg empty-arr" data-v-15c6aa4f><div class="adImgs" data-v-2a6389b9 data-v-15c6aa4f><!----> <div data-v-2a6389b9><div data-v-2a6389b9></div></div></div></div><div comp-data="[object Object]" baseInfo="[object Object]" typePage="detail" class="ai-entrance" data-v-eb1c454c><p data-v-eb1c454c>试试用AI创作助手写篇文章吧</p> <div class="entrance-btn-line" data-v-eb1c454c><a href="https://mp.csdn.net/edit?guide=1" target="_blank" data-report-click="{"spm":"3001.9712"}" data-report-query="spm=3001.9712" class="entrance-btn" data-v-eb1c454c>+ 用AI写文章</a></div></div></div></div></div></div></div></div></div></div> <!----></div></div></div> <div> <script type="text/javascript" src="https://g.csdnimg.cn/common/csdn-footer/csdn-footer.js" data-isfootertrack="false" defer></script> </div></div></div><script> window.__INITIAL_STATE__= {"csrf":"Ms1JjaPX-ZzZpXepK7VU8yMXKJ_zmOwPzwDI","origin":"http:\u002F\u002Fbbs.csdn.net","isMobile":false,"cookie":"uuid_tt_dd=10_36287181820-1772778318054-712755; dc_session_id=10_1772778318054.836744; dc_sid=786ebf70fa4037306ce9980dcca843b4; uuid_tt_dd=10_36287181820-1772778318054-712755; csrfToken=7dl8fLZD7N9_A_vY1Hi1aJJh","ip":"216.73.216.102","pageData":{"page":{"pageId":143,"title":"社区详情","keywords":"社区详情","description":"社区详情","ext":{"isMd":"true","armsfe1":"{pid:\"dyiaei5ihw@1a348e4d05c2c78\",appType:\"web\",imgUrl:\"https:\u002F\u002Farms-retcode.aliyuncs.com\u002Fr.png?\",sendResource:true,enableLinkTrace:true,behavior:true}","redPacketCfg":"{\"presetTitle\":[\"成就一亿技术人!\",\"大吉大利\",\"节日快乐\",\"Bug Free\",\"Hello World\",\"Be Greater Than Average!!\"],\"defaultTitle\":\"成就一亿技术人!\",\"preOpenSty\":{},\"redCardSty\":{}}","blogStar":"[{\"year\":\"2021\",\"enable\":true,\"communityIds\":[3859],\"url\":\"https:\u002F\u002Fbbs.csdn.net\u002Fsummary2021\"},{\"year\":\"2022\",\"enable\":true,\"communityIds\":[3860],\"url\":\"https:\u002F\u002Fbbs.csdn.net\u002Fsummary2022\"}]","mdVersion":"https:\u002F\u002Fcsdnimg.cn\u002Frelease\u002Fmarkdown-editor\u002F1.1.0\u002Fmarkdown-editor.js","componentSortCfg":"{ \"right\":[\"ratesInfo\",\"cty-profile\",\"pub-comp\",\"user-right-introduce\",\"post-event\",\"my-mission\", \"user-right-rank\",\"user-right-rule\",\"user-right-adimg\"] }","show_1024":"{\"enable\":false,\"useWhitelist\":false,\"whitelist\":[76215],\"home\":\"https:\u002F\u002F1111.csdn.net\u002F\",\"logo\":\"https:\u002F\u002Fimg-home.csdnimg.cn\u002Fimages\u002F20221104102741.png\",\"hideLive\":true}","iframes":"[\"3859\"]","pageCfg":"{\"disableDownloadPDF\": false,\"hideSponsor\":false}"}},"template":{"templateId":71,"templateComponentName":"ccloud-detail","title":"ccloud-detail","floorList":[{"floorId":562,"floorComponentName":"floor-user-content","title":"社区详情页","description":"社区详情页","indexOrder":3,"componentList":[{"componentName":"baseInfo","componentDataId":"cloud-detail1","componentConfigData":{},"relationType":3},{"componentName":"user-right-introduce","componentDataId":"","componentConfigData":{},"relationType":2},{"componentName":"user-recommend","componentDataId":"","componentConfigData":{},"relationType":2},{"componentName":"user-right-rank","componentDataId":"","componentConfigData":{},"relationType":2},{"componentName":"user-right-rule","componentDataId":"","componentConfigData":{},"relationType":2},{"componentName":"user-right-adimg","componentDataId":"","componentConfigData":{},"relationType":2},{"componentName":"default2014LiveRoom","componentDataId":"20221024DefaultLiveRoom","componentConfigData":{},"relationType":3}]}]},"data":{"baseInfo":{"customDomain":"","uriName":"JavaScript","communityHomePage":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FJavaScript","owner":{"userName":"community_91","nickName":"JavaScript","avatarUrl":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002Fdefault.jpg!1","position":"","companyName":""},"user":{"userRole":3,"userName":null,"nickName":null,"avatarUrl":null,"rank":null,"follow":2,"communityBase":null,"joinCollege":null,"isVIP":null},"community":{"name":"JavaScript","description":"Web 开发 JavaScript","avatarUrl":"https:\u002F\u002Fimg-community.csdnimg.cn\u002Favatar\u002Fca46c476a908476d9927eaee4b0afc10.png?x-oss-process=image\u002Fresize,m_fixed,h_88,w_88","qrCode":"","createTime":"2007-09-28","communityAvatarUrl":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002Fdefault.jpg!1","communityNotice":null,"userCount":87994,"contentCount":224693,"followersCount":53131,"communityRule":"","communityId":209,"bgImage":"","hashId":"y3w0yonz","domain":"","uriName":"JavaScript","externalDisplay":1,"adBanner":{"img":"","url":"","adType":0,"adCon":null},"rightBanner":{"img":"","url":"","adType":0,"adCon":null},"tagId":null,"tagName":null,"communityType":1,"communityApplyUrl":"https:\u002F\u002Fmarketing.csdn.net\u002Fquestions\u002FQ2106040308026533763","joinType":0,"visibleType":0,"collapse":0,"hideLeftSideBar":0,"topicMoveAble":0,"allowActions":{},"communityOwner":"community_91","tagNameInfo":{"provinceTag":null,"areaTag":null,"technologyTags":null,"customTags":null}},"tabList":[{"tabId":1368,"tabName":"全部","tabUrl":"","tabSwitch":1,"tabType":4,"tabContribute":0,"cardType":0,"indexOrder":-1,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FJavaScript?typeId=1368","iframe":false,"sortType":1},{"tabId":873,"tabName":"问答","tabUrl":"https:\u002F\u002Fask.csdn.net\u002Flist\u002F11\u002Ftag\u002F190","tabSwitch":1,"tabType":0,"tabContribute":0,"indexOrder":0,"iframe":true,"sortType":1},{"tabId":4055678,"tabName":"博文收录","tabUrl":"","tabSwitch":1,"tabType":2,"tabContribute":0,"cardType":0,"indexOrder":19,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FJavaScript?typeId=4055678","iframe":false,"sortType":1},{"tabId":1620032,"tabName":"Ada助手","tabUrl":"","tabSwitch":1,"tabType":2,"tabContribute":0,"cardType":0,"indexOrder":20,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FJavaScript?typeId=1620032","iframe":false,"sortType":1}],"dataResource":{"mediaType":"c_cloud","subResourceType":"8_c_cloud_long_text","showType":"long_text","tabId":0,"communityName":"JavaScript","communityHomePageUrl":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FJavaScript","communityType":1,"content":{"id":"391813052","contentId":391813052,"cateId":0,"cateName":null,"url":"https:\u002F\u002Fbbs.csdn.net\u002Ftopics\u002F391813052","shareUrl":"https:\u002F\u002Fbbs.csdn.net\u002Ftopics\u002F391813052","createTime":"2015-08-19 06:43:54","updateTime":"2021-05-28 19:41:59","resourceUsername":"berritus","best":0,"top":0,"text":null,"publishDate":"2015-08-19","lastReplyDate":"2015-08-21","type":"13","nickname":null,"avatar":"https:\u002F\u002Fg.csdnimg.cn\u002Fstatic\u002Fuser-img\u002Fdefault-user.png","username":"berritus","commentCount":2,"diggNum":0,"digg":false,"viewCount":153,"hit":false,"resourceSource":6,"status":10,"taskStatus":null,"expired":false,"taskCate":0,"taskAward":0,"taskExpired":null,"checkRedPacket":null,"avgScore":0,"totalScore":0,"topicTitle":"求提供给我js代码弹出右下角对话框,对话框里的内容为某个url的内容,谢谢,本人不会js太多","insertFirst":false,"likeInfo":null,"description":"目的就是调用这js代码,就能在页面右下角弹出一个对话框,对话框里的内容是某个url的内容,比如url地址为www.baidu.com 那么弹出对话框里的内容就是www.baidu.com的内容,还有,如果能定时关闭的更好。目前用window.open的会被浏览器拦截,不好用","coverImg":"https:\u002F\u002Fimg-home.csdnimg.cn\u002Fimages\u002F20221110040246.png","content":"目的就是调用这js代码,就能在页面右下角弹出一个对话框,对话框里的内容是某个url的内容,比如url地址为www.baidu.com\u003Cbr \u002F\u003E\n那么弹出对话框里的内容就是www.baidu.com的内容,还有,如果能定时关闭的更好。目前用window.open的会被浏览器拦截,不好用","mdContent":null,"pictures":null,"videoInfo":null,"linkInfo":null,"student":{"isCertification":false,"org":"","bala":""},"employee":{"isCertification":false,"org":"","bala":""},"userCertification":[],"dependId":"0","dependSubType":null,"videoUrl":null,"favoriteCount":0,"favoriteStatus":false,"taskType":null,"defaultScore":null,"syncAsk":false,"videoPlayLength":null},"communityUser":null,"allowPost":false,"submitHistory":[{"user":{"registerurl":"https:\u002F\u002Fg.csdnimg.cn\u002Fstatic\u002Fuser-reg-year\u002F1x\u002F14.png","avatarurl":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002F213d293942c24d15a25e867f570edb06_berritus.jpg!1","nickname":"python如何学习","selfdesc":"Miss 9,可以迷恋我,但是不能太迷恋我","createdate":"2011-12-24 23:03:37","days":"5186","years":"14","username":"berritus","school":null,"company":null,"job":null},"userName":"berritus","event":"创建了帖子","body":"2015-08-19 06:43","editId":null}],"resourceExt":{}},"contentReply":{"pageNo":1,"pageSize":20,"totalPages":1,"totalCount":2,"total":0,"list":[{"hit":null,"hitMsg":null,"content":"\u003Cpre\u003E\u003Ccode class=\"language-html\"\u003E<!DOCTYPE html PUBLIC "-\u002F\u002FW3C\u002F\u002FDTD XHTML 1.0 Transitional\u002F\u002FEN" "http:\u002F\u002Fwww.w3.org\u002FTR\u002Fxhtml1\u002FDTD\u002Fxhtml1-transitional.dtd">\n<html xmlns="http:\u002F\u002Fwww.w3.org\u002F1999\u002Fxhtml">\n<head>\n<meta http-equiv="content-type" content="text\u002Fhtml;charset=gb2312"\u002F>\n<title>网页右下角浮动窗口<\u002Ftitle>\n<style type="text\u002Fcss">\n#msg_win{border:1px solid #A67901;background:#EAEAEA;width:240px;position:absolute;right:0;font-size:12px;font-family:Arial;margin:0px;display:none;overflow:hidden;z-index:99;}\n#msg_win .icos{position:absolute;top:2px;*top:0px;right:2px;z-index:9;}\n.icos a{float:left;color:#833B02;margin:1px;text-align:center;font-weight:bold;width:14px;height:22px;line-height:22px;padding:1px;text-decoration:none;font-family:webdings;}\n.icos a:hover{color:#fff;}\n#msg_title{background:#FECD00;border-bottom:1px solid #A67901;border-top:1px solid #FFF;border-left:1px solid #FFF;color:#000;height:25px;line-height:25px;text-indent:5px;}\n#msg_content{margin:5px;margin-right:0;width:230px;height:126px;overflow:hidden;}\n<\u002Fstyle>\n<\u002Fhead>\n<body>\n<br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F><br \u002F>\n<div id="msg_win" style="display:block;top:490px;visibility:visible;opacity:1;">\n<div class="icos"><a id="msg_min" title="最小化" href="javascript:void 0">_<\u002Fa><a id="msg_close" title="关闭" href="javascript:void 0">×<\u002Fa><\u002Fdiv>\n<div id="msg_title">弹窗标题<\u002Fdiv>\n<div id="msg_content">弹窗内容,如果想链接百度,就写一个iframe就行了<\u002Fdiv>\n<\u002Fdiv>\n<script type="text\u002Fjavascript">\n\u002F\u002F定时关闭方法\nfunction closed()\n{\n\tdocument.getElementById("msg_close").click();\n}\nsetTimeout(closed,5000);\u002F\u002F定时关闭执行,单位毫秒,5000即5s\n\nvar Message={\nset: function() {\u002F\u002F最小化与恢复状态切换\nvar set=this.minbtn.status == 1?[0,1,'block',this.char[0],'最小化']:[1,0,'none',this.char[1],'展开'];\nthis.minbtn.status=set[0];\nthis.win.style.borderBottomWidth=set[1];\nthis.content.style.display =set[2];\nthis.minbtn.innerHTML =set[3]\nthis.minbtn.title = set[4];\nthis.win.style.top = this.getY().top;\n},\nclose: function() {\u002F\u002F关闭\nthis.win.style.display = 'none';\nwindow.onscroll = null;\n},\nsetOpacity: function(x) {\u002F\u002F设置透明度\nvar v = x >= 100 ? '': 'Alpha(opacity=' + x + ')';\nthis.win.style.visibility = x<=0?'hidden':'visible';\u002F\u002FIE有绝对或相对定位内容不随父透明度变化的bug\nthis.win.style.filter = v;\nthis.win.style.opacity = x \u002F 100;\n},\nshow: function() {\u002F\u002F渐显\nclearInterval(this.timer2);\nvar me = this,fx = this.fx(0, 100, 0.1),t = 0;\nthis.timer2 = setInterval(function() {\nt = fx();\nme.setOpacity(t[0]);\nif (t[1] == 0) {clearInterval(me.timer2) }\n},10);\n},\nfx: function(a, b, c) {\u002F\u002F缓冲计算\nvar cMath = Math[(a - b) > 0 ? "floor": "ceil"],c = c || 0.1;\nreturn function() {return [a += cMath((b - a) * c), a - b]}\n},\ngetY: function() {\u002F\u002F计算移动坐标\nvar d = document,b = document.body, e = document.documentElement;\nvar s = Math.max(b.scrollTop, e.scrollTop);\nvar h = \u002FBackCompat\u002Fi.test(document.compatMode)?b.clientHeight:e.clientHeight;\nvar h2 = this.win.offsetHeight;\nreturn {foot: s + h + h2 + 2+'px',top: s + h - h2 - 2+'px'}\n},\nmoveTo: function(y) {\u002F\u002F移动动画\nclearInterval(this.timer);\nvar me = this,a = parseInt(this.win.style.top)||0;\nvar fx = this.fx(a, parseInt(y));\nvar t = 0 ;\nthis.timer = setInterval(function() {\nt = fx();\nme.win.style.top = t[0]+'px';\nif (t[1] == 0) {\nclearInterval(me.timer);\nme.bind();\n}\n},10);\n},\nbind:function (){\u002F\u002F绑定窗口滚动条与大小变化事件\nvar me=this,st,rt;\nwindow.onscroll = function() {\nclearTimeout(st);\nclearTimeout(me.timer2);\nme.setOpacity(0);\nst = setTimeout(function() {\nme.win.style.top = me.getY().top;\nme.show();\n},600);\n};\nwindow.onresize = function (){\nclearTimeout(rt);\nrt = setTimeout(function() {me.win.style.top = me.getY().top},100);\n}\n},\ninit: function() {\u002F\u002F创建HTML\nfunction $(id) {return document.getElementById(id)};\nthis.win=$('msg_win');\nvar set={minbtn: 'msg_min',closebtn: 'msg_close',title: 'msg_title',content: 'msg_content'};\nfor (var Id in set) {this[Id] = $(set[Id])};\nvar me = this;\nthis.minbtn.onclick = function() {me.set();this.blur()};\nthis.closebtn.onclick = function() {me.close()};\nthis.char=navigator.userAgent.toLowerCase().indexOf('firefox')+1?['_','::','×']:['0','2','r'];\u002F\u002FFF不支持webdings字体\nthis.minbtn.innerHTML=this.char[0];\nthis.closebtn.innerHTML=this.char[2];\nsetTimeout(function() {\u002F\u002F初始化最先位置\nme.win.style.display = 'block';\nme.win.style.top = me.getY().foot;\nme.moveTo(me.getY().top);\n},0);\nreturn this;\n}\n};\nMessage.init();\n<\u002Fscript>\n<\u002Fbody>\n<\u002Fhtml>\n\u003C\u002Fcode\u003E\u003C\u002Fpre\u003E\n完整的HTML代码,请给分","topicTitle":null,"description":"\u003C!DOCTYPE html PUBLIC \"-\u002F\u002FW3C\u002F\u002FDTD XHTML 1.0 Transitional\u002F\u002FEN\" \"http:\u002F\u002Fwww.w3.org\u002FTR\u002Fxhtml1\u002FDTD\u002Fxhtml1-transitional.dtd\"\u003E \u003Chtml xmlns=\"http:\u002F\u002Fwww.w3.org\u002F1999\u002Fxhtml\"\u003E \u003Chead\u003E \u003Cmeta http-equiv=\"content-type\" content=\"text\u002Fhtml;charset=gb2312\"\u002F\u003E \u003Ctitle\u003E网","id":400296825,"contentResourceId":391813052,"bindContentResourceId":0,"communityId":209,"username":"linyustar","userNickName":"霖雨 - LinyuLoveTJ","userAvatar":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002F2e1424193712439884285c8dcf456cc9_linyustar.jpg!1","mdContent":null,"parentId":0,"replyName":"","replyNickName":"","bizNo":"bbs","ip":3728880964,"status":10,"childCount":0,"topStatus":0,"recommendStatus":0,"userLike":false,"diggCount":0,"childIds":"","createTime":"2015-08-21 11:40:40","updateTime":"2015-08-21 01:22:04","formatTime":"2015-08-21","userRoleHonorary":{"userName":null,"roleId":null,"roleType":null,"roleStatus":null,"honoraryId":null,"roleName":null,"honoraryName":null,"communityNickname":null,"communitySignature":null},"child":null,"communityNickname":null,"communityReplyNickname":null,"rewardInfo":null,"checkRedPacketVO":null,"noDiggCount":null},{"hit":null,"hitMsg":null,"content":"\u003Ca href=\"http:\u002F\u002Flayer.layui.com\u002F\" target=\"_blank\" \u003Ehttp:\u002F\u002Flayer.layui.com\u002F\u003C\u002Fa\u003E","topicTitle":null,"description":"http:\u002F\u002Flayer.layui.com\u002F","id":400290768,"contentResourceId":391813052,"bindContentResourceId":0,"communityId":209,"username":"slwsss","userNickName":"slwsss","userAvatar":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002F28a20954431f4527bde0346f6091bf00_slwsss.jpg!1","mdContent":null,"parentId":0,"replyName":"","replyNickName":"","bizNo":"bbs","ip":2016043071,"status":10,"childCount":0,"topStatus":0,"recommendStatus":0,"userLike":false,"diggCount":0,"childIds":"","createTime":"2015-08-19 07:10:36","updateTime":"2015-08-20 08:41:55","formatTime":"2015-08-19","userRoleHonorary":{"userName":null,"roleId":null,"roleType":null,"roleStatus":null,"honoraryId":null,"roleName":null,"honoraryName":null,"communityNickname":null,"communitySignature":null},"child":null,"communityNickname":null,"communityReplyNickname":null,"rewardInfo":null,"checkRedPacketVO":null,"noDiggCount":null}],"maxPageSize":3000},"defaultActiveTab":1368,"recommends":[{"url":"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fsuper_zhaowenke\u002F2190657","title":"ExtAspNet v2.2.1 (2009-4-1) 值得一看","desc":"ExtAspNet v2.2.1\n\t\nExtAspNet是一组专业的Asp.net控件库,拥有原生的AJAX支持和丰富的UI效果,\n目标是创建没有JavaScript,没有CSS,没有UpdatePanel,没有WebServices的Web应用程序。\n\n支持的浏览器: IE 7.0+, Firefox 3.0+, Chrome 2.0+, Opera 9.5+, Safari 3.0+\n\n注:ExtAspNet基于一些开源的程序Ext\u003Cem\u003EJS\u003C\u002Fem\u003E, HtmlAgilityPack, Nii.\u003Cem\u003EJS\u003C\u002Fem\u003EON, YUICompressor。\n\n示例: http:\u002F\u002Fextasp.net\u002F\n开源: http:\u002F\u002Fextaspnet.codeplex.com\u002F\n博客: http:\u002F\u002Fsanshi.cnblogs.com\u002F\n邮箱: sanshi.ustc@gmail.com\n\n\n发布历史:\n\n+2010-03-28 v2.2.1\n\t+为TabStrip的GetAddTabReference函数增加重载方法,以便指定Tab的图标(feedback:mmdcup)。 \n\t\t-修正此函数通过PageContext.RegisterStartupScript调用时不能正确显示Icon的BUG(feedback:zhaowenke)。\n\t-修正basic\u002Fhello.aspx示例在单独浏览器打开后,不能\u003Cem\u003E弹出\u003C\u002Fem\u003E\u003Cem\u003E对话框\u003C\u002Fem\u003E的BUG。\n\t-隐藏示例首页最外层RegionPanel的边框ShowBorder=\"false\"。\n\t+集成Ext\u003Cem\u003Ejs\u003C\u002Fem\u003E最新版本v3.1.1。\n\t\t-增加一个新的Theme - Access。\n\t\t-修正了Firefox下Zoom In\u002FOut时页面消失的BUG。\n\t\t-删除Panel的EnableLightBackgroundColor属性,同时EnableBackgroundColor只支持Blue和Gray两种Theme。\n\n\n\n+2010-01-31 v2.2.0\n\t-使得Asp.net的控件ImageButton具有和Asp.net的Button控件类似的行为(Ajax提交)(feedback:261629698)。\n\t+TabStrip增加GetAddTabReference和GetRemoveTabReference两个函数,用来向TabStrip控件动态增加删除Tab。\n\t\t-增加示例tabstrip\u002Ftabstrip_addtab.aspx。\n\t-重构了示例网站的架构,目前只有一层IFrame结构。\n\t-为TabStrip增加EnableTabCloseMenu属性,是否启用右键菜单,可用来关闭当前Tab和所有其他Tab。\n\t-为NumberBox增加DecimalPrecision属性,用来控制小数点后的位数(需要设置NoDecimal=\"false\")(feedback:zqmars)。\n\t-Window控件更新。\n\t\t-关闭按钮默认直接关闭,\u003Cem\u003E不会\u003C\u002Fem\u003E\u003Cem\u003E弹出\u003C\u002Fem\u003E确认\u003Cem\u003E对话框\u003C\u002Fem\u003E。\n\t\t-GetConfirmFormModifiedHideReference的函数中的ConfirmFormModified简化为Confirm,所以此函数更名为GetConfirmHideReference。\n\t\t-增加两个属性EnableConfirmOnClose(默认false),CloseAction(Hide, HideRefresh, HidePostBack)。\n\t\t-修正EnableMaximize属性不能使Window最大化的BUG,修正了双击标题栏不能最大化的BUG。\n\t-删除Button控件的SystemIcon属性,比如以前这样定义SystemIcon=\"Close\",现在需要这样定义Icon=\"SystemClose\"。\n\t-WindowPosition默认居中,而不是黄金分割位置。\n\t+Button, Window等控件\u003Cem\u003E弹出\u003C\u002Fem\u003E位置属性的变化。\n\t\t-Window的Target属性由字符串类型变为枚举类型,注意更新以前的\u003Cem\u003E代码\u003C\u002Fem\u003E:Target=\"_self\" -\u003E Target=\"Self\", Target=\"_parent\" -\u003E Target=\"Parent\"。\n\t\t-MenuButton, LinkButton, Button, LinkButtonField的ConfirmTarget属性由字符串变为枚举类型,可以取三个枚举值Self, Parent, Top。\n\t\t-Confirm.GetShowReference的最后一个参数target变为枚举类型。\n\t\t-Alert.GetShowReference中的showInParent参数也变为Target枚举类型。\n\t\t-MenuButton, LinkButton, Button, LinkButtonField增加ValidateTarget用来控制表单验证失败时提示\u003Cem\u003E对话框\u003C\u002Fem\u003E的显示位置。\n\n\n\n+2010-01-06 v2.1.9\n\t-集成Ext\u003Cem\u003Ejs\u003C\u002Fem\u003E最新版本v3.1.0。\n\t-修正灰色皮肤的CSS问题。\n\t-修正Grid的列名中不能包含中文字符的BUG(feedback:davidwen)。\n\t-为Web.config和PageManager增加属性AjaxTimeout(单位秒,默认30秒)。\n\t-修正了在Grid的PageIndexChange事件中不能获取SelectedRowIndexArray属性的BUG(feedback:Violet)。\n\t-Button控件将不再自动拥有display:inline属性,如果希望两个按钮在一行显示,请为第一个按钮设置CssStyle=\"float:left;\"属性。\n\t-修正了\u003Cem\u003E弹出\u003C\u002Fem\u003E菜单的位置在Firefox下不正确的BUG(feedback:eroach)。\n\t-为TriggerBox和TwinTriggerBox增加EnableEdit属性。\n\t-使用Hidden来显示隐藏ExtAspNet控件,而不是使用Visible属性(Visible目前设置为只读属性)。\n\t-使用Hidden控制Window控件的显示隐藏,Popup已经标记为Obsolete属性。\n\t-Window的实例方法GetCloseReference等以及ActiveWindow的静态方法GetCloseReference等,其中的Close全部改为Hide。\n\t-增加TabStrip中Tab控件可关闭属性EnableClose(默认为false)以及两个方法GetShowReference和GetHideReference(feedback:anson)。\n\t-修正绑定到Tree的XMLDocument中Icon属性映射错误(feedback:nopnop9)。\n\t-修正HtmlEditor不能编辑的BUG(feedback:TheBox)。\n\t-修正IE下有时会出现空白页面的情况(feedback:olivia919)。\n\t\n\t\n\n+2009-12-06 v2.1.8\n\t-修正了使用IFrame的Window关闭后不能再次打开的BUG(feedback:alexa99)。\n\t-修正了IE下Grid中的一个\u003Cem\u003EJS\u003C\u002Fem\u003E问题(feedback:lqm4108)。\n\t-修正Alert消息中引号未编码导致的\u003Cem\u003EJS\u003C\u002Fem\u003E错误(feedback:sun1299shine)。\n\t+集成ext\u003Cem\u003Ejs\u003C\u002Fem\u003E3.0.3。\n\t\t-修正\u003Cem\u003E弹出\u003C\u002Fem\u003E\u003Cem\u003E对话框\u003C\u002Fem\u003E的宽度计算错误(会保持最小的状态)。\n\t\t-增加新的皮肤Gray。\n\t-为示例工程添加改变语言和皮肤的下拉列表。\n\t-为PageContext增加静态函数Refresh,在切换语言和皮肤时使用。\t\n\n\n\n+2009-12-01 v2.1.7\n\t-增加示例(iframe\u002Fparent_postback_run3.aspx),如何通过简单的Javascript\u003Cem\u003E代码\u003C\u002Fem\u003E回发父页面(feedback:eroach)。\n\t-修正一些书写错误(feedback:bmck)。\n\t-从Region控件中删除SplitColor属性,增加CollapseMode, EnableSplitTip, SplitTip, CollapsibleSplitTip属性(feedback:bmck)。\n\t-BorderPanel更名为RegionPanel。\n\t-DropDownList拥有MarkInvalid方法(feedback:sun1299shine)。\n\t-增加中国的省市县三级联动示例(data\u002Fshengshixian.aspx)(feedback:Blues T)。\n\t-修正了使用IFrame\u003Cem\u003EUrl\u003C\u002Fem\u003E的Tab在切换过程中会重复加载的问题,这是一个在v2.1.6引入的问题(feedback:eroach)。\n\t-修正了启用AutoPostBack的Grid,其RowClick会覆盖LinkButtonField, HyperLinkField, CheckBoxField的点击事件(feedback:yymaoji)。\n\t\n\t\n\t\n+2009-11-26 v2.1.6\n\t+修正动态创建Grid列的BUG(feedback:gxpan)。\n\t\t-增加示例(data\u002Fgrid_dynamic_columns.aspx)。\n\t-修正Form不能自适应浏览器大小的改变(feedback:kaywood)(WorkItem#6309)。\n\t-增加重载方法Alert.Show(message, title, icon)(feedback:TheBox)(WorkItem#6353)。\n\t-为容器控件(比如Panel,Region,Tab等)增加AJAX属性IFrame\u003Cem\u003EUrl\u003C\u002Fem\u003E(feedback:BluesT)。\n\t-重新设计模拟树的下拉列表的实现,避免选中某项后的闪烁。\n\t\t\t\n\n\n+2009-11-21 v2.1.5\n\t+Tree优化。\n\t\t-修正Expanded项和Checked项的状态在回发改变后不能保持的BUG。\n\t\t-GetNodeById更名为FindNode,保持和FindControl一致命名。\n\t\t-删除CheckedNodeIDArray属性,增加GetCheckedNodes和GetCheckedNodeIDs函数。\n\t\t-删除ExpandedNodeIDArray属性,增加GetExpandedNodes和GetExpandedNodeIDs函数。\n\t\t-增加示例(data\u002Ftree_select_run.aspx),如何选中当前节点的所有子节点(feedback:wjl_wjl520)。\n\t\t+TreeNode的属性NodeId被重命名为NodeID,这是ExtAspNet中的一个命名约定。\n\t\t\t-同时更名的还有GridColumn的ColumnId-\u003EColumnID,GetColumnId-\u003EGetColumnID。\n\t\t\t-Grid1.Columns.FindColumnById函数被Grid1.FindColumn所替代。\n\t\t-为TreeCheckEventArgs,TreeExpandEventArgs,TreeCommandEventArgs增加Node属性。\n\t-为所有控件增加Focus(覆盖Control默认的Focus函数)和GetFocusReference函数。\n\t-增加示例(other\u002Fcustom_postback.aspx)(feedback:thebox)。\n\t\t-如何自定义Javascript脚本和C#处理函数来响应键盘事件。\n\t-为Tree增加AutoLeafIdentification属性。\n\t\t-增加示例(tree_auto_leaf_identification.aspx)(feedback:wdrabbit)。\n\t\n\t\n\n+2009-11-17 v2.1.4\n\t-修正Window的关闭按钮提示信息一直是中文的BUG(feedback:thebox)。\n\t-部分ExtAspNet控件的设计时支持(会在后续版本中逐步完善)。\n\t-v0.2beta2版本中关于PersistChildren(true)的描述有误,这个是设计时属性,和运行时是否保持状态没有关系。\n\t-修正CheckBox控件的CheckedChanged事件会被触发两次的BUG(Data PostBack-\u003EAutoPostBack, Event PostBack-\u003EEnablePostBack)。\n\t-为TextBox,TextArea,DatePicker,NumberBox,TriggerBox等控件增加AutoPostBack属性(feedback:dk3214)。\n\t+为表单字段增加RequiredMessage,MaxLengthMessage,MinLengthMessage属性,用于指定验证失败时提示信息。\n\t\t-为空则使用默认的提示信息,默认的提示信息支持多语言,建议一般情况下使用默认信息。\n\t+为表单字段增加MarkInvalid和GetMarkInvalidReference函数(feedback:sun1299shine)。\n\t\t-增加示例:form\u002Fform_validate.aspx\n\t\n\t\n\n+2009-10-19 v2.1.3\n\t+增加支持在AJAX时改变的控件属性列表(\u002Fajax.aspx)。\n\t\t-ExtAspNet支持原生的AJAX,也就是说控件的属性改变在AJAX过程中会反映到页面中,但并不是所有的控件属性都支持AJAX改变。\n\t-加载s.gif图片在本机进行,\u003Cem\u003E不会\u003C\u002Fem\u003E请\u003Cem\u003E求\u003C\u002Fem\u003Eext\u003Cem\u003Ejs\u003C\u002Fem\u003E.com远程资源(feedback:efrigate43,abaocoole)。\n\t-在AJAX回发后确保Asp.net的按钮控件仍然具有AJAX的特性。\n\t-更新\u002Fbasic\u002Flogin.aspx示例,使用验证图片(feedback:kedee)。\n\t-为Grid增加AutoPostBack属性和RowClick事件,示例在\u002Fdata\u002Fgrid_autopostback.aspx(feedback:chenguizhu2006)。\n\t-为所有的表单字段增加AJAX属性ReadOnly(feedback:skydb)。\n\t-Grid中TemplateField生成到页面中控件具有唯一ID,例如Grid1_ct5_Label2,Grid1_ct6_Label2(feedback:geruger)。\n\t\n\t\n\n+2009-09-27 v2.1.2\n\t-为Tree控件增加GetExpandAllNodesReference和GetCollapseAllNodesReference两个函数。\n\t-修正RELEASE版本下多语言加载的BUG(feedback:yigehaoren)。\n\t-增加pt_BR语言,由Ujvari\u003Cem\u003E提供\u003C\u002Fem\u003E。\n\t+为所有Panel(包括Grid,Tree,Form等)增加枚举类型Icon,其中包含1700多个小图标。\n\t\t-如果Panel具有Icon\u003Cem\u003EUrl\u003C\u002Fem\u003E属性,则Icon\u003Cem\u003EUrl\u003C\u002Fem\u003E优先于Icon。\n\t\t-所有Icon的列表在icon.aspx。\n\t-为Button,MenuItem(MenuButton,MenuHyperLink),AccordionLink,TreeNode,Image(如果Image\u003Cem\u003EUrl\u003C\u002Fem\u003E为空,则取Icon的值)增加Icon属性。\n\t\n\t\n\n+2009-09-15 v2.1.1\n\t-修正不能动态修改AccordionPane属性Items的BUG。\n\t+为Button, MenuButton, LinkButton, LinkButtonField增加ConfirmTarget。\n\t\t-如果需要在父页面\u003Cem\u003E弹出\u003C\u002Fem\u003E确认\u003Cem\u003E对话框\u003C\u002Fem\u003E,需要设置ConfirmTarget=\"_parent\"(类似Window控件的Target=\"_parent\")。\n\t+为ExtAspNet.Alert.Show增加点击确定的JavaScript回调函数。\n\t\t-一个典型应用,在Window控件中打开新页面,如果传递的参数不正确,则首先提示参数不对然后关闭此\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口。\n\t\t-ExtAspNet.Alert.Show(\"参数错误!\", String.Empty, ExtAspNet.ActiveWindow.GetCloseReference());\n\t+TreeNode的前面的多选框可以自动回发了。\n\t\t-为TreeNode增加AutoPostBack属性,增加事件数据类TreeCheckEventArgs,为Tree增加事件NodeCheck。\n\t\t-示例在:http:\u002F\u002Fextasp.net\u002Fdata\u002Ftree_run.aspx\n\t-Grid增加GetNoSelectionAlertInParentReference函数,用来表示没有选中任何一项时在父页面\u003Cem\u003E弹出\u003C\u002Fem\u003E\u003Cem\u003E对话框\u003C\u002Fem\u003E的\u003Cem\u003EJS\u003C\u002Fem\u003E\u003Cem\u003E代码\u003C\u002Fem\u003E。\n\t-修正IE7下不能以下划线作为CSS中类名的前缀的BUG(feedback:Steve.Wei)。\n\t-添加定时器控件Timer,用来定时发起AJAX请\u003Cem\u003E求\u003C\u002Fem\u003E。\n\t\n\t\n\n+2009-09-06 v2.1.0\n\t-Button的Pressed属性值能够正确的反映客户端的变化。\n\t-优化Tree控件的AJAX实现。\n\t+为页面的Form添加autocomplete=\"off\"属性。\n\t\t-参考http:\u002F\u002Fwww.cnblogs.com\u002Fsanshi\u002Farchive\u002F2009\u002F09\u002F04\u002F1560146.html#1635830\n\t+添加对ext\u003Cem\u003Ejs\u003C\u002Fem\u003E3.0中所有语言的支持。\n\t\t-ExtAspNet扩展的多语言包在\u003Cem\u003Ejs\u003C\u002Fem\u003E\\languages\\extaspnet目录下,目前只有en,zh_CN,zh_TW三种实现\n\t\t-你可以向其中添加自己的语言版本,并执行\u003Cem\u003Ejs\u003C\u002Fem\u003E\\languages下的pack.bat打包,最后编译工程。\n\t\n\t\n\t\n+2009-09-01 v2.0.9\n\t-为ExtAspNet.Alert添加两个静态方法ShowInParent和GetShowInParentReference,用于在父页面\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口。\n\t+在aspx页面中必须显示的声明控件的集合属性(比如Tabs(TabStrip), Items(PanelBase), Nodes(TreeNode))。\n\t\t-这将会影响所有的aspx页面,所以要特别关注。\n\t-重命名AccordionPanel为AccordionPane (这也是在Asp.net AJAX中使用的名称).\n\t+所有的面板默认有两个集合属性(Toolbars和Items).\n\t\t-尽管TabStrip, From, Tree, Accordion继承了Items属性,但是你并不能对其设置(此时Items是只读的).\n\t\t-这将会影响所有的aspx页面,一定要将工具条(Toolbars)和Items区分开来。\n\t-祝你生日快乐 - 小师妹妹。\n\n\n\n+2009-08-29 v2.0.8\n\t-ExtAspNet支持多语言(en,zh_CN,zh_TW),可以在Web.config中修改。\n\t-将所有的示例转化为英语版本。\n\t-修正Tree控件的一个BUG(定义Mappings属性时)。\n\t+PageManager.Instance应该存在于HttpContext.Current,而不是一个全局变量。\n\t -这个BUG导致Asp.net compatibility中的示例无法完成,现在已经修正。\n\t+去除PageManager中方法AddAjaxAspnetControls,增加属性AjaxAspnetControls。\n\t -这个属性和Button得ValidateForms属性类似,可以查看Asp.net compatibility中的示例。\n\t\n\t\n\n+2009-08-25 v2.0.7\n -为按钮增加DisableControlBeforePostBack属性 - 回发之前是否禁用按钮,防止重复提交 - 默认为true。\n -Grid的Values属性访问限制由internal改为public,这就意味这可以自由改变Grid中每个单元格的值了。\n -增加示例-如何将Grid控件导出为Excel(data\\grid_excel_run.aspx)(feedback:503684912)。\n -如果TreeNode的属性Enabled=\"false\",则此项变灰并且\u003Cem\u003E不会\u003C\u002Fem\u003E被选中(feedback:your568)。\n -修正TreeNode的属性Navigate\u003Cem\u003EUrl\u003C\u002Fem\u003E不接受服务器端\u003Cem\u003EURL\u003C\u002Fem\u003E(以~\u002F开头)的BUG。\n -增加Accordion和Tree配合使用的示例(other\\accordion_tree_run.aspx)。\n -修正Panel图标不能显示的BUG(CSS中class名不能有$字符)。\n +去除PageLayout控件,此控件可以使用BorderLayout和指定PageManager的AutoSizePanelID属性来代替。\n\t\t-这样所有需要占据全屏的Panel(不管你是Accordion,Panel,ContentPanel,Form,GroupPanel,SimpleForm,Tree还是Grid,TabStrip)都可以通过这种方式全屏。\n\t\t-简单方便,示例可以参考 default.aspx 或者 other\\accordion_tree_run.aspx。\n \n \n\n+2009-08-14 v2.0.6\n\t-动态生成菜单实例(other\\menu_dynamic_run.aspx和other\\menu_dynamic2_run.aspx)(feedback:shguo)。\n\t-优化AJAX的内部实现,每个页面保存的ViewState现在减少1\u002F3左右(重要更新)。\n\t-优化Tree节点的NodeId自动生成,减少ViewState占用。\n\t\n\n\n+2009-08-09 v2.0 beta5\n\t+ExtAspNet和Asp.net的提交按钮兼容问题(feedback:千帆)。\n\t\t-在2009-03-03 v1.3.0曾经提到这个兼容问题,并有这样的规则,如果Asp.net的按钮AJAX提交,必须设置UseSubmitBehavior=\"false\"\n\t\t--也就是说生成的input的type不能是\"submit\",而这个限制在有些情况下是不可原谅的。\n\t\t--我们做了优化,现在要使一个Asp.net的按钮能够AJAX提交,你不需要做任何设置(PageManager的属性EnableAjax为true即可,这是默认属性)。\n\t+PageManager的实例方法AddAjaxUpdateControl改名为AddAjaxAspnetControls,现在可以在Page_Load中设置需要在AJAX中需要更新的Asp.net控件了。\n\t\t-在Page_Load中设置了哪些需要在AJAX中更新的Asp.net控件会在回发时保持状态,可以通过RemoveAjaxAspnetControls来去除不需要更新的控件。\n\t\t-示例在aspnet\\fckeditor_run.aspx和aspnet\\aspnet_run.aspx。\n\t\t-FCKEditor和上传控件兼容。示例在aspnet\\fileupload_run.aspx。\n\t-修正ToolbarText的文本在AJAX下更新的BUG。\n\t-Button的Pressed属性在AJAX可更新(feedback:mgzhenhong)。\n\t-更新所有示例。在IE7.0,IE8.0,Firefox3.5,Chrome2.0下测试通过。\n\t\n\n\n+2009-08-02 v2.0 beta4\n\t+和Asp.Net的Forms Authentication兼容[feedback:mgzhenhong]。\n\t\t-采用和Asp.Net Ajax类似的处理方式,需要在配置文件Web.config增加一个httpModules。\n\t\t-现在支持Response.Redirect,你可以选择Response.Redirect或者ExtAspNet.PageContext.Redirect重定向页面,两者效果一样。\n\t\t-支持FormsAuthentication.RedirectFromLoginPage(accountID, false);这样的方法。\n\t-Button增加Type属性(button,reset,submit)[feedback:mgzhenhong]。\n\t-修正Alert.Show方法不能指定文本前图片的BUG[feedback:xmq&mgzhenhong]。\n\t-修正IE下某些\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口的IFrame第一次不能加载的BUG。\n\t-增加Menu和Accordion的示例。\n\t-修正Window控件的Icon\u003Cem\u003EUrl\u003C\u002Fem\u003E有时不显示(Target=\"_parent\")的BUG[feedback:xmq&mgzhenhong]。\n\t\n\n\n+2009-07-22 v2.0 beta3\n\t-兼容FCKEditor。\n\t-在IE8.0,Firefox3.5下测试通过。以后ExtAspNet将\u003Cem\u003E不会\u003C\u002Fem\u003E对IE6.0\u003Cem\u003E提供\u003C\u002Fem\u003E支持。\n\t\n\n\n+2009-07-13 v2.0 beta2\n\t-集成ext\u003Cem\u003Ejs\u003C\u002Fem\u003E最新版本v3.0。\n\t+兼容IE6.0-7.0-8.0。\n\t\t-这应该是Ext\u003Cem\u003Ejs\u003C\u002Fem\u003E3.0的一个BUG,在IE6.0-7.0下面设置Ext.QuickTips.init();会导致button的click事件无法响应(IE8下无此问题)。\n\t\t-目前先禁用IE6.0-7.0的QuickTips。\n\t-优化底层JavaScript。\n\t\n\t\n\t\n+2009-07-05 v2.0 beta1\n\t-更新ext\u003Cem\u003Ejs\u003C\u002Fem\u003E库到最新版本v3.0 RC2; 目前只有一个缺省皮肤(Theme)。\n\t-使用YUI Compressor压缩JavaScript和CSS文件。\n\t-Release版本每个页面只包含一个JavaScript文件(语言文件除外)和一个CSS文件。\n\t-ExtAspNet自身的CSS会紧挨着页面\u003Ctitle\u003E标签引入,这样在\u003Chead\u003E中自定义的样式可以覆盖ExtAspNet缺省样式。\n\t+Alert\u003Cem\u003E对话框\u003C\u002Fem\u003E会遮挡所有的Window窗口。\n\t\t-使用一个变通的方法解决,因为无法改变Ext.Message的默认z-index(9000)所以将box.window_default_group的zseed调整为6000。\t\n\t-为所有按钮的左右增加5px的空白边距:.x-btn button { margin: 0 5px !important; }。\n\t-因为下拉列表不可编辑,所以不能为空,如果不设置SelectedIndex或SelectedValue,则默认选中第一项。\n\t-重新绑定模拟树的下拉列表后,选中项的前面有图片的HTML标签的BUG。\n\t-更新自定义JavaScript组件Ext.ux.SimplePagingToolbar。\n\t-更新示例工程。\n\t\n\t\n\n+2009-03-25 v1.3.1\n\t-Tree在AJAX回发展开节点时\u003Cem\u003EJS\u003C\u002Fem\u003E错误[feedback:xlli]。[fixed]\n\t-Window中的EnableIFrame==false,则点击关闭按钮时报\u003Cem\u003EJS\u003C\u002Fem\u003E错误。[fixed]\n\t-页面包含FileUpload控件,需要点击按钮回发并上传文件,则不能采用原生AJAX方式。(参见示例aspnet\u002Ffileupload.aspx)[fixed]\n\t-HtmlEditor显示隐藏工具栏按钮不起作用,HtmlEditor目前不支持Enabled和Readonly两个属性。[fixed]\n\t\n\t\n\n+2009-03-03 v1.3.0\n\t-如果\u003Cem\u003E弹出\u003C\u002Fem\u003E的窗口(Ext-Window)含有ASP.NET控件FileUpload,则此\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口在关闭时出现\u003Cem\u003EJS\u003C\u002Fem\u003E错误(http:\u002F\u002Fext\u003Cem\u003Ejs\u003C\u002Fem\u003E.com\u002Fforum\u002Fshowthread.php?t=8129)[feedback:xlli]。[fixed]\n\t-如果页面中存在ASP.NET控件(TextBox),则第二次提交表单就会报错(视图状态不对,其实时没有更新EventValidation隐藏字段导致的问题)。[fixed]\n\t-页面上放置ExtAspNet-Button和ASP.NET-Button,则点击ExtAspNet-Button时激发的是ASP.NET-Button的事件,这个BUG和Ext\u003Cem\u003Ejs\u003C\u002Fem\u003E2.2.1中Ext.Ajax.serializeForm的实现有关。[fixed]\n\t-ExtAspNet内部包含HtmlAgilityPack和Nii.\u003Cem\u003EJS\u003C\u002Fem\u003EON两个开源的第三方类库。[added]\n\t+如果以前你听过不要在ExtAspNet工程中使用ASP.NET标准控件的忠告,那么从v1.3.0版本开始,你可以忘掉这个说法,现在ExtAspNet控件和ASP.NET标准控件和平共处了。[fixed]\n\t\t-如果一个ASP.NET按钮控件要使用ExtAspNet的原生AJAX,只需要设置属性 UseSubmitBehavior=\"false\" 即可。\n\t\t-如果要在一次ExtAspNet的原生AJAX回发时更新ASP.NET控件的值,只需要调用PageManager的公共方法AddAjaxUpdateControl即可(示例:aspnet\u002Faspnet.aspx)。\n\n\n\n+2009-02-27 v1.2 beta9\n\t-网络连接出错时的“Ajax Error”改成更加友好的提示信息“本次连接失败!可能是网络连接出错,请刷新页面重试。”。[fixed]\n\t-自动测试功能会在以后版本中逐步完善。这个版本完成测试框架,采用Ext\u003Cem\u003Ejs\u003C\u002Fem\u003E中\u003Cem\u003EJS\u003C\u002Fem\u003E函数进行大部分的测试,对于一些难以测试的地方借助jQuery完成。[fixed]\n\t+系统底层\u003Cem\u003E代码\u003C\u002Fem\u003E优化(主要是Javascript的封装和BUG修复)。[fixed]\n\t\t-底层使用Javascript创建一个Window控件的\u003Cem\u003E代码\u003C\u002Fem\u003E由原来的2000字符减少为500个字符。\t\n\t\t-PageContext静态类中的GetPageStateChangedFunction改名为GetConfirmFormModifiedReference,底层\u003Cem\u003E代码\u003C\u002Fem\u003E优化。表示“获取当前页面中表单修改的确认提示框的脚本”。\n\t\t---[updated]删除PageContext中的GetConfirmFormModifiedReference,使用CurrentActiveWindow中的GetConfirmFormModifiedCloseReference\u002FGetConfirmFormModifiedCloseRefreshReference\u002FGetConfirmFormModifiedClosePostBackReference三个方法代替。\n\t\t-\u003Cem\u003E不会\u003C\u002Fem\u003E修改\u003Cem\u003E弹出\u003C\u002Fem\u003E页面的\u003Cem\u003EURL\u003C\u002Fem\u003E(Ext-Window中的IFrame),以前为了实现功能为每个\u003Cem\u003E弹出\u003C\u002Fem\u003E页面添加box_parent_client_id查询字符串\n\t\t-去除PageManager的RegisterPageStateChangedScript属性,现在已经将这个功能实现为静态的\u003Cem\u003EJS\u003C\u002Fem\u003E方法。可以通过PageContext.GetFormModifiedConfirmReference获取此方法的客户端脚本。\n\t\t---注意:以前的项目需要在所有的ASPX页面中查找RegisterPageStateChangedScript属性,并删除,否则会运行错误!\n\t\t-A页面有Ext-Window控件\u003Cem\u003E弹出\u003C\u002Fem\u003EB页面,B页面有Ext-Window控件\u003Cem\u003E弹出\u003C\u002Fem\u003EC页面,B页面的Ext-Window控件设置Target='_parent',则\u003Cem\u003E弹出\u003C\u002Fem\u003E的Ext-Window(C页面)会覆盖整个A页面,这是正确的。\n\t\t---当时如果用户直接访问B页面,就会报\u003Cem\u003EJS\u003C\u002Fem\u003E错误,因为此时找不到B页面的父页面A了。现在的版本修正为如果找不到父页面,则就在当前页面\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口,这样用户直接访问B页面也\u003Cem\u003E不会\u003C\u002Fem\u003E出错了。\n\t\t-Window控件的GetIFramePageStateChangedFunction函数改名为GetConfirmFormModifiedCloseReference,表示“获取先确认IFrame的页面中表单改变,然后关闭\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口的客户端脚本”。\n\t\t---为Window控件增加如下两个方法GetConfirmFormModifiedCloseRefreshReference和GetConfirmFormModifiedClosePostBackReference,表示“先确认表单改变,然后关闭\u003Cem\u003E弹出\u003C\u002Fem\u003EExt-Window,再然后刷新父页面或回发父页面”。\n\t\t---Window控件的OnClientCloseButtonClick属性如果不设置,则默认采用GetConfirmFormModifiedCloseReference,也即是先判断表单是否更新,然后在关闭窗口。\n\t\t---现在可以很方便的为Window控件的关闭按钮添加关闭后刷新父页面或者关闭后回发父页面的行为。\n\t\t-如果\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口(Window控件)中IFrame的页面不能正常加载(网络暂时出错或页面抛出异常),则此时点击右上角的关闭按钮会报\u003Cem\u003EJS\u003C\u002Fem\u003E错误,因为此时页面尚未加载完毕。\n\t\t---此版本修正了这个BUG,即时页面不能加载完全,也能通过右上角的关闭按钮关闭\u003Cem\u003E弹出\u003C\u002Fem\u003E含IFrame的窗体。\n\t\t-Window控件的IFrameName属性是自动生成的,只读属性。(因为有可能所有的Ext-Window最终都渲染到最外层的页面,为了保证这些IFrame的name不同,IFrameName使用的是GUID,内部处理)。\n\t\t-CurrentActiveWindow改名为ActiveWindow。\n\t\t-[特别注意]GetWriteBackValueReference(string controlClientIds, string value, params string[] values)函数现在的定义是GetWriteBackValueReference(params string[] values)\n\t\t---所有调用GetWriteBackValueReference的地方,需要删除第一个参数(一般是ActiveWindow.GetLoadStateReference())。\n\t\t\n\t\n\n+2009-02-23 v1.2 beta8\n\t-ContentPanel中\u003Cem\u003E内容\u003C\u002Fem\u003E不能自动扩展高度的BUG[feedback:huihuang]。[fixed]\n\t-DropDownList在Ajax回发时不能计算模拟树的数据[feedback:huihuang]。[fixed]\n\t-DropDownList在页面第一次加载时没有不可选择项,则回发时也\u003Cem\u003E不会\u003C\u002Fem\u003E有不可选择项的BUG。[fixed]\n\t-升级底层Ext\u003Cem\u003EJS\u003C\u002Fem\u003E类库为v2.2.1(此版本主要是Chrome的支持和部分内存泄漏问题的修正)。[fixed]\n\t-页面加载过程中的时间信息保存在Javascript变量window.box.timeInfo中。[added]\n\t+增加部分自动测试支持(使用WatiN和NUnit),下个版本将会\u003Cem\u003E提供\u003C\u002Fem\u003E完整的自动测试支持。[fixed]\n\t\n\t\n\n+2008-10-28 v1.2 beta7\n\t-DropDownList没有选中任何一项,回发时报错[feedback:huihuang]。[fixed]\n\t-Window显示位置不对,以及不能拖动的BUG[feedback:huihuang]。[fixed]\n\t+PageContext优化。[fixed]\n\t\t-去除RegisterExclusiveScript静态函数(这是没有原生ajax之前的产物),使用RegisterStartupScript替代。\n\t\t-去除RegisterStartupScript的重载函数,只保留最简单的PageContext.RegisterStartupScript(string script)函数。\n\t\t-Resirect增加重载函数Redirect(string \u003Cem\u003Eurl\u003C\u002Fem\u003E, string target),其中target可能的取值为_self,_parent,_top,分别表示在当前窗口,父窗口,顶级窗口重定向[feedback:jqpeng]。\n\t-Image控件增加ImageWidth\u002FImageHeight\u002FImageCssStyle\u002FImageCssClass\u002FImageAlt属性[feedback:jqpeng]。[fixed]\n\t-发布包中增加一个Web.config.txt,这是一个空的Web.config文件,包含BOX基本的配置信息。[fixed]\n\t-ContentPanel的ShowHeader和ShowBorder属性默认也是true(注意更新以前的应用)。[fixed]\n\t-Row和Column布局时,修正IE下设置RowHeight=\"100%\"时显示不正确的BUG。[fixed]\n\t-AccordionLink当鼠标移上和移开时,有背景色的变化效果[feedback:huihuang]。[fixed]\n\t+TabStrip的Tab控件的EnablePostBack属性会在回发时保持(也即是说如果EnablePostBack=true,回发时没改变EnablePostBack的值,则每次切换到此Tab都会回发)。[fixed]\n\t\t-有这样一个效果,如果Tab1默认显示,Tab1的EnablePostBack=true,则页面加载完毕后会回发Tab1一次。\n\t\n\t\n\n+2008-10-20 v1.2 beta6\n\t+使用控件的站点必须建立虚拟目录,否则会报\u003Cem\u003EJS\u003C\u002Fem\u003E错误(即是脚本资源没有加载),却原来是HTTPCompress组件的问题。[fixed]\n\t\t-需要替换新的blowery.Web.HttpCompress.dll,解决方案见http:\u002F\u002Fpohee.com\u002Fit\u002Fhttp-compression-in-aspnet-20\u002F。\n\t+DropDownList优化。[fixed]\n\t\t-去除EnableFirstItem\u002FFirstItemText\u002FFirstItemValue,这个并不能带来很大的好处,反而容易让开发人员困惑。\n\t\t 现在可以方便的在后台DropDownList1.Items.Insert(0, new ExtAspNet.ListItem(\"全部\", \"-1\"));来达到同样的效果。\n\t\t+如果某项(ListItem)的Value为空字符串,则通过SelectedIndex和SelectedValue不能选中[feedback:jqpeng]。\n\t\t\t-和Asp.net中的保持一致,ListItem的Value值可以为空字符串。 也就是可以这样写DropDownList1.SelectedValue = \"\";\n\t\t-ListItemCollection增加重载函数Add(string text, string value),这样方便后台添加列表项。\n\t-处于布局内的容器控件(Layout!=LayoutType.Container),AutoHeight会自动设置为false(避免开发人员发生此类错误)。[fixed]\n\t-注意,控件的高度指的是整个控件的高度,包含BodyPadding(这和CSS中的height不同,CSS中的height是指\u003Cem\u003E内容\u003C\u002Fem\u003E的高度,除去padding\u002Fborder-width\u002Fmargin)。[fixed]\n\t+为所有控件属性增加在VS中的智能提示。[fixed]\n\t\t-需要将ExtAspNet.XML和ExtAspNet.dll放在一起,这样引用dll时xml会被拷贝到bin目录下,\u003Cem\u003E提供\u003C\u002Fem\u003EVS的智能提示。\n\t+控件的属性如果是枚举类型,如果此属性可以不取值,则默认为None。[fixed]\n\t\t-TriggerIconType.Default -\u003E TriggerIconType.None\n\t\t-SystemIconType.Empty -\u003E SystemIconType.None\n\t\t-RegexPattern.USER_DEFINED -\u003E RegexPattern.None\n\t-表单验证属性名称变化(ValueToCompare-\u003ECompareValue,ControlToCompare-\u003ECompareControl)。[fixed]\n\t+注意:一个属性可以拥有多个值的情况。[fixed]\n\t\t-属性和CSS相关则用空格分隔(比如ColumnWidths,BodyPadding)。\n\t\t-其他的都是逗号分隔(比如ValidateForms,DataKeyNames,DataNavigate\u003Cem\u003EUrl\u003C\u002Fem\u003EFields)。\n\t+AccordionLink实现为控件。[fixed]\n\t\t-可以方便的在子页面(iframe)中通过\u003Cem\u003Ejs\u003C\u002Fem\u003E切换父页面中选中的菜单项(Accordion-\u003EAccordionLink)(示例在other\u002Faccordion_links_run.aspx,other\u002Faccordion_links_run_iframe_htm)[feedback:jima]。\n\t+确认:可以方便的动态添加控件,并且可以给控件添加服务器端事件(示例在form\u002Fform_dynamic_run.aspx)。[fixed]\n\t\n\t\n\t\n+2008-10-15 v1.2 beta5\n\t-验证表单字段的ValueToCompare属性,为字符串时会出错的BUG。[fixed]\n\t+优化下拉列表。[fixed]\n\t\t-验证下拉列表时,应该取ListItem的Value属性进行验证,而不是Text属性。\n\t\t-DropDownList的Items增加Insert方法(可方便的下拉列表选项添加“全部”)。\n\t\t-DropDownList不支持EmptyText属性。\n\t\t-ListItem启用EnableSelect和SimulateTreeLevel属性,这样就可以直接在前台(ASPX)中设置哪些项不可选择,以及创建模拟下拉树。\n\t\t-DropDownList增加EnableSimulateTree属性(默认为false),如果设置了DataSimulateTreeLevelField,则自动将EnableSimulateTree设置为true。\n\t\n\t\n\n+2008-09-27 v1.2 beta4\n\t+EnableLargeHeader属性对所有容器的效果一样,Accordion的属性EnableLargeHeader只会改变Accordion的标题大小,而\u003Cem\u003E不会\u003C\u002Fem\u003E对AccordionPanel起作用(示例见other\u002Faccordion_run.aspx)。[fixed]\n\t\t-Accordion去除EnableHightlight属性,AccordionPanel增加EnableHightlight属性。\n\t\t-影响以前使用Box的应用,需要将Accordion的属性去掉,然后为每个AccordionPanel增加EnableLargeHeader和EnableHightlight属性。\n\t-AccordionPanel鼠标移上去的样式调整(现在没有下面的一条白线了)。[fixed]\n\t+AccordionPanel增加Links属性,可以绑定列表数据到AccordionPanel,呈现的是链接的列表(示例在other\u002Faccordion_links_run.aspx)。[fixed]\n\t\t-原来放置在AccordionPanel中的容器,比如ContentPanel需要在外层加上\u003CItems\u003E标签。\n\t\t-适当增大AccordionPanel中链接的高度20px-\u003E22px,同时对链接的样式也做了微调。\n\t\t-通过BodyPadding控制链接列表的边距。\n\t\t-这样能大大减少ASPX中HTML\u003Cem\u003E代码\u003C\u002Fem\u003E和Javascript\u003Cem\u003E代码\u003C\u002Fem\u003E的书写,可以在后台动态添加链接,效果很赞,此需\u003Cem\u003E求\u003C\u002Fem\u003E由马季提出。\n\t\n\t\n\t\n+2008-09-25 v1.2 beta3\n\t+\u003Cem\u003E代码\u003C\u002Fem\u003E优化与设计时支持(尚需要不断完善,目前可以在ASPX页切换到“设计时”,方便属性的更改和事件处理函数的添加)。[fixed]\n\t\t-Panel\u002FGroupPanel\u002FContentPanel\u002FTree\u002FHiddenField\u002FPageLoading\n\t\t-TabStrip\u002FToolbar\n\t-TabStrip去除Plain属性,增加EnableTitleBackgroundColor(默认为true)。[fixed]\n\t-向Form中动态添加控件的BUG,现在form\u002Fform_dynamic_run.aspx示例已经能正确运行。[fixed]\n\t+大部分容器的子控件集合更正为Items(以前有些是Rows)。[fixed]\n\t\t-影响的控件包括Toolbar\u002FAccordion\u002FAccordionPanel\u002FGroupPanel\u002FPanel\u002FSimpleForm\u002FWindow等。\n\t\t-保留Form的Rows(FormRowCollection)属性和Grid的Rows属性(GridRowCollection)。\n\t\t-保留TabStrip的Tabs(TabCollection)属性。\n\t\t-保留PageLayout\u002FBorderLayout的Regions(RegionCollection)属性。\n\t-预祝今晚神七发射成功。\n\t\n\t\n\t\n+2008-09-22 v1.2 beta2\n\t+Grid选中项(SelectedRowIndexArray)在ajax回发过程中存在BUG [feedback:xmzhu]。[fixed]\n\t\t-表现为对Grid进行多次删除添加操作后,SelectedRowIndexArray选中项中会存在当前不存在的行序号,导致服务器端遍历选中项时数组越界。所有使用box控件的应用程序都受到此BUG的影响,需尽快更新到新版本。\n\t+\u003Cem\u003E代码\u003C\u002Fem\u003E优化与设计时支持(示例中表单控件都已支持设计)。[fixed]\n\t\t-PageManager\u002FSimpleForm\u002FButton\u002FHyperLink\u002FLabel\u002FImage\u002FLinkButton\u002FTextBox\n\t\t-TriggerBox\u002FTwinTriggerBox\u002FWindow\u002FTextArea\u002FHtmlEditor\u002FDatePicker\u002FNumberBox\n\t\t-CheckBox\u002FRadioButton\u002FRadioButtonList\u002FDropDownList\n\t\t-Grid\n\n\n\n+2008-09-19 v1.2 beta1\n\t-Image\u002FLinkButton\u002FHyperLink增加一些Ajax可更新属性。[fixed]\n\t+隐藏的方式由HideMode属性控制Visibility\u002FOffsets\u002FDisplay。[fixed]\n\t\t-修正Form\u002FSimpleForm中隐藏一个表单字段(Hidden=false)会占据页面空间的BUG。\n\t-ToolbarText\u002FToolbarFill\u002FToolbarSeparator在ASPX中设置Hidden=true不起作用的BUG [feedback:jbzhang]。[fixed]\n\t-Button去除MarginRight属性(可以通过CssStyle=\"margin-right:5px;\"达到相同的效果)[fixed]\n\t\n\t\n\t\n+2008-09-09 v1.1\n\t+Toolbar去除IsPageMenu属性,在网报中可以用自定义样式实现,而不应该写在控件中。[fixed]\n\t\t-网报:CssClass=\"toolbar-pagemenu\" CssStyle=\"border:0px;\",同时定义样式:.toolbar-pagemenu{ background: rgb(208, 222, 240) \u003Cem\u003Eurl\u003C\u002Fem\u003E(..\u002Fimages\u002Fpagemenu_toolbar_background.gif) repeat-x left top;}。\n\t-Region去除默认的Layout=Fit,如果希望Region使用Fit\u002FAnchor\u002FColumn\u002FRow等布局的话,需要手工指定。[fixed]\n\t-ToolbarSeparator\u002FToolbarFill在Ajax更新Hidden属性的BUG。[fixed]\n\t+布局整理。[fixed]\n\t\t-新增Column\u002FAbsolute\u002FRow三种布局,加上以前的Container\u002FFit\u002FAnchor\u002FAccordion\u002FBorder\u002FForm六种布局,总共有9中布局可供使用。\n\t\t-其中一些控件默认使用一种布局:SimpleForm(Form)\u002FForm(Form)\u002FPanel-GroupPanel(Container)\u002FAccordion(Accordion)\u002FPageLayout(Border)\u002FBorderLayout(Border)\u002FTabStrip(Card),所有布局控件默认的布局是Container。\n\t\t-经常用到的布局控件:SimpleForm\u002FForm\u002FAccordion\u002FTabStrip\u002FBorderLayout,经常用到的布局:Fit\u002FRow\u002FAnchor\n\t\n\t\n\t\n+2008-09-08 v1.1 beta7\n\t-MenuButton\u002FMenuHyperLink增加HideOnClick属性,如果一个菜单项的作用仅仅为了\u003Cem\u003E弹出\u003C\u002Fem\u003E下级菜单,点击没反应,则可以这样设置HideOnClick=\"false\" CssStyle=\"cursor:default;\" [feedback:huayu]。[fixed]\n\t-MenuButton\u002FMenuHyperLink\u002FMenuSeparator\u002FMenuText增加Hidden属性(此属性是Ajax可更新属性,如果需要在Ajax时显示隐藏菜单,请使用此属性而不是Visible属性)。[fixed]\n\t+大部分的ExtAspNet控件增加Hidden属性(少数几个控件没有此属性:Menu),这样在Ajax时可以显示隐藏控件。[fixed]\n\t\t-注意Visible和Hidden的区别:Visible=false的属性\u003Cem\u003E不会\u003C\u002Fem\u003E渲染到客户端,Hidden=true的控件渲染到客户端但是隐藏。\n\t\t-US的ExtAspNet改造强烈依赖于此属性,这个版本发布后可以继续。\n\t\t-网报中唯一没有用到ExtAspNetAjax的地方就是显示隐藏表单字段,现在也可以使用Ajax了。\n\n\n\n+2008-09-04 v1.1 beta6\n\t-PageContext.Redirect支持普通页面转向和ExtAspNetAjax下页面转向。[fixed]\n\t+模拟树的下拉列表的BUG(会使一些可选项变成不可选项)[feedback:xmzhu]。[fixed]\n\t\t-因为if(\"0,2,9,11,\".indexOf('1,')\u003E=0){ok},这显然是不对的,此BUG涉及很多控件(Grid,DropDownList,TabStrip)。\n\t\t-解决方法:testValue += '';if(domValue.split(',').indexOf(testValue) \u003E= 0){ok}。\n\t-DropDownList在Ajax时应该先更新数据再设置选定项 [feedback:xmzhu]。[fixed]\n\t-Button\u002FMenuButton增加Ajax可更新属性OnClientClick [feedback:xmzhu]。[fixed]\n\t-Tree的Ajax支持(尚需优化)。[fixed]\n\t\n\t\n\n+2008-09-02 v1.1 beta5\n\t-DropDownList如果第一次没有绑定值,应该绑定到[[]](二维数组),而不是[](一维数组)。[fixed]\n\t-模拟树的DropDownList,在Ajax重新绑定DataSource后,保持项是否可选状态是最新的(页面第一次加载时,即使没有数据也需要设置DataTextField\u002FDataValueField\u002FDataSimulateTreeLevelField\u002FDataEnableSelectField等属性的值,否则Ajax回发时会出错)。[fixed]\n\t-UserControlConnector导致的Ajax错误,去除UpdatePanelConnector控件(以后\u003Cem\u003E不会\u003C\u002Fem\u003E用AspnetAjax,这个控件已经完成使命)。[fixed]\n\t-不要使用Asp.net的控件HiddenField,而是使用ExtAspNet的HiddenField,因为Asp.net的控件在Ajax\u003Cem\u003E不会\u003C\u002Fem\u003E被更新,所以会导致视图状态不一致的错误。[fixed]\n\t-网报Ajax整合基本完成(除了待审批-\u003E下一步[审核\u002F归档\u002F出纳]操作,由于需要显示隐藏表单字段,目前Ajax不支持,使用的还是普通的PostBack)。[fixed]\n\t-IE下,RadioButtonList中项如果存在汉字,则会换行的BUG。[fixed]\n\t-增加两个Theme[Slate\u002FBlack](样式尚需完善)。[fixed]\n\t\n\t\n\t\n+2008-09-01 v1.1 beta4\n\t-非当前Tab中如果有ContentPanel,则在页面上方会有空白(可以通过设置EnableDeferredRender=false解决,但会减慢页面的加载速度),现在已经解决这个问题。[fixed]\n\t-RadioButtonList去除EnableBackgroundColor\u002FEnableLightBackgroundColor属性,背景色是透明的,也就是和父控件(SimpleForm\u002FForm)的背景色一致。[fixed]\n\t-TwinTriggerBox的第一个Trigger图标\u003Cem\u003E不会\u003C\u002Fem\u003E先显示再隐藏,而是直接隐藏掉(如果用户设置ShowTrigger1=false)。[fixed]\n\t-Web.config中增加配置项FormLabelWidth=\"80\"(默认为80),同时PageManager增加FormLabelWidth属性用来控制页面上所有SimpleForm\u002FForm的表单字段标题的宽度。[fixed]\n\t+完善Ajax。[fixed]\n\t\t-RadioButtonList增加Ajax可更新属性SelectedIndex(SelectedValue\u002FSelectedItem)。\n\t\t-DropDownList增加Ajax可更新属性Enable\u002FSelectedIndex(SelectedValue\u002FSelectedItem)\u002FDataSource。\n\t\t-Grid增加Ajax可更新属性Columns(也就是说Grid列在回发时隐藏显示了一些,也能正确的Ajax)。\n\t\t-ToolbarText增加Ajax可更新属性Text。\n\t\t\n\t\t\n\t\t\n+2008-08-31 v1.1 beta3\n\t-TabStrip增加EnableDeferredRender属性(是否启用延迟加载Tab,默认启用)。[fixed]\n\t-重定向页面,使用系统的方法 PageContext.Redirect(string \u003Cem\u003Eurl\u003C\u002Fem\u003E),使用Response.Redirect方法会出错。[fixed]\n\t+安全的Ajax设计。[fixed]\n\t\t-这个版本Ajax和上个版本(v1.1beta1)在设计思路上有很大区别,同时在速度上会有进一步的提升。\n\t\t-基本思想:安全的Ajax交互,明确Ajax回发时支持控件哪些属性的改变,这将适合90%的应用场景(并且具有极快的反应速度),对于需要UI大改动的可采用常规回发,系统\u003Cem\u003E提供\u003C\u002Fem\u003E控件级别的EnableAjax属性。\n\t\t-整理支持Ajax的控件属性改变列表(所有被支持的属性改变都是安全的、快速的,所有不被支持的属性改变\u003Cem\u003E不会\u003C\u002Fem\u003E对UI起作用,同时是安全的,\u003Cem\u003E不会\u003C\u002Fem\u003E有\u003Cem\u003Ejs\u003C\u002Fem\u003E错误)。\n\t-网报Ajax整合(目前只支持所有的列表页面)(v0.8.1)。[fixed]\n\t\n\t\n\t\n+2008-08-29 v1.1 beta1\n\t+Window控件是否\u003Cem\u003E弹出\u003C\u002Fem\u003E的状态在回发时维持。[fixed]\n\t\t-控件设计的一个原则,凡是可以在客户端改变的属性都应该在回发时保持属性的状态。\n\t+完全抛弃Asp.NetAjax,ExtAspNet控件内置Ajax支持。[fixed]\n\t\t-这是一个值得骄傲的设计,可以明显提高页面回发的速度(相比普通的回发和Asp.netAjax的回发),对于IFrame框架的交互也起到很好的加速效果。\n\t\t-不需要做任何配置,所有的回发都是Ajax(在Web.config和PageManager中有设置启用Ajax回发的属性-EnableAjax-默认为true)。\n\t\t+在这种设计下,其实可以完全抛弃Javascript。\n\t\t\t-比如简单的点击一个按钮\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口,可以在Button的OnClick事件中设置Window1.Popup=true,也可以注册Button的OnClientClick=Window1.GetShowReference()。\n\t\t\t-第一种方法需要回发,但是我们内置的Ajax支持能很快的返回需要的结果并解析,在网络速度很快的情况下和第二种方法差别不是很大。\n\t\t\t-推荐的做法是尽量用客户端实现,客户端实现复杂的直接用服务器端实现。\n\t\t+目前ExtAspNetAjax的限制。\n\t\t\t-只对ExtAspNet控件起作用,对Asp.net控件不起作用。\n\t\t\t-对容器控件(有子控件的控件)不起作用,只对最底层的控件起作用。\n\t\t\t-对改变控件的Visible属性会有错误。\n\t\t\t-Window控件的属性改变只有少数几个起作用(Popup,IFrame\u003Cem\u003EUrl\u003C\u002Fem\u003E)。\n\t-PageManager增加属性EnablePageLoading和EnableAjaxLoading(启用页面第一次加载标示和Ajax加载标示,默认都为true),所以如果使用系统默认的加载标示就不必每个页面都添加PageLoading控件。[fixed]\n\t-Grid中的回发事件(主要是LinkButtonField和CheckBoxField(RenderAsStaticField=false))要延迟0ms执行,这样当前行被选中的状态在回发后会得到保持。[fixed]\n\t-Grid选中行的状态在第一次回发时不能保持的BUG。[fixed]\n\t\n\t\n\t\n+2008-08-26 v1.0\n\t+已知问题:IE的ActiveX插件IE Developer Toolbar会对IFrame的加载造成0.5m左右的延迟。\n\t\t-主要是父页面加载一个比较大的css文件(~100k),则每次打开iframe页面,onload事件的调用都会有500ms左右的延迟,在测试IE性能时要禁用此插件。\n\t+优化\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口中IFrame的显示速度。[fixed]\n\t\t-在当前页面\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口需要~20ms,在父页面\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口需要100~300ms。通过缓存\u003Cem\u003E弹出\u003C\u002Fem\u003E的窗口实例,从而第二次\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口不再需要创建时间。\n\t-PageLayout的Region增加SplitColor属性,默认的背景色是透明的。(在网报中需要设置SplitColor=\"#CADDF7\",以便分隔符的颜色和Toolbar的颜色一致)[fixed]\n\t+PageManager增加属性Theme、Language、FormMessageTarget、FormOffsetRight等属性,这些属性可以在Web.config中设置(推荐方法),也可以为每个页面设置。[fixed]\n\t\t-一个典型的应用是为每个用户设置不同的皮肤(根据用户浏览器中Cookie设置的值)(示例在default.aspx)。\n\t-TreeNode增加属性SingleClickExpand,表示点击可切换节点的折叠展开状态。[fixed]\n\t+TabStrip中非当前Tab会延迟渲染。[fixed]\n\t\t-这会明显加快页面的渲染速度,网报中一个典型的费用审批页面可以减少200ms的渲染时间。\n\t\t-由于非当前Tab\u003Cem\u003E不会\u003C\u002Fem\u003E在页面加载时渲染,所以那些Tab中的节点在页面加载后也是不可见的,需要将相关的脚本移动到控件的render事件中。\n\t-不能比较两个DataPicker大小的BUG。[fixed]\n\t-TabStrip延迟加载引起的BUG(非当前Tab中的ContentPanel会占据页面空间,已修正)。[fixed]\n\t-全新的ExtAspNet.Examples(基础知识\u002F表单控件\u002F数据绑定\u002F容器布局\u002FIFrame框架)。[fixed]\n\t\n\t\n\t\n+2008-08-19 v0.4 beta6\n\t+PageManager增加两个属性(EnableInlineStyleJavascript\u002FApplyParentStyleJavascript),可以在IFrame页面中使用父页面的脚本和样式(示例在iframe\u002Fdefault.aspx和iframe\u002Fpage3.aspx)。[fixed]\n\t\t-测试发现,IFrame页面的加载速度并没有明显加快,可以先不使用此属性。\n\t-RadioButtonList放在在BorderLayout中显示不了的BUG [feedback:zgjiang2]。[fixed]\n\t+ext\u003Cem\u003Ejs\u003C\u002Fem\u003E的BUG,当页面中含有iframe时,Ext.onReady会被调用两次(IE6\u002FIE7)(http:\u002F\u002Fwww.ext\u003Cem\u003Ejs\u003C\u002Fem\u003E.net\u002Fforum\u002Fshowthread.php?t=43246)(示例在test.aspx)[fixed]\n\t\t-现在的解决方法是在初始化时:if(this.initialized){return;}this.initialized=true;\n\t+需要先回发页面再\u003Cem\u003E弹出\u003C\u002Fem\u003EIFrame窗口。[fixed]\n\t\t-在回发时设置窗口的Popup和IFrame\u003Cem\u003EUrl\u003C\u002Fem\u003E属性,因为这些属性是可以保持状态的,所以在关闭窗口时要注意设置Popup=false。\n\t\t-另一种做法(推荐):PageContext.RegisterStartupScript(Window99.GetShowReference(\".\u002Fsimpleform.aspx\"));。\n\t\n\t\t\n\t\n+2008-08-15 v0.4 beta5\n\t-点击关闭窗口的按钮,在IE6下会有\u003Cem\u003EJS\u003C\u002Fem\u003E错误。[fixed]\n\t-增加BorderLayout控件,示例在iframe\u002Fborderlayout.aspx。[fixed]\n\t+Radiobuttonlist显示有重影(示例在radio.aspx)。[fixed]\n\t\t-全新的样式。\n\t\t-去除Horizontal属性,增加ColumnNumber(可以设置渲染成几列)。\n\t\t-GetValueReference取得的值不正确的BUG。\n\t-动态向Form中添加FormRow,并动态的向FormRow中添加表单字段,以及如何取得表单字段的值。(示例在form_dynamic.aspx)[fixed]\n\t+IFrame\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口关闭后回发父页面,则会多加载IFrame一次,再次打开窗口会重复加载IFrame2-3次[feedback:xmzhu]。[fixed]\n\t\t-这是一个重要的BUG,会严重影响页面的加载速度。原因是通过脚本改变的IFrame\u003Cem\u003EUrl\u003C\u002Fem\u003E会在回发时保持状态,从而回发父页面后Window中的IFrame被添加到页面,而这是不需要的。\n\t\t-现在\"是否\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口、窗口标题、IFrame\u003Cem\u003EUrl\u003C\u002Fem\u003E\"在客户端的改变,\u003Cem\u003E不会\u003C\u002Fem\u003E影响服务器端的属性,也即是不保持状态。此问题解决。(示例在button_iframe.aspx)\n\t\n\t\n\t\n+2008-08-13 v0.4 beta4\n\t-点击关闭窗口的按钮,在IE下会有\u003Cem\u003EJS\u003C\u002Fem\u003E错误。[fixed]\n\t-Window的右上角关闭图标增加提示,优化事件响应。[fixed]\t\n\t-Window的\u003Cem\u003E代码\u003C\u002Fem\u003E重构。[fixed]\t\n\t+修正一个的内存泄漏。[fixed]\n\t\t-IE7下测试,打开iframe\u002Fdefault.aspx页面,iexplorer占内存68.368M。\n\t\t-内存存在泄漏时,点击iframe\u002Fpage3.aspx页面8次后iexplorer占118.792M内存。\n\t\t-修正后,点击iframe\u002Fpage3.aspx页面8次后iexplorer占76.492M内存。\n\t\t-IE窗口最小化时,IE会自动进行垃圾回收。\n\t\n\t\n\t\n+2008-08-12 v0.4 beta3\n\t-底层的javascript框架Ext\u003Cem\u003Ejs\u003C\u002Fem\u003E升级为v2.2,Grid的渲染速度有很大提升。[fixed]\n\t-Grid的EnableDelayRender默认为true(如果没有设置Grid的高度或通过布局间接设置高度,则行不可见,可以通过AutoHeight=\"true\"解决)。[fixed]\n\t+页面正在加载的提示尽早的显示出来。[fixed]\n\t\t-首先在执行\u003Cem\u003Ejs\u003C\u002Fem\u003E来完成页面渲染之前延迟5ms,以便浏览器把当前页面\u003Cem\u003E内容\u003C\u002Fem\u003E显示出来。\n\t\t-加载\u003Cem\u003Ejs\u003C\u002Fem\u003E脚本的script标签放置在页面的最后,放置加载\u003Cem\u003Ejs\u003C\u002Fem\u003E而阻塞PageLoading的显示。\n\t\n\t\n\t\n+2008-08-08 v0.4 beta2\n\t-TabStrip延时加载出错。[fixed]\n\t-Window的IFrame\u003Cem\u003EUrl\u003C\u002Fem\u003E处理的BUG,比如Pages_ExtAspNet目录下的页面应该为.\u002FFE_ApplyEditor.aspx或~\u002FPages_ExtAspNet\u002FFE_ApplyEditor.aspx。[fixed]\n\t-Window的WindowPosition=\"Center\"并且Target=\"_parent\",则会\u003Cem\u003EJS\u003C\u002Fem\u003E错误。[fixed]\n\t-实现网报首页下拉菜单和左侧菜单的导航功能。[fixed]\n\t-Window的创建在页面显示后进行,不计算在\u003Cem\u003Ejs\u003C\u002Fem\u003E渲染时间内。[fixed]\n\t-优化费用申请页面(尽量减少不必要的层次嵌套)。[fixed]\n\t-button_iframe.aspx默认会加载form.aspx页面(Window控件的BUG)。[fixed]\n\t-Window中的保存并关闭按钮和Asp.netAjax冲突。[fixed]\n\t-优化关闭Window的\u003Cem\u003Ejs\u003C\u002Fem\u003E脚本,减少写到页面的\u003Cem\u003Ejs\u003C\u002Fem\u003E大小。[fixed]\n\t-加快“保存并关闭”按钮关闭窗口的速度,使用PageContext.RegisterExclusiveScript(CurrentActiveWindow.GetClosePostBackReference());,示例在(simpleform.aspx)。[fixed]\n\t\n\t\n\t\n+2008-08-05 v0.4 beta1\n\t-DropDownList去除Traditional属性,和传统的Asp.net控件一样不可编辑。[fixed]\n\t-DropDownList增加SelectedText属性(去除了模拟树时通过SelectedItem.Text的多余html字符)。[fixed]\n\t-为了加快渲染速度,去掉一些特效(比如Panel的折叠效果,Grid的拖动列效果等)[feedback:dcding]。[fixed]\n\t-将生成的\u003Cem\u003Ejs\u003C\u002Fem\u003E对象的名称简单化,这样可以减少生成的\u003Cem\u003Ejs\u003C\u002Fem\u003E\u003Cem\u003E内容\u003C\u002Fem\u003E,加快页面加载速度(一个典型页面的\u003Cem\u003Ejs\u003C\u002Fem\u003E由原来的33.0k降低为21.4k)。[fixed]\n\t+\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口中,点击按钮回发然后点击关闭按钮,出现\u003Cem\u003Ejs\u003C\u002Fem\u003E错误 [feedback:xmzhu]。[fixed]\n\t\t-因为在页面的Page_Load中,if (!IsPostBack){PageContext.RegisterPageStateChangedStartupScript();}通过这样方法向页面注册了一段脚本,但是这段脚本在回发时没有注册到页面,因为\u003Cem\u003Ejs\u003C\u002Fem\u003E调用此脚本时报错。\n\t\t-一种解决方法是将向页面注册脚本的函数移动到if语句的外面,即每次都向页面注册此脚本。\n\t\t-另一种办法就是在PageManager控件中增加RegisterPageStateChangedScript(向页面注册监视页面中表单\u003Cem\u003E内容\u003C\u002Fem\u003E改变的脚本)的属性(会在每次页面回发(包含ajax回发)时注册脚本)(示例在button_iframe.aspx\u002Fsimpleform.aspx)。\n\t+PageManager控件增加ExecuteOnReadyWhenPostBack属性(示例在onreadyscript.aspx)。[fixed]\n\t\t-这个手工添加onReady函数能够在每次页面回发时都注册脚本(包括Ajax局部回发),这就避免了手工去做的麻烦(已经在网报中遇到这种情况)。\n\t-每个页面必须添加一个PageManager控件,否则会出错,同时去除DesignTimeStyle控件(作为PageManager的属性出现)。[fixed]\n\t-TextField等表单字段增加Readonly属性。[fixed]\n\t+全新设计的IFrame的架构(尽可能和基于MasterPage的架构保持兼容,和Asp.net Ajax保持兼容)。[fixed]\n\t\t-最大的好处是可以减少页面下载完毕后Javascript渲染时间(可以节约一般的渲染时间)。(所有示例在iframe文件夹下)\n\t\t+示例1,通过点击按钮\u003Cem\u003E弹出\u003C\u002Fem\u003EIFrame窗口,可直接关闭父页面,也可在关闭后刷新或回发父页面。(default.aspx\u002Fpage2.aspx\u002Fsimpleform.aspx)\n\t\t\t-虽然IFrame和Master两种架构差异迥然,或许你以为需要修改一堆\u003Cem\u003E代码\u003C\u002Fem\u003E来完成这种转换,起初我也是这么认为的,但是现在你所要做的仅仅是为Window控件增加一个属性(Target=\"_parent\"),就完成了两种框架的转换,是不是很酷。\n\t\t\t-显然,控件本身封装了大量的\u003Cem\u003E代码\u003C\u002Fem\u003E,简单来看现在有三个页面(default.aspx(A)\u002Fpage2.aspx(B)\u002Fsimpleform.aspx(C)),其中A包含B页面,当你在B中打开包含有页面C的窗口时,窗口不是在B中打开,而是在A中打开,这样才能保证窗口覆盖整个页面,当你从C中返回需要回发页面B时,却发现取得的是A页面,因为我们窗口是在A页面中创建的。我会通过一篇文章来揭示这一过程,敬请期待。\n\t\t-示例2,Grid中\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口。(default.aspx\u002Fpage3.aspx\u002Fsimpleform.aspx)\t\n\t\t+示例3,TriggerBox\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口。(default.aspx\u002Ftriggerbox.aspx\u002Fsimpleform.aspx)\t\n\t\t\t-在整个页面\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口或者在当前页面\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口,仅仅设置Window的Target属性即可。\n\t\t-示例4,\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口中的\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口。\n\t-对整个Examples更新测试。[fixed]\n\t\n\t\n\t\n+2008-07-31 v0.3 beta12\n\t-IE下TabStrip在Ajax回发后\u003Cem\u003E不会\u003C\u002Fem\u003E去掉x-hide-display样式,导致Tab显示为空的BUG。[fixed]\n\t-对TabStrip\u002FPanel\u002FWindow中的IFrame重新设计,如果设置IFrame\u003Cem\u003EUrl\u003C\u002Fem\u003E=\"#\"或者\"about:blank\",则不渲染iframe到页面节点,同时第二次打开Window中的IFrame\u003Cem\u003E不会\u003C\u002Fem\u003E有残影出现。[fixed]\n\t-如果TabStrip的Tab不是激活Tab并且设置了IFrame\u003Cem\u003EUrl\u003C\u002Fem\u003E,则会延迟加载(示例在tabstrip_iframe.aspx)。[fixed]\n\t-Tree控件,点击一个节点自动回发,则当前点击的那个节点的选中状态\u003Cem\u003E不会\u003C\u002Fem\u003E保持的BUG [feedback:zgjiang2]。[fixed]\n\t+规范关闭窗口时提示用户保存已经修改的\u003Cem\u003E内容\u003C\u002Fem\u003E提示的调用方式(包含iframe中关闭按钮和window右上角关闭图标的调用方式)(示例在grid_iframe.aspx\u002Fsimpleform.aspx)。[fixed]\n\t\t-内部实现上,点击“保存并关闭按钮”,可以将关闭窗口的脚本更早的执行(在simpleform.aspx,PageContext.RegisterStartupScript增加重载函数),而不是原来的先创建整个页面UI,再关闭窗口。\n\t-参照Yslow的评分规则,将\u003Cem\u003EJS\u003C\u002Fem\u003E文件引用由head移动到body中。[fixed]\n\t-Firefox下,如果页面太长会出滚动条,原来在ViewPort样式中有body{overflow:hidden;}。[fixed]\n\t+IFrame内的页面宽度和高度会自动设置(是不是还在为1px\u002F2px的白边而烦恼,现在不用了:-)(示例在iframe_autosize.aspx\u002Fsimpleform.aspx\u002Fsimpleform2.aspx)[fixed]\n\t\t-增加PageManager控件(需要指定AutoSizePanelID,即需要设置宽度和高度为整个页面的宽度和高度的Panel),HideScrollbar属性用于隐藏滚动条(IE\u002FFirefox)。\n\t\n\t\n\t\n+2008-07-24 v0.3 beta11\n\t-web.config配置信息中MessageTarget改名为FormMessageTarget,增加FormOffsetRight配置项,用来定义全局表单字段距离右边界的宽度,同时每个表单字段都增加OffsetRight属性 [feedback:jima]。[fixed]\n\t-Window在回发时设置的Title不起作用的BUG。[fixed]\n\t-增加Image控件 [feedback:jima]。[fixed]\n\t-Tree控件,如果一个节点不是叶子节点并且没有子节点,则应把它的Expanded设置为false,否则会引起页面死循环回发 [feedback:zgjiang2]。[fixed]\n\t-Image增加ToolTipTitle\u002FToolTipAutoHide两个属性,当提示信息特别长时,可以让用户阅读完毕之后手工关闭提示信息(示例在hyperlink.aspx)。[fixed]\n\t-去掉DropDownList控件的Text属性(强制性),可以通过设置SelectedValue来设置选中哪一项 [feedback:xmzhu]。[fixed]\n\t-过滤提示消息中的换行符(转换为\u003Cbr\u002F\u003E),否则提示信息可能导致页面渲染错误 [feedback:dcding]。[fixed]\n\t\n\t\n\t\n+2008-07-23 v0.3 beta10\n\t+完善Tree控件。[fixed]\n\t\t-如何将数据库中的数据绑定到Tree(示例在tree2_bind_database.aspx)。\n\t\t-ajax加载树节点,放在UpdatePanel中才有ajax的效果(示例在tree2_ajax.aspx)。\n\t\t-更改TreeNode的ID为NodeId,否则两个树中不能有相同ID的TreeNode,这是不合理的。\n\t-Grid的GridColumn的ID改名成ColumnId,否则同一个页面放置两个Grid,它们的GridColumn的ID不能同名,这是不合理的。注意需要更新以前的\u003Cem\u003E代码\u003C\u002Fem\u003E![fixed]\n\t-Grid所有类型的列增加DataTooltipField\u002FDataTooltipFormatString两个字段,以显示ToolTip(示例在grid.aspx)。[fixed]\n\t\n\t\n\t\n+2008-07-22 v0.3 beta9\n\t+IE6下,左侧导航链接的选中样式,以及鼠标移上去和移开的样式不对。[fixed]\n\t\t-发现原来ie6不能正确解析li的高度,必须手工设置才行(style=\"height:20px;\")。\n\t+IE6\u002FIE7下,模拟树的下拉列表如果文字长度太长,则显示的文字会换行,导致错位。[fixed]\n\t\t-虽然最后未能解决\u003Cdiv style=\"width: 60px; white-space: nowrap; overflow: hidden; border: solid 1px red;\"\u003E\u003Cdiv style=\"width: 16px; height: 18px; float: left;\"\u003E##\u003C\u002Fdiv\u003E差旅交通费\u003C\u002Fdiv\u003E在IE和Firefox下显示的不同效果。\n\t\t-但是通过用\u003Cimg src=\"##\" \u002F\u003E来代替\u003Cdiv style=\"background:\u003Cem\u003Eurl\u003C\u002Fem\u003E(##)\" \u002F\u003E,从而实现FF和IE下样式的统一。\n\t\t-刚看到old9的解决方案:把“差旅交通费”改成“\u003Cspan style=\"margin-right: -1000px;\"\u003E差旅交通费\u003C\u002Fspan\u003E”,在IE下和FF下的都不换行,:-)\n\t-LinkButton增加OnClick事件 [feedback:huihuang]。[fixed]\n\t-Window通过设置IFrame\u003Cem\u003EUrl\u003C\u002Fem\u003E和Popup不起作用的BUG。[feedback:xmzhu]。[fixed]\n\t+增加树控件(Tree)(示例在tree2.aspx)。[fixed]\n\t\t-可以在回发时维持树的状态(选中行,折叠\u002F展开,CheckBox)。\n\t\t-可以通过Inline的方式添加树节点,也可以绑定到XmlDocument\u002FXmlDataSource\u002FSiteMap。\n\t\t-点击树节点可以链接到页面,也可以引发PostBack事件,可以添加自定义脚本。\n\t\n\t\n\t\n+2008-07-16 v0.3 beta8\n\t+ContentPanel中放置ExtAspNet控件,则渲染时会出现各种问题,比如下拉列表显示样式出错,Grid没了滚动条等等。[fixed]\n\t\t-隐蔽性非常强,原来在ContentPanel中渲染ExtAspNet控件,如果容器的display='none',则会出现各种问题(主要是大小不对)。\n\t\t 必须设置容器为visibility='hidden',然后在渲染完成后显示容器。\n\t\t-现在Grid只要显示的设置高度和宽度,或者隐式的设定宽度高度(通过Anchor或Fit布局实现),只要超过Grid容器就会显示滚动条。\n\t+IE6下,在应用Asp.NetAjax后,Form中字段的宽度渲染不正确。[fixed]\n\t\t-调试相当困难,如果你有过在IE下通过alert发现问题的经历,你就能明白。\n\t\t-最后发现IE6下应用Asp.NetAjax后不仅Form中列的宽度设置不正确,而且主\u003Cem\u003E内容\u003C\u002Fem\u003E区域的宽度设置也不正确,不过最终我们还是顽强的修复了IE6下的这个BUG:\n\t\t 在MasterPage的onReady函数中,首先修正\u003Cem\u003E内容\u003C\u002Fem\u003E区域的宽度(region3.setWidth(pageLayout1.getSize().width - region2.getSize().width - 5);region3.doLayout();),然后修正页面中所有表单的宽度(box_fixFormWidthInIE6();):\n\t\t 示例在 Site.Master 页面。\n\t+集成的AspNetAjax有一个很大的BUG,只要你在页面上进行过ajax操作,当改变窗口大小时你会惊讶的发现\u003Cem\u003E内容\u003C\u002Fem\u003E区域的\u003Cem\u003E内容\u003C\u002Fem\u003E全部为空了![fixed]\n\t\t-解决方法相当怪异,经过一个下午的不断尝试,终于用一个怪异的方法解决(box.{0}.setSize(box.{0}.getSize());box.{0}.doLayout();),\n\t\t 这样的\u003Cem\u003E代码\u003C\u002Fem\u003E让我想起刷新窗口时那个方法(window.location.href=window.location.href;),不管怎么说,我对能很好的解决这个重大的BUG很是欣喜。\n\t\n\t\n\t\n+2008-07-14 v0.3 beta6\n\t-增加FlashObject控件。[fixed]\n\t-PageLoading增加EnableFadeOut属性(默认false),可以启用淡出效果。[fixed]\n\t-Accordion选中样式微调。[fixed]\n\t-预加载Form表单出错时提示信息的背景图片。[fixed]\n\t+Grid增加EnableDelayRender属性(默认false),可以加快页面的渲染速度(一个典型的20个记录的页面,可提前0.7s-1s显示出来)。[fixed]\n\t\t-因为延迟加载数据\u003Cem\u003E不会\u003C\u002Fem\u003E改变Grid的大小,所以对于非布局内或不设定高度宽度的Grid,需要设置\"EnableDelayRender=false\"。\n\t-改变Grid中静态的CheckBoxField图片。[fixed]\n\t-TabStrip增加TabIndexChanged事件,同时Tab增加EnablePostBack,可以在点击一个Tab时引起回发事件。这在延迟加载Tab的\u003Cem\u003E内容\u003C\u002Fem\u003E非常有用。(示例在tabstrip.aspx)[fixed]\n\t\n\t\n\t\n+2008-07-12 v0.3 beta5\n\t-页面菜单Toolbar的分割符和背景不相融合。[fixed]\n\t-表单字段之间可以比较大小,比如NumberBox可以和Label比较大小,同时增加CompareType,来指定比较的类型(示例在form_compare.aspx)。[fixed]\n\t\t-如果是同种类型的表单字段,不需要指定CompareType,比如两个NumberBox比较值的大小不需要指定CompareType,而一个NumberBox和TextBox比较大小需要指定CompareType。\n\t+如果在编辑页面使用AspNetAjax,则不能在回发时关闭当前窗口[feedback:huihuang](示例在ajax_editor_main.aspx\u002Fajax_editor.aspx)。[fixed]\n\t\t-这是由于ajax后执行的javascript中不能有return false语句。\n\t+在文本框失去焦点时,执行一些Javascript脚本(示例在textbox_blur.aspx) [feedback:xmzhu]。[fixed]\n\t\t-在页面添加onReady函数(会被系统调用),然后用javascript监视文本框值的改变。\n\t-\u003Cem\u003E弹出\u003C\u002Fem\u003EWindow默认显示的错误页面,解决方法在当前目录添加一个空的html页面,然后把Window控件的IFrame\u003Cem\u003EUrl\u003C\u002Fem\u003E指向这个页面而不是\"#\"。[fixed]\n\t+\u003Cem\u003E弹出\u003C\u002Fem\u003E的窗口中的\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口的如果\u003Cem\u003E内容\u003C\u002Fem\u003E发生变化,则点击右上角的关闭按钮时会有提示用户先保存的\u003Cem\u003E对话框\u003C\u002Fem\u003E,但是这个\u003Cem\u003E对话框\u003C\u002Fem\u003E的被第二个\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口覆盖了 [feedback:xmzhu]。[fixed]\n\t\t-原来的调用方法太麻烦(见示例中alert\\alert_1.aspx和alert\\alert_2.aspx,总计 6 行\u003Cem\u003E代码\u003C\u002Fem\u003E),现在只需要 3 行\u003Cem\u003E代码\u003C\u002Fem\u003E就OK了。\n\t-点击提交按钮后变成灰色不可再次点击(示例在button_click_gray.aspx)[feedback:jima]。[fixed]\n\t+增加Menu、MenuText、MenuSeparator、MenuButton、MenuHyperLink控件,用于按钮的下拉菜单(示例在button_menu.aspx)。[fixed]\n\t-增加SplitButton控件。[fixed]\n\t\n\t\n\t\n+2008-07-09 v0.3 beta4\n\t-DataPicker默认的日期格式为(yyyy-MM-dd)。[fixed]\n\t+Form表单字段(TextBox,DropDownList...)之间可以比较大小 [feedback:huihuang]。[fixed]\n\t\t-增加ControlToCompare\u002FValueToCompare\u002FCompareOperator\u002FCompareMessage四个属性,示例在form_compare.aspx。\n\t+TabStrip中放置IFrame会出现渲染错误 (示例在tabstrip_iframe.aspx)[feedback:jima]。[fixed]\n\t\t-特殊处理,拥有IFrame的Tab如果不是激活Tab,则不设置\u003Cem\u003EUrl\u003C\u002Fem\u003E,只有在激活时才设置\u003Cem\u003EUrl\u003C\u002Fem\u003E。\n\t-RadioButtonList增加AutoPostBack属性(示例在radio.aspx) [feedback:xmzhu]。[fixed]\n\t-FormRow可以设置各列的宽度百分比 (示例在form_columnwidths.aspx)[feedback:jima]。[fixed]\n\t+表单字段Enable=false时显示颜色太浅 [feedback:jima]。[fixed]\n\t\t-覆盖缺省样式的.x-item-disabled,设置不透明。\n\t\n\t\n\t\n+2008-07-08 v0.3 beta3\n\t-Grid没有数据,向后翻页按钮可以点击的BUG [feedback:huihuang]。[fixed]\n\t+增加HiddenField控件。[fixed]\n\t\t-其实用TextBox也能模拟HiddenField的行为,只需要设置CssStyle=\"display:none;\"即可。\n\t+TriggerBox 如果 EnableTextBox = true,则不能将Text回发(这是html的限制)。[fixed]\n\t\t-最后的解决方案居然是设置 readonly=true,同时更改属性为 Readonly(示例在textbox2.aspx)。\n\t-模拟树的下拉列表在失去焦点后显示的文字不对的BUG。[fixed]\n\t+控制下拉列表某些项不可以选择(示例在dropdownlist2.aspx)。[fixed]\n\t\t-增加 DataEnableSelectField 属性,不可选择的项变灰,并且鼠标经过时没有样式。\n\t-LinkButton和Grid的LinkButtonField增加Enable属性(示例在hyperlink.aspx和grid.aspx)。[fixed]\n\t\n\t\n\t\n+2008-07-07 v0.3 beta2\n\t+增加UpdatePanelConnector控件,支持在布局构建的页面使用Asp.net Ajax。[fixed]\n\t\t-使用UpdatePanelConnector有一个要\u003Cem\u003E求\u003C\u002Fem\u003E:ContentTemplate下只能有一个子节点,比如box:Panel。\n\t\t-示例在ajax3.aspx\u002Fcontent_page4.aspx。\n\t\t-示例content_page3.aspx中,点击“Ajax查询”按钮和关闭\u003Cem\u003E弹出\u003C\u002Fem\u003E的窗口(点击右上角的叉)都引发异步更新。\n\t \n\t \n\t\n+2008-07-03 v0.3 beta1\n\t+容器控件的AutoHeight\u002FAutoWidth默认为false。[fixed]\n\t\t-使用GroupPanel的地方需要手工添加AutoHeight=\"true\"属性。\n\t+增加UserControlConnector,可以在其中放置用户控件(示例在page_usercontrol.aspx)。[fixed]\n\t\t-也可以在ContentPanel中放置用户控件,注意两者的区别。\n\t+增加ContentPlaceHolderConnector,替换原来Region的ContentPlaceHolderId属性(示例在Site.master)。[fixed]\n\t+支持Asp.net ajax异步加载。[fixed]\n\t\t-有很大局限性,只能在ContentPanel中使用,示例在ajax1.aspx\u002Fcontent_ajax2.aspx中。\n\t\t-对于使用布局构建的页面(比如content_page1.aspx)还不能使用Asp.net ajax,因为页面是整体渲染的,先放弃。\n\t\n\t\n\t\n+2008-07-02 v0.2 beta12\n\t+关闭前提示当前页面已经被修改(示例在content_page1.aspx\u002Fsimpleform.aspx)[fixed]\n\t\t-支持Iframe内按钮和window右上角关闭按钮。\n\t\t-删除CloseAction属性,可以在后台通过OnClientCloseButtonClick属性指定(为了和iframe中做法一致)。\n\t+iframe中的alert\u002Fconfirm要覆盖整个父页面,而不仅仅是iframe页面。[fixed]\n\t\t-在Firefox下还有问题。[fix pending]\n\t+排序时在标题栏显示排序箭头,可以排序的列标题光标为手形(示例在grid_sorting.aspx)。[fixed]\n\t\t-可以通过设置Grid1.CurrentSortColumnIndex = 0;来强制某列显示排序箭头。\n\t\t-可以通过 Grid1.Columns[Grid1.CurrentSortColumnIndex].SortExpression 的方式取得当前Grid的排序表达式。\n\t+HyperLinkField\u002FWindowField的链接地址支持服务器端格式(即是~\u002Falert.aspx)。[fixed]\n\t-TabStrip的Tab中如果放置ContentPanel,则\u003Cem\u003E内容\u003C\u002Fem\u003E渲染位置不正确。[fixed]\n\t-可以在ContentPanel中放置用户控件(示例在page_usercontrol.aspx)。[fixed]\n\t\t\n\t\n\t\n+2008-06-30 v0.2 beta11\n\t-增加TwinTriggerBox控件(示例在twintriggerbox.aspx)。[fixed]\n\t-Grid的数据库分页需要增加属性IsDatabasePaging=true,以便普通分页和数据库分页,否则在添加删除记录时总记录数\u003Cem\u003E不会\u003C\u002Fem\u003E变化 [feedback:zgjiang2]。[fixed]\n\t-关闭Window时PostBack事件OnClose可以指定参数,来区分是哪些操作引发的PostBack事件 [feedback:zgjiang2](示例在window_postback.aspx)。[fixed]\n\t-如果表单验证不通过,则需要\u003Cem\u003E弹出\u003C\u002Fem\u003E\u003Cem\u003E对话框\u003C\u002Fem\u003E提示(第一个没通过验证的字段)(目前还不能切换到相应的tab)。[fixed]\n\t+页面中任意可输入表单字段发生变化,可提示先保存。(示例在content_page1.aspx\u002Fsimpleform.aspx)[fixed]\n\t\t-目前还不支持Window右上角关闭按钮的提示保存功能。\n\t-Master\u002FContent的\u003Cem\u003E内容\u003C\u002Fem\u003E页中Grid的Sort事件不起作用的BUG [feedback:zgjiang2]。[fixed]\n\t-Grid中的LinkButtonField设置ConfirmText会出错 [feedback:huihuang]。[fixed]\n\t-增加静态类Confirm。[fixed]\n\t\n\t\n\t\n+2008-06-27 v0.2 beta10\n\t+Grid完善。[fixed]\n\t\t-CheckBoxField在回发时不能保持状态的BUG (已经更新了grid_checkboxfield.aspx示例)。\n\t\t-Grid中模拟树显示,GridColumn增加DataSimulateTreeLevelField属性(一个Grid只能有一个Column指定此属性),指定此列模拟树显示时的层次字段(0,1,2,...)(示例在grid_simulate_tree.aspx)。\n\t\t-切换分页时清空选中的值 [feedback:jqpeng]。\n\t\t-增加PreRowDataBound事件,可以在数据绑定之前设置某列的属性 [feedback:xmzhu] (示例在grid_prerowdatabound.aspx)。\n\t-DropDownList模拟树的方式显示,增加DataSimulateTreeLevelField属性,使用方法和Grid的类似(示例在dropdownlist_simulate_tree.aspx)。\n\t\n\t\n\t\n+2008-06-25 v0.2 beta9\n\t+Window窗体中的Iframe只让\u003Cem\u003E内容\u003C\u002Fem\u003E区域滚动,而Toolbar不滚动的规则。(示例在content_page2.aspx\u002Fsimpleform.aspx)[fixed]\n\t\t-在simpleform.aspx中:Panel[BodyPadding=5](Toolbar,Panel[Height=450 Layout=Fit](SimpleForm[AutoScroll=true])),则外面窗口的高度=450 + 5*2 + 26 + 32,其中26是Toolbar的高度,32是窗口的标题栏和下边框的高度。\n\t+关闭Iframe的LoadMask,所以需要Iframe页面添加PageLoading控件,这样效果统一。[fixed]\n\t+Grid完善。\n\t\t-去除EnableClientPaging和EnableClientSort属性,客户端排序和客户端分页在ASP.NET应用中会有很多问题(主要是状态保持的问题)。\n\t\t+EnableServerSort改名AllowSorting。(示例在grid_sorting.aspx)\n\t\t\t-使用非常简单:设置AllowSorting=true,注册OnSort事件,在事件处理函数中重新绑定数据。\n\t\t+增加AllowPaging属性。(示例在grid_paging.aspx)\n\t\t\t-使用非常简单:设置AllowPaging=true,PageSize=3,注册OnPageIndexChange事件,在事件处理函数中Grid1.PageIndex = e.NewPageIndex;OK。\n\t\t+数据库分页支持。(示例在grid_database_paging.aspx)\n\t\t\t-使用也非常简单:设置AllowPaging=true,PageSize=3,在绑定时设置RecordCount为总的记录数,在OnPageIndexChange事件处理函数中Grid1.PageIn","createTime":"2010-04-01 09:41:27","dataReportQuery":"spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Paid-1-2190657-bbs-391813052.264^v3^pc_relevant_bbs_down_v2_default&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Paid-1-2190657-bbs-391813052.264^v3^pc_relevant_bbs_down_v2_default","dataReportClick":"{\"mod\":\"popu_645\",\"index\":\"1\",\"dest\":\"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fsuper_zhaowenke\u002F2190657\",\"strategy\":\"2~default~OPENSEARCH~Paid\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Paid-1-2190657-bbs-391813052.264^v3^pc_relevant_bbs_down_v2_default\\\",\\\"dist_request_id\\\":\\\"1772778361179_74962\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","dataReportView":"{\"mod\":\"popu_645\",\"index\":\"1\",\"dest\":\"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fsuper_zhaowenke\u002F2190657\",\"strategy\":\"2~default~OPENSEARCH~Paid\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Paid-1-2190657-bbs-391813052.264^v3^pc_relevant_bbs_down_v2_default\\\",\\\"dist_request_id\\\":\\\"1772778361179_74962\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","type":"download"},{"url":"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fwode2600\u002F2726130","title":"ExtAspNet_v2.3.2_dll","desc":"ExtAspNet - Ext\u003Cem\u003EJS\u003C\u002Fem\u003E based ASP.NET Controls with Full AJAX Support\n\t\nExtAspNet是一组专业的Asp.net控件库,拥有原生的AJAX支持和丰富的UI效果,\n目标是创建没有ViewState,没有JavaScript,没有CSS,没有UpdatePanel,没有WebServices的Web应用程序。\n\n支持的浏览器: IE 7.0+, Firefox 3.0+, Chrome 2.0+, Opera 9.5+, Safari 3.0+\n\n注:ExtAspNet基于一些开源的程序Ext\u003Cem\u003EJS\u003C\u002Fem\u003E, HtmlAgilityPack, Nii.\u003Cem\u003EJS\u003C\u002Fem\u003EON, YUICompressor。\n\n示例: http:\u002F\u002Fextasp.net\u002F\n开源: http:\u002F\u002Fextaspnet.codeplex.com\u002F\n博客: http:\u002F\u002Fsanshi.cnblogs.com\u002F\n邮箱: sanshi.ustc@gmail.com\n\n\n发布历史:\n\n+2010-09-29 v2.3.2\n\t-不绑定任何数据到Grid时,确保页面\u003Cem\u003E不会\u003C\u002Fem\u003E出错。\n\t-修正了Grid列属性DataFormatString的一个bug,比如设置{0:yy-MM-dd HH:mm}时没有效果。\n\t-修正下拉列表控件不能绑定DataTable的BUG(feedback:RedOcean)。\n\t-增加土耳其语言资料文件(feedback:abdullaharslan)。\n\t-Grid的BoundField增加NullDisplayText属性,用于处理数据库中的null值,如果没有设置则默认为空字符串。\n\t-修正DatePicker中的一个bug(31\u002F01\u002F2010将会返回NULL)使用DateFormatString来生成SelectedDate属性(feedback:OktaEndy)。\n\t-修正ext\u003Cem\u003Ejs\u003C\u002Fem\u003E最新版本(v3.2.2)中的一个bug,如果下拉列表中存在两个相同的Text,则SelectedValue返回值永远是第一个Text的值(feedback:ben.zhou)。\n\t-应用补丁#6593, #6621(feedback:vbelyaev)。\n\t+修正IE7下Grid分页速度慢(feedback:youwei, StevenGuan, hazardvn, gavindou, ttjacky)。\n\t\t-实际上IE7下所以的回发都慢,原因是客户端的Base64编码速度慢,已经使用encodeURIComponent来代替Base64编码。\n\t-俄语翻译(feedback:vbelyaev)。\n\t\n\t\n\n+2010-06-30 v2.3.1\n\t-ExtAspNet控件将不在依赖ViewState,减少1\u002F4左右的HTTP数据传输量。\n\t-控件和示例的增强。\n\t\n\t\n\n+2010-03-28 v2.2.1\n\t+为TabStrip的GetAddTabReference函数增加重载方法,以便指定Tab的图标(feedback:mmdcup)。 \n\t\t-修正此函数通过PageContext.RegisterStartupScript调用时不能正确显示Icon的BUG(feedback:zhaowenke)。\n\t-修正basic\u002Fhello.aspx示例在单独浏览器打开后,不能\u003Cem\u003E弹出\u003C\u002Fem\u003E\u003Cem\u003E对话框\u003C\u002Fem\u003E的BUG。\n\t-隐藏示例首页最外层RegionPanel的边框ShowBorder=\"false\"。\n\t+集成Ext\u003Cem\u003Ejs\u003C\u002Fem\u003E最新版本v3.1.1。\n\t\t-增加一个新的Theme - Access。\n\t\t-修正了Firefox下Zoom In\u002FOut时页面消失的BUG。\n\t\t-删除Panel的EnableLightBackgroundColor属性,同时EnableBackgroundColor只支持Blue和Gray两种Theme。\n\n\n\n+2010-01-31 v2.2.0\n\t-使得Asp.net的控件ImageButton具有和Asp.net的Button控件类似的行为(Ajax提交)(feedback:261629698)。\n\t+TabStrip增加GetAddTabReference和GetRemoveTabReference两个函数,用来向TabStrip控件动态增加删除Tab。\n\t\t-增加示例tabstrip\u002Ftabstrip_addtab.aspx。\n\t-重构了示例网站的架构,目前只有一层IFrame结构。\n\t-为TabStrip增加EnableTabCloseMenu属性,是否启用右键菜单,可用来关闭当前Tab和所有其他Tab。\n\t-为NumberBox增加DecimalPrecision属性,用来控制小数点后的位数(需要设置NoDecimal=\"false\")(feedback:zqmars)。\n\t-Window控件更新。\n\t\t-关闭按钮默认直接关闭,\u003Cem\u003E不会\u003C\u002Fem\u003E\u003Cem\u003E弹出\u003C\u002Fem\u003E确认\u003Cem\u003E对话框\u003C\u002Fem\u003E。\n\t\t-GetConfirmFormModifiedHideReference的函数中的ConfirmFormModified简化为Confirm,所以此函数更名为GetConfirmHideReference。\n\t\t-增加两个属性EnableConfirmOnClose(默认false),CloseAction(Hide, HideRefresh, HidePostBack)。\n\t\t-修正EnableMaximize属性不能使Window最大化的BUG,修正了双击标题栏不能最大化的BUG。\n\t-删除Button控件的SystemIcon属性,比如以前这样定义SystemIcon=\"Close\",现在需要这样定义Icon=\"SystemClose\"。\n\t-WindowPosition默认居中,而不是黄金分割位置。\n\t+Button, Window等控件\u003Cem\u003E弹出\u003C\u002Fem\u003E位置属性的变化。\n\t\t-Window的Target属性由字符串类型变为枚举类型,注意更新以前的\u003Cem\u003E代码\u003C\u002Fem\u003E:Target=\"_self\" -\u003E Target=\"Self\", Target=\"_parent\" -\u003E Target=\"Parent\"。\n\t\t-MenuButton, LinkButton, Button, LinkButtonField的ConfirmTarget属性由字符串变为枚举类型,可以取三个枚举值Self, Parent, Top。\n\t\t-Confirm.GetShowReference的最后一个参数target变为枚举类型。\n\t\t-Alert.GetShowReference中的showInParent参数也变为Target枚举类型。\n\t\t-MenuButton, LinkButton, Button, LinkButtonField增加ValidateTarget用来控制表单验证失败时提示\u003Cem\u003E对话框\u003C\u002Fem\u003E的显示位置。\n\n\n\n+2010-01-06 v2.1.9\n\t-集成Ext\u003Cem\u003Ejs\u003C\u002Fem\u003E最新版本v3.1.0。\n\t-修正灰色皮肤的CSS问题。\n\t-修正Grid的列名中不能包含中文字符的BUG(feedback:davidwen)。\n\t-为Web.config和PageManager增加属性AjaxTimeout(单位秒,默认30秒)。\n\t-修正了在Grid的PageIndexChange事件中不能获取SelectedRowIndexArray属性的BUG(feedback:Violet)。\n\t-Button控件将不再自动拥有display:inline属性,如果希望两个按钮在一行显示,请为第一个按钮设置CssStyle=\"float:left;\"属性。\n\t-修正了\u003Cem\u003E弹出\u003C\u002Fem\u003E菜单的位置在Firefox下不正确的BUG(feedback:eroach)。\n\t-为TriggerBox和TwinTriggerBox增加EnableEdit属性。\n\t-使用Hidden来显示隐藏ExtAspNet控件,而不是使用Visible属性(Visible目前设置为只读属性)。\n\t-使用Hidden控制Window控件的显示隐藏,Popup已经标记为Obsolete属性。\n\t-Window的实例方法GetCloseReference等以及ActiveWindow的静态方法GetCloseReference等,其中的Close全部改为Hide。\n\t-增加TabStrip中Tab控件可关闭属性EnableClose(默认为false)以及两个方法GetShowReference和GetHideReference(feedback:anson)。\n\t-修正绑定到Tree的XMLDocument中Icon属性映射错误(feedback:nopnop9)。\n\t-修正HtmlEditor不能编辑的BUG(feedback:TheBox)。\n\t-修正IE下有时会出现空白页面的情况(feedback:olivia919)。\n\t\n\t\n\n+2009-12-06 v2.1.8\n\t-修正了使用IFrame的Window关闭后不能再次打开的BUG(feedback:alexa99)。\n\t-修正了IE下Grid中的一个\u003Cem\u003EJS\u003C\u002Fem\u003E问题(feedback:lqm4108)。\n\t-修正Alert消息中引号未编码导致的\u003Cem\u003EJS\u003C\u002Fem\u003E错误(feedback:sun1299shine)。\n\t+集成ext\u003Cem\u003Ejs\u003C\u002Fem\u003E3.0.3。\n\t\t-修正\u003Cem\u003E弹出\u003C\u002Fem\u003E\u003Cem\u003E对话框\u003C\u002Fem\u003E的宽度计算错误(会保持最小的状态)。\n\t\t-增加新的皮肤Gray。\n\t-为示例工程添加改变语言和皮肤的下拉列表。\n\t-为PageContext增加静态函数Refresh,在切换语言和皮肤时使用。\t\n\n\n\n+2009-12-01 v2.1.7\n\t-增加示例(iframe\u002Fparent_postback_run3.aspx),如何通过简单的Javascript\u003Cem\u003E代码\u003C\u002Fem\u003E回发父页面(feedback:eroach)。\n\t-修正一些书写错误(feedback:bmck)。\n\t-从Region控件中删除SplitColor属性,增加CollapseMode, EnableSplitTip, SplitTip, CollapsibleSplitTip属性(feedback:bmck)。\n\t-BorderPanel更名为RegionPanel。\n\t-DropDownList拥有MarkInvalid方法(feedback:sun1299shine)。\n\t-增加中国的省市县三级联动示例(data\u002Fshengshixian.aspx)(feedback:Blues T)。\n\t-修正了使用IFrame\u003Cem\u003EUrl\u003C\u002Fem\u003E的Tab在切换过程中会重复加载的问题,这是一个在v2.1.6引入的问题(feedback:eroach)。\n\t-修正了启用AutoPostBack的Grid,其RowClick会覆盖LinkButtonField, HyperLinkField, CheckBoxField的点击事件(feedback:yymaoji)。\n\t\n\t\n\t\n+2009-11-26 v2.1.6\n\t+修正动态创建Grid列的BUG(feedback:gxpan)。\n\t\t-增加示例(data\u002Fgrid_dynamic_columns.aspx)。\n\t-修正Form不能自适应浏览器大小的改变(feedback:kaywood)(WorkItem#6309)。\n\t-增加重载方法Alert.Show(message, title, icon)(feedback:TheBox)(WorkItem#6353)。\n\t-为容器控件(比如Panel,Region,Tab等)增加AJAX属性IFrame\u003Cem\u003EUrl\u003C\u002Fem\u003E(feedback:BluesT)。\n\t-重新设计模拟树的下拉列表的实现,避免选中某项后的闪烁。\n\t\t\t\n\n\n+2009-11-21 v2.1.5\n\t+Tree优化。\n\t\t-修正Expanded项和Checked项的状态在回发改变后不能保持的BUG。\n\t\t-GetNodeById更名为FindNode,保持和FindControl一致命名。\n\t\t-删除CheckedNodeIDArray属性,增加GetCheckedNodes和GetCheckedNodeIDs函数。\n\t\t-删除ExpandedNodeIDArray属性,增加GetExpandedNodes和GetExpandedNodeIDs函数。\n\t\t-增加示例(data\u002Ftree_select_run.aspx),如何选中当前节点的所有子节点(feedback:wjl_wjl520)。\n\t\t+TreeNode的属性NodeId被重命名为NodeID,这是ExtAspNet中的一个命名约定。\n\t\t\t-同时更名的还有GridColumn的ColumnId-\u003EColumnID,GetColumnId-\u003EGetColumnID。\n\t\t\t-Grid1.Columns.FindColumnById函数被Grid1.FindColumn所替代。\n\t\t-为TreeCheckEventArgs,TreeExpandEventArgs,TreeCommandEventArgs增加Node属性。\n\t-为所有控件增加Focus(覆盖Control默认的Focus函数)和GetFocusReference函数。\n\t-增加示例(other\u002Fcustom_postback.aspx)(feedback:thebox)。\n\t\t-如何自定义Javascript脚本和C#处理函数来响应键盘事件。\n\t-为Tree增加AutoLeafIdentification属性。\n\t\t-增加示例(tree_auto_leaf_identification.aspx)(feedback:wdrabbit)。\n\t\n\t\n\n+2009-11-17 v2.1.4\n\t-修正Window的关闭按钮提示信息一直是中文的BUG(feedback:thebox)。\n\t-部分ExtAspNet控件的设计时支持(会在后续版本中逐步完善)。\n\t-v0.2beta2版本中关于PersistChildren(true)的描述有误,这个是设计时属性,和运行时是否保持状态没有关系。\n\t-修正CheckBox控件的CheckedChanged事件会被触发两次的BUG(Data PostBack-\u003EAutoPostBack, Event PostBack-\u003EEnablePostBack)。\n\t-为TextBox,TextArea,DatePicker,NumberBox,TriggerBox等控件增加AutoPostBack属性(feedback:dk3214)。\n\t+为表单字段增加RequiredMessage,MaxLengthMessage,MinLengthMessage属性,用于指定验证失败时提示信息。\n\t\t-为空则使用默认的提示信息,默认的提示信息支持多语言,建议一般情况下使用默认信息。\n\t+为表单字段增加MarkInvalid和GetMarkInvalidReference函数(feedback:sun1299shine)。\n\t\t-增加示例:form\u002Fform_validate.aspx\n\t\n\t\n\n+2009-10-19 v2.1.3\n\t+增加支持在AJAX时改变的控件属性列表(\u002Fajax.aspx)。\n\t\t-ExtAspNet支持原生的AJAX,也就是说控件的属性改变在AJAX过程中会反映到页面中,但并不是所有的控件属性都支持AJAX改变。\n\t-加载s.gif图片在本机进行,\u003Cem\u003E不会\u003C\u002Fem\u003E请\u003Cem\u003E求\u003C\u002Fem\u003Eext\u003Cem\u003Ejs\u003C\u002Fem\u003E.com远程资源(feedback:efrigate43,abaocoole)。\n\t-在AJAX回发后确保Asp.net的按钮控件仍然具有AJAX的特性。\n\t-更新\u002Fbasic\u002Flogin.aspx示例,使用验证图片(feedback:kedee)。\n\t-为Grid增加AutoPostBack属性和RowClick事件,示例在\u002Fdata\u002Fgrid_autopostback.aspx(feedback:chenguizhu2006)。\n\t-为所有的表单字段增加AJAX属性ReadOnly(feedback:skydb)。\n\t-Grid中TemplateField生成到页面中控件具有唯一ID,例如Grid1_ct5_Label2,Grid1_ct6_Label2(feedback:geruger)。\n\t\n\t\n\n+2009-09-27 v2.1.2\n\t-为Tree控件增加GetExpandAllNodesReference和GetCollapseAllNodesReference两个函数。\n\t-修正RELEASE版本下多语言加载的BUG(feedback:yigehaoren)。\n\t-增加pt_BR语言,由Ujvari\u003Cem\u003E提供\u003C\u002Fem\u003E。\n\t+为所有Panel(包括Grid,Tree,Form等)增加枚举类型Icon,其中包含1700多个小图标。\n\t\t-如果Panel具有Icon\u003Cem\u003EUrl\u003C\u002Fem\u003E属性,则Icon\u003Cem\u003EUrl\u003C\u002Fem\u003E优先于Icon。\n\t\t-所有Icon的列表在icon.aspx。\n\t-为Button,MenuItem(MenuButton,MenuHyperLink),AccordionLink,TreeNode,Image(如果Image\u003Cem\u003EUrl\u003C\u002Fem\u003E为空,则取Icon的值)增加Icon属性。\n\t\n\t\n\n+2009-09-15 v2.1.1\n\t-修正不能动态修改AccordionPane属性Items的BUG。\n\t+为Button, MenuButton, LinkButton, LinkButtonField增加ConfirmTarget。\n\t\t-如果需要在父页面\u003Cem\u003E弹出\u003C\u002Fem\u003E确认\u003Cem\u003E对话框\u003C\u002Fem\u003E,需要设置ConfirmTarget=\"_parent\"(类似Window控件的Target=\"_parent\")。\n\t+为ExtAspNet.Alert.Show增加点击确定的JavaScript回调函数。\n\t\t-一个典型应用,在Window控件中打开新页面,如果传递的参数不正确,则首先提示参数不对然后关闭此\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口。\n\t\t-ExtAspNet.Alert.Show(\"参数错误!\", String.Empty, ExtAspNet.ActiveWindow.GetCloseReference());\n\t+TreeNode的前面的多选框可以自动回发了。\n\t\t-为TreeNode增加AutoPostBack属性,增加事件数据类TreeCheckEventArgs,为Tree增加事件NodeCheck。\n\t\t-示例在:http:\u002F\u002Fextasp.net\u002Fdata\u002Ftree_run.aspx\n\t-Grid增加GetNoSelectionAlertInParentReference函数,用来表示没有选中任何一项时在父页面\u003Cem\u003E弹出\u003C\u002Fem\u003E\u003Cem\u003E对话框\u003C\u002Fem\u003E的\u003Cem\u003EJS\u003C\u002Fem\u003E\u003Cem\u003E代码\u003C\u002Fem\u003E。\n\t-修正IE7下不能以下划线作为CSS中类名的前缀的BUG(feedback:Steve.Wei)。\n\t-添加定时器控件Timer,用来定时发起AJAX请\u003Cem\u003E求\u003C\u002Fem\u003E。\n\t\n\t\n\n+2009-09-06 v2.1.0\n\t-Button的Pressed属性值能够正确的反映客户端的变化。\n\t-优化Tree控件的AJAX实现。\n\t+为页面的Form添加autocomplete=\"off\"属性。\n\t\t-参考http:\u002F\u002Fwww.cnblogs.com\u002Fsanshi\u002Farchive\u002F2009\u002F09\u002F04\u002F1560146.html#1635830\n\t+添加对ext\u003Cem\u003Ejs\u003C\u002Fem\u003E3.0中所有语言的支持。\n\t\t-ExtAspNet扩展的多语言包在\u003Cem\u003Ejs\u003C\u002Fem\u003E\\languages\\extaspnet目录下,目前只有en,zh_CN,zh_TW三种实现\n\t\t-你可以向其中添加自己的语言版本,并执行\u003Cem\u003Ejs\u003C\u002Fem\u003E\\languages下的pack.bat打包,最后编译工程。\n\t\n\t\n\t\n+2009-09-01 v2.0.9\n\t-为ExtAspNet.Alert添加两个静态方法ShowInParent和GetShowInParentReference,用于在父页面\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口。\n\t+在aspx页面中必须显示的声明控件的集合属性(比如Tabs(TabStrip), Items(PanelBase), Nodes(TreeNode))。\n\t\t-这将会影响所有的aspx页面,所以要特别关注。\n\t-重命名AccordionPanel为AccordionPane (这也是在Asp.net AJAX中使用的名称).\n\t+所有的面板默认有两个集合属性(Toolbars和Items).\n\t\t-尽管TabStrip, From, Tree, Accordion继承了Items属性,但是你并不能对其设置(此时Items是只读的).\n\t\t-这将会影响所有的aspx页面,一定要将工具条(Toolbars)和Items区分开来。\n\t-祝你生日快乐 - 小师妹妹。\n\n\n\n+2009-08-29 v2.0.8\n\t-ExtAspNet支持多语言(en,zh_CN,zh_TW),可以在Web.config中修改。\n\t-将所有的示例转化为英语版本。\n\t-修正Tree控件的一个BUG(定义Mappings属性时)。\n\t+PageManager.Instance应该存在于HttpContext.Current,而不是一个全局变量。\n\t -这个BUG导致Asp.net compatibility中的示例无法完成,现在已经修正。\n\t+去除PageManager中方法AddAjaxAspnetControls,增加属性AjaxAspnetControls。\n\t -这个属性和Button得ValidateForms属性类似,可以查看Asp.net compatibility中的示例。\n\t\n\t\n\n+2009-08-25 v2.0.7\n -为按钮增加DisableControlBeforePostBack属性 - 回发之前是否禁用按钮,防止重复提交 - 默认为true。\n -Grid的Values属性访问限制由internal改为public,这就意味这可以自由改变Grid中每个单元格的值了。\n -增加示例-如何将Grid控件导出为Excel(data\\grid_excel_run.aspx)(feedback:503684912)。\n -如果TreeNode的属性Enabled=\"false\",则此项变灰并且\u003Cem\u003E不会\u003C\u002Fem\u003E被选中(feedback:your568)。\n -修正TreeNode的属性Navigate\u003Cem\u003EUrl\u003C\u002Fem\u003E不接受服务器端\u003Cem\u003EURL\u003C\u002Fem\u003E(以~\u002F开头)的BUG。\n -增加Accordion和Tree配合使用的示例(other\\accordion_tree_run.aspx)。\n -修正Panel图标不能显示的BUG(CSS中class名不能有$字符)。\n +去除PageLayout控件,此控件可以使用BorderLayout和指定PageManager的AutoSizePanelID属性来代替。\n\t\t-这样所有需要占据全屏的Panel(不管你是Accordion,Panel,ContentPanel,Form,GroupPanel,SimpleForm,Tree还是Grid,TabStrip)都可以通过这种方式全屏。\n\t\t-简单方便,示例可以参考 default.aspx 或者 other\\accordion_tree_run.aspx。\n \n \n\n+2009-08-14 v2.0.6\n\t-动态生成菜单实例(other\\menu_dynamic_run.aspx和other\\menu_dynamic2_run.aspx)(feedback:shguo)。\n\t-优化AJAX的内部实现,每个页面保存的ViewState现在减少1\u002F3左右(重要更新)。\n\t-优化Tree节点的NodeId自动生成,减少ViewState占用。\n\t\n\n\n+2009-08-09 v2.0 beta5\n\t+ExtAspNet和Asp.net的提交按钮兼容问题(feedback:千帆)。\n\t\t-在2009-03-03 v1.3.0曾经提到这个兼容问题,并有这样的规则,如果Asp.net的按钮AJAX提交,必须设置UseSubmitBehavior=\"false\"\n\t\t--也就是说生成的input的type不能是\"submit\",而这个限制在有些情况下是不可原谅的。\n\t\t--我们做了优化,现在要使一个Asp.net的按钮能够AJAX提交,你不需要做任何设置(PageManager的属性EnableAjax为true即可,这是默认属性)。\n\t+PageManager的实例方法AddAjaxUpdateControl改名为AddAjaxAspnetControls,现在可以在Page_Load中设置需要在AJAX中需要更新的Asp.net控件了。\n\t\t-在Page_Load中设置了哪些需要在AJAX中更新的Asp.net控件会在回发时保持状态,可以通过RemoveAjaxAspnetControls来去除不需要更新的控件。\n\t\t-示例在aspnet\\fckeditor_run.aspx和aspnet\\aspnet_run.aspx。\n\t\t-FCKEditor和上传控件兼容。示例在aspnet\\fileupload_run.aspx。\n\t-修正ToolbarText的文本在AJAX下更新的BUG。\n\t-Button的Pressed属性在AJAX可更新(feedback:mgzhenhong)。\n\t-更新所有示例。在IE7.0,IE8.0,Firefox3.5,Chrome2.0下测试通过。\n\t\n\n\n+2009-08-02 v2.0 beta4\n\t+和Asp.Net的Forms Authentication兼容[feedback:mgzhenhong]。\n\t\t-采用和Asp.Net Ajax类似的处理方式,需要在配置文件Web.config增加一个httpModules。\n\t\t-现在支持Response.Redirect,你可以选择Response.Redirect或者ExtAspNet.PageContext.Redirect重定向页面,两者效果一样。\n\t\t-支持FormsAuthentication.RedirectFromLoginPage(accountID, false);这样的方法。\n\t-Button增加Type属性(button,reset,submit)[feedback:mgzhenhong]。\n\t-修正Alert.Show方法不能指定文本前图片的BUG[feedback:xmq&mgzhenhong]。\n\t-修正IE下某些\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口的IFrame第一次不能加载的BUG。\n\t-增加Menu和Accordion的示例。\n\t-修正Window控件的Icon\u003Cem\u003EUrl\u003C\u002Fem\u003E有时不显示(Target=\"_parent\")的BUG[feedback:xmq&mgzhenhong]。\n\t\n\n\n+2009-07-22 v2.0 beta3\n\t-兼容FCKEditor。\n\t-在IE8.0,Firefox3.5下测试通过。以后ExtAspNet将\u003Cem\u003E不会\u003C\u002Fem\u003E对IE6.0\u003Cem\u003E提供\u003C\u002Fem\u003E支持。\n\t\n\n\n+2009-07-13 v2.0 beta2\n\t-集成ext\u003Cem\u003Ejs\u003C\u002Fem\u003E最新版本v3.0。\n\t+兼容IE6.0-7.0-8.0。\n\t\t-这应该是Ext\u003Cem\u003Ejs\u003C\u002Fem\u003E3.0的一个BUG,在IE6.0-7.0下面设置Ext.QuickTips.init();会导致button的click事件无法响应(IE8下无此问题)。\n\t\t-目前先禁用IE6.0-7.0的QuickTips。\n\t-优化底层JavaScript。\n\t\n\t\n\t\n+2009-07-05 v2.0 beta1\n\t-更新ext\u003Cem\u003Ejs\u003C\u002Fem\u003E库到最新版本v3.0 RC2; 目前只有一个缺省皮肤(Theme)。\n\t-使用YUI Compressor压缩JavaScript和CSS文件。\n\t-Release版本每个页面只包含一个JavaScript文件(语言文件除外)和一个CSS文件。\n\t-ExtAspNet自身的CSS会紧挨着页面标签引入,这样在中自定义的样式可以覆盖ExtAspNet缺省样式。\n\t+Alert\u003Cem\u003E对话框\u003C\u002Fem\u003E会遮挡所有的Window窗口。\n\t\t-使用一个变通的方法解决,因为无法改变Ext.Message的默认z-index(9000)所以将box.window_default_group的zseed调整为6000。\t\n\t-为所有按钮的左右增加5px的空白边距:.x-btn button { margin: 0 5px !important; }。\n\t-因为下拉列表不可编辑,所以不能为空,如果不设置SelectedIndex或SelectedValue,则默认选中第一项。\n\t-重新绑定模拟树的下拉列表后,选中项的前面有图片的HTML标签的BUG。\n\t-更新自定义JavaScript组件Ext.ux.SimplePagingToolbar。\n\t-更新示例工程。\n\t\n\t\n\n+2009-03-25 v1.3.1\n\t-Tree在AJAX回发展开节点时\u003Cem\u003EJS\u003C\u002Fem\u003E错误[feedback:xlli]。[fixed]\n\t-Window中的EnableIFrame==false,则点击关闭按钮时报\u003Cem\u003EJS\u003C\u002Fem\u003E错误。[fixed]\n\t-页面包含FileUpload控件,需要点击按钮回发并上传文件,则不能采用原生AJAX方式。(参见示例aspnet\u002Ffileupload.aspx)[fixed]\n\t-HtmlEditor显示隐藏工具栏按钮不起作用,HtmlEditor目前不支持Enabled和Readonly两个属性。[fixed]\n\t\n\t\n\n+2009-03-03 v1.3.0\n\t-如果\u003Cem\u003E弹出\u003C\u002Fem\u003E的窗口(Ext-Window)含有ASP.NET控件FileUpload,则此\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口在关闭时出现\u003Cem\u003EJS\u003C\u002Fem\u003E错误(http:\u002F\u002Fext\u003Cem\u003Ejs\u003C\u002Fem\u003E.com\u002Fforum\u002Fshowthread.php?t=8129)[feedback:xlli]。[fixed]\n\t-如果页面中存在ASP.NET控件(TextBox),则第二次提交表单就会报错(视图状态不对,其实时没有更新EventValidation隐藏字段导致的问题)。[fixed]\n\t-页面上放置ExtAspNet-Button和ASP.NET-Button,则点击ExtAspNet-Button时激发的是ASP.NET-Button的事件,这个BUG和Ext\u003Cem\u003Ejs\u003C\u002Fem\u003E2.2.1中Ext.Ajax.serializeForm的实现有关。[fixed]\n\t-ExtAspNet内部包含HtmlAgilityPack和Nii.\u003Cem\u003EJS\u003C\u002Fem\u003EON两个开源的第三方类库。[added]\n\t+如果以前你听过不要在ExtAspNet工程中使用ASP.NET标准控件的忠告,那么从v1.3.0版本开始,你可以忘掉这个说法,现在ExtAspNet控件和ASP.NET标准控件和平共处了。[fixed]\n\t\t-如果一个ASP.NET按钮控件要使用ExtAspNet的原生AJAX,只需要设置属性 UseSubmitBehavior=\"false\" 即可。\n\t\t-如果要在一次ExtAspNet的原生AJAX回发时更新ASP.NET控件的值,只需要调用PageManager的公共方法AddAjaxUpdateControl即可(示例:aspnet\u002Faspnet.aspx)。\n\n\n\n+2009-02-27 v1.2 beta9\n\t-网络连接出错时的“Ajax Error”改成更加友好的提示信息“本次连接失败!可能是网络连接出错,请刷新页面重试。”。[fixed]\n\t-自动测试功能会在以后版本中逐步完善。这个版本完成测试框架,采用Ext\u003Cem\u003Ejs\u003C\u002Fem\u003E中\u003Cem\u003EJS\u003C\u002Fem\u003E函数进行大部分的测试,对于一些难以测试的地方借助jQuery完成。[fixed]\n\t+系统底层\u003Cem\u003E代码\u003C\u002Fem\u003E优化(主要是Javascript的封装和BUG修复)。[fixed]\n\t\t-底层使用Javascript创建一个Window控件的\u003Cem\u003E代码\u003C\u002Fem\u003E由原来的2000字符减少为500个字符。\t\n\t\t-PageContext静态类中的GetPageStateChangedFunction改名为GetConfirmFormModifiedReference,底层\u003Cem\u003E代码\u003C\u002Fem\u003E优化。表示“获取当前页面中表单修改的确认提示框的脚本”。\n\t\t---[updated]删除PageContext中的GetConfirmFormModifiedReference,使用CurrentActiveWindow中的GetConfirmFormModifiedCloseReference\u002FGetConfirmFormModifiedCloseRefreshReference\u002FGetConfirmFormModifiedClosePostBackReference三个方法代替。\n\t\t-\u003Cem\u003E不会\u003C\u002Fem\u003E修改\u003Cem\u003E弹出\u003C\u002Fem\u003E页面的\u003Cem\u003EURL\u003C\u002Fem\u003E(Ext-Window中的IFrame),以前为了实现功能为每个\u003Cem\u003E弹出\u003C\u002Fem\u003E页面添加box_parent_client_id查询字符串\n\t\t-去除PageManager的RegisterPageStateChangedScript属性,现在已经将这个功能实现为静态的\u003Cem\u003EJS\u003C\u002Fem\u003E方法。可以通过PageContext.GetFormModifiedConfirmReference获取此方法的客户端脚本。\n\t\t---注意:以前的项目需要在所有的ASPX页面中查找RegisterPageStateChangedScript属性,并删除,否则会运行错误!\n\t\t-A页面有Ext-Window控件\u003Cem\u003E弹出\u003C\u002Fem\u003EB页面,B页面有Ext-Window控件\u003Cem\u003E弹出\u003C\u002Fem\u003EC页面,B页面的Ext-Window控件设置Target='_parent',则\u003Cem\u003E弹出\u003C\u002Fem\u003E的Ext-Window(C页面)会覆盖整个A页面,这是正确的。\n\t\t---当时如果用户直接访问B页面,就会报\u003Cem\u003EJS\u003C\u002Fem\u003E错误,因为此时找不到B页面的父页面A了。现在的版本修正为如果找不到父页面,则就在当前页面\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口,这样用户直接访问B页面也\u003Cem\u003E不会\u003C\u002Fem\u003E出错了。\n\t\t-Window控件的GetIFramePageStateChangedFunction函数改名为GetConfirmFormModifiedCloseReference,表示“获取先确认IFrame的页面中表单改变,然后关闭\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口的客户端脚本”。\n\t\t---为Window控件增加如下两个方法GetConfirmFormModifiedCloseRefreshReference和GetConfirmFormModifiedClosePostBackReference,表示“先确认表单改变,然后关闭\u003Cem\u003E弹出\u003C\u002Fem\u003EExt-Window,再然后刷新父页面或回发父页面”。\n\t\t---Window控件的OnClientCloseButtonClick属性如果不设置,则默认采用GetConfirmFormModifiedCloseReference,也即是先判断表单是否更新,然后在关闭窗口。\n\t\t---现在可以很方便的为Window控件的关闭按钮添加关闭后刷新父页面或者关闭后回发父页面的行为。\n\t\t-如果\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口(Window控件)中IFrame的页面不能正常加载(网络暂时出错或页面抛出异常),则此时点击右上角的关闭按钮会报\u003Cem\u003EJS\u003C\u002Fem\u003E错误,因为此时页面尚未加载完毕。\n\t\t---此版本修正了这个BUG,即时页面不能加载完全,也能通过右上角的关闭按钮关闭\u003Cem\u003E弹出\u003C\u002Fem\u003E含IFrame的窗体。\n\t\t-Window控件的IFrameName属性是自动生成的,只读属性。(因为有可能所有的Ext-Window最终都渲染到最外层的页面,为了保证这些IFrame的name不同,IFrameName使用的是GUID,内部处理)。\n\t\t-CurrentActiveWindow改名为ActiveWindow。\n\t\t-[特别注意]GetWriteBackValueReference(string controlClientIds, string value, params string[] values)函数现在的定义是GetWriteBackValueReference(params string[] values)\n\t\t---所有调用GetWriteBackValueReference的地方,需要删除第一个参数(一般是ActiveWindow.GetLoadStateReference())。\n\t\t\n\t\n\n+2009-02-23 v1.2 beta8\n\t-ContentPanel中\u003Cem\u003E内容\u003C\u002Fem\u003E不能自动扩展高度的BUG[feedback:huihuang]。[fixed]\n\t-DropDownList在Ajax回发时不能计算模拟树的数据[feedback:huihuang]。[fixed]\n\t-DropDownList在页面第一次加载时没有不可选择项,则回发时也\u003Cem\u003E不会\u003C\u002Fem\u003E有不可选择项的BUG。[fixed]\n\t-升级底层Ext\u003Cem\u003EJS\u003C\u002Fem\u003E类库为v2.2.1(此版本主要是Chrome的支持和部分内存泄漏问题的修正)。[fixed]\n\t-页面加载过程中的时间信息保存在Javascript变量window.box.timeInfo中。[added]\n\t+增加部分自动测试支持(使用WatiN和NUnit),下个版本将会\u003Cem\u003E提供\u003C\u002Fem\u003E完整的自动测试支持。[fixed]\n\t\n\t\n\n+2008-10-28 v1.2 beta7\n\t-DropDownList没有选中任何一项,回发时报错[feedback:huihuang]。[fixed]\n\t-Window显示位置不对,以及不能拖动的BUG[feedback:huihuang]。[fixed]\n\t+PageContext优化。[fixed]\n\t\t-去除RegisterExclusiveScript静态函数(这是没有原生ajax之前的产物),使用RegisterStartupScript替代。\n\t\t-去除RegisterStartupScript的重载函数,只保留最简单的PageContext.RegisterStartupScript(string script)函数。\n\t\t-Resirect增加重载函数Redirect(string \u003Cem\u003Eurl\u003C\u002Fem\u003E, string target),其中target可能的取值为_self,_parent,_top,分别表示在当前窗口,父窗口,顶级窗口重定向[feedback:jqpeng]。\n\t-Image控件增加ImageWidth\u002FImageHeight\u002FImageCssStyle\u002FImageCssClass\u002FImageAlt属性[feedback:jqpeng]。[fixed]\n\t-发布包中增加一个Web.config.txt,这是一个空的Web.config文件,包含BOX基本的配置信息。[fixed]\n\t-ContentPanel的ShowHeader和ShowBorder属性默认也是true(注意更新以前的应用)。[fixed]\n\t-Row和Column布局时,修正IE下设置RowHeight=\"100%\"时显示不正确的BUG。[fixed]\n\t-AccordionLink当鼠标移上和移开时,有背景色的变化效果[feedback:huihuang]。[fixed]\n\t+TabStrip的Tab控件的EnablePostBack属性会在回发时保持(也即是说如果EnablePostBack=true,回发时没改变EnablePostBack的值,则每次切换到此Tab都会回发)。[fixed]\n\t\t-有这样一个效果,如果Tab1默认显示,Tab1的EnablePostBack=true,则页面加载完毕后会回发Tab1一次。\n\t\n\t\n\n+2008-10-20 v1.2 beta6\n\t+使用控件的站点必须建立虚拟目录,否则会报\u003Cem\u003EJS\u003C\u002Fem\u003E错误(即是脚本资源没有加载),却原来是HTTPCompress组件的问题。[fixed]\n\t\t-需要替换新的blowery.Web.HttpCompress.dll,解决方案见http:\u002F\u002Fpohee.com\u002Fit\u002Fhttp-compression-in-aspnet-20\u002F。\n\t+DropDownList优化。[fixed]\n\t\t-去除EnableFirstItem\u002FFirstItemText\u002FFirstItemValue,这个并不能带来很大的好处,反而容易让开发人员困惑。\n\t\t 现在可以方便的在后台DropDownList1.Items.Insert(0, new ExtAspNet.ListItem(\"全部\", \"-1\"));来达到同样的效果。\n\t\t+如果某项(ListItem)的Value为空字符串,则通过SelectedIndex和SelectedValue不能选中[feedback:jqpeng]。\n\t\t\t-和Asp.net中的保持一致,ListItem的Value值可以为空字符串。 也就是可以这样写DropDownList1.SelectedValue = \"\";\n\t\t-ListItemCollection增加重载函数Add(string text, string value),这样方便后台添加列表项。\n\t-处于布局内的容器控件(Layout!=LayoutType.Container),AutoHeight会自动设置为false(避免开发人员发生此类错误)。[fixed]\n\t-注意,控件的高度指的是整个控件的高度,包含BodyPadding(这和CSS中的height不同,CSS中的height是指\u003Cem\u003E内容\u003C\u002Fem\u003E的高度,除去padding\u002Fborder-width\u002Fmargin)。[fixed]\n\t+为所有控件属性增加在VS中的智能提示。[fixed]\n\t\t-需要将ExtAspNet.XML和ExtAspNet.dll放在一起,这样引用dll时xml会被拷贝到bin目录下,\u003Cem\u003E提供\u003C\u002Fem\u003EVS的智能提示。\n\t+控件的属性如果是枚举类型,如果此属性可以不取值,则默认为None。[fixed]\n\t\t-TriggerIconType.Default -\u003E TriggerIconType.None\n\t\t-SystemIconType.Empty -\u003E SystemIconType.None\n\t\t-RegexPattern.USER_DEFINED -\u003E RegexPattern.None\n\t-表单验证属性名称变化(ValueToCompare-\u003ECompareValue,ControlToCompare-\u003ECompareControl)。[fixed]\n\t+注意:一个属性可以拥有多个值的情况。[fixed]\n\t\t-属性和CSS相关则用空格分隔(比如ColumnWidths,BodyPadding)。\n\t\t-其他的都是逗号分隔(比如ValidateForms,DataKeyNames,DataNavigate\u003Cem\u003EUrl\u003C\u002Fem\u003EFields)。\n\t+AccordionLink实现为控件。[fixed]\n\t\t-可以方便的在子页面(iframe)中通过\u003Cem\u003Ejs\u003C\u002Fem\u003E切换父页面中选中的菜单项(Accordion-\u003EAccordionLink)(示例在other\u002Faccordion_links_run.aspx,other\u002Faccordion_links_run_iframe_htm)[feedback:jima]。\n\t+确认:可以方便的动态添加控件,并且可以给控件添加服务器端事件(示例在form\u002Fform_dynamic_run.aspx)。[fixed]\n\t\n\t\n\t\n+2008-10-15 v1.2 beta5\n\t-验证表单字段的ValueToCompare属性,为字符串时会出错的BUG。[fixed]\n\t+优化下拉列表。[fixed]\n\t\t-验证下拉列表时,应该取ListItem的Value属性进行验证,而不是Text属性。\n\t\t-DropDownList的Items增加Insert方法(可方便的下拉列表选项添加“全部”)。\n\t\t-DropDownList不支持EmptyText属性。\n\t\t-ListItem启用EnableSelect和SimulateTreeLevel属性,这样就可以直接在前台(ASPX)中设置哪些项不可选择,以及创建模拟下拉树。\n\t\t-DropDownList增加EnableSimulateTree属性(默认为false),如果设置了DataSimulateTreeLevelField,则自动将EnableSimulateTree设置为true。\n\t\n\t\n\n+2008-09-27 v1.2 beta4\n\t+EnableLargeHeader属性对所有容器的效果一样,Accordion的属性EnableLargeHeader只会改变Accordion的标题大小,而\u003Cem\u003E不会\u003C\u002Fem\u003E对AccordionPanel起作用(示例见other\u002Faccordion_run.aspx)。[fixed]\n\t\t-Accordion去除EnableHightlight属性,AccordionPanel增加EnableHightlight属性。\n\t\t-影响以前使用Box的应用,需要将Accordion的属性去掉,然后为每个AccordionPanel增加EnableLargeHeader和EnableHightlight属性。\n\t-AccordionPanel鼠标移上去的样式调整(现在没有下面的一条白线了)。[fixed]\n\t+AccordionPanel增加Links属性,可以绑定列表数据到AccordionPanel,呈现的是链接的列表(示例在other\u002Faccordion_links_run.aspx)。[fixed]\n\t\t-原来放置在AccordionPanel中的容器,比如ContentPanel需要在外层加上标签。\n\t\t-适当增大AccordionPanel中链接的高度20px-\u003E22px,同时对链接的样式也做了微调。\n\t\t-通过BodyPadding控制链接列表的边距。\n\t\t-这样能大大减少ASPX中HTML\u003Cem\u003E代码\u003C\u002Fem\u003E和Javascript\u003Cem\u003E代码\u003C\u002Fem\u003E的书写,可以在后台动态添加链接,效果很赞,此需\u003Cem\u003E求\u003C\u002Fem\u003E由马季提出。\n\t\n\t\n\t\n+2008-09-25 v1.2 beta3\n\t+\u003Cem\u003E代码\u003C\u002Fem\u003E优化与设计时支持(尚需要不断完善,目前可以在ASPX页切换到“设计时”,方便属性的更改和事件处理函数的添加)。[fixed]\n\t\t-Panel\u002FGroupPanel\u002FContentPanel\u002FTree\u002FHiddenField\u002FPageLoading\n\t\t-TabStrip\u002FToolbar\n\t-TabStrip去除Plain属性,增加EnableTitleBackgroundColor(默认为true)。[fixed]\n\t-向Form中动态添加控件的BUG,现在form\u002Fform_dynamic_run.aspx示例已经能正确运行。[fixed]\n\t+大部分容器的子控件集合更正为Items(以前有些是Rows)。[fixed]\n\t\t-影响的控件包括Toolbar\u002FAccordion\u002FAccordionPanel\u002FGroupPanel\u002FPanel\u002FSimpleForm\u002FWindow等。\n\t\t-保留Form的Rows(FormRowCollection)属性和Grid的Rows属性(GridRowCollection)。\n\t\t-保留TabStrip的Tabs(TabCollection)属性。\n\t\t-保留PageLayout\u002FBorderLayout的Regions(RegionCollection)属性。\n\t-预祝今晚神七发射成功。\n\t\n\t\n\t\n+2008-09-22 v1.2 beta2\n\t+Grid选中项(SelectedRowIndexArray)在ajax回发过程中存在BUG [feedback:xmzhu]。[fixed]\n\t\t-表现为对Grid进行多次删除添加操作后,SelectedRowIndexArray选中项中会存在当前不存在的行序号,导致服务器端遍历选中项时数组越界。所有使用box控件的应用程序都受到此BUG的影响,需尽快更新到新版本。\n\t+\u003Cem\u003E代码\u003C\u002Fem\u003E优化与设计时支持(示例中表单控件都已支持设计)。[fixed]\n\t\t-PageManager\u002FSimpleForm\u002FButton\u002FHyperLink\u002FLabel\u002FImage\u002FLinkButton\u002FTextBox\n\t\t-TriggerBox\u002FTwinTriggerBox\u002FWindow\u002FTextArea\u002FHtmlEditor\u002FDatePicker\u002FNumberBox\n\t\t-CheckBox\u002FRadioButton\u002FRadioButtonList\u002FDropDownList\n\t\t-Grid\n\n\n\n+2008-09-19 v1.2 beta1\n\t-Image\u002FLinkButton\u002FHyperLink增加一些Ajax可更新属性。[fixed]\n\t+隐藏的方式由HideMode属性控制Visibility\u002FOffsets\u002FDisplay。[fixed]\n\t\t-修正Form\u002FSimpleForm中隐藏一个表单字段(Hidden=false)会占据页面空间的BUG。\n\t-ToolbarText\u002FToolbarFill\u002FToolbarSeparator在ASPX中设置Hidden=true不起作用的BUG [feedback:jbzhang]。[fixed]\n\t-Button去除MarginRight属性(可以通过CssStyle=\"margin-right:5px;\"达到相同的效果)[fixed]\n\t\n\t\n\t\n+2008-09-09 v1.1\n\t+Toolbar去除IsPageMenu属性,在网报中可以用自定义样式实现,而不应该写在控件中。[fixed]\n\t\t-网报:CssClass=\"toolbar-pagemenu\" CssStyle=\"border:0px;\",同时定义样式:.toolbar-pagemenu{ background: rgb(208, 222, 240) \u003Cem\u003Eurl\u003C\u002Fem\u003E(..\u002Fimages\u002Fpagemenu_toolbar_background.gif) repeat-x left top;}。\n\t-Region去除默认的Layout=Fit,如果希望Region使用Fit\u002FAnchor\u002FColumn\u002FRow等布局的话,需要手工指定。[fixed]\n\t-ToolbarSeparator\u002FToolbarFill在Ajax更新Hidden属性的BUG。[fixed]\n\t+布局整理。[fixed]\n\t\t-新增Column\u002FAbsolute\u002FRow三种布局,加上以前的Container\u002FFit\u002FAnchor\u002FAccordion\u002FBorder\u002FForm六种布局,总共有9中布局可供使用。\n\t\t-其中一些控件默认使用一种布局:SimpleForm(Form)\u002FForm(Form)\u002FPanel-GroupPanel(Container)\u002FAccordion(Accordion)\u002FPageLayout(Border)\u002FBorderLayout(Border)\u002FTabStrip(Card),所有布局控件默认的布局是Container。\n\t\t-经常用到的布局控件:SimpleForm\u002FForm\u002FAccordion\u002FTabStrip\u002FBorderLayout,经常用到的布局:Fit\u002FRow\u002FAnchor\n\t\n\t\n\t\n+2008-09-08 v1.1 beta7\n\t-MenuButton\u002FMenuHyperLink增加HideOnClick属性,如果一个菜单项的作用仅仅为了\u003Cem\u003E弹出\u003C\u002Fem\u003E下级菜单,点击没反应,则可以这样设置HideOnClick=\"false\" CssStyle=\"cursor:default;\" [feedback:huayu]。[fixed]\n\t-MenuButton\u002FMenuHyperLink\u002FMenuSeparator\u002FMenuText增加Hidden属性(此属性是Ajax可更新属性,如果需要在Ajax时显示隐藏菜单,请使用此属性而不是Visible属性)。[fixed]\n\t+大部分的ExtAspNet控件增加Hidden属性(少数几个控件没有此属性:Menu),这样在Ajax时可以显示隐藏控件。[fixed]\n\t\t-注意Visible和Hidden的区别:Visible=false的属性\u003Cem\u003E不会\u003C\u002Fem\u003E渲染到客户端,Hidden=true的控件渲染到客户端但是隐藏。\n\t\t-US的ExtAspNet改造强烈依赖于此属性,这个版本发布后可以继续。\n\t\t-网报中唯一没有用到ExtAspNetAjax的地方就是显示隐藏表单字段,现在也可以使用Ajax了。\n\n\n\n+2008-09-04 v1.1 beta6\n\t-PageContext.Redirect支持普通页面转向和ExtAspNetAjax下页面转向。[fixed]\n\t+模拟树的下拉列表的BUG(会使一些可选项变成不可选项)[feedback:xmzhu]。[fixed]\n\t\t-因为if(\"0,2,9,11,\".indexOf('1,')\u003E=0){ok},这显然是不对的,此BUG涉及很多控件(Grid,DropDownList,TabStrip)。\n\t\t-解决方法:testValue += '';if(domValue.split(',').indexOf(testValue) \u003E= 0){ok}。\n\t-DropDownList在Ajax时应该先更新数据再设置选定项 [feedback:xmzhu]。[fixed]\n\t-Button\u002FMenuButton增加Ajax可更新属性OnClientClick [feedback:xmzhu]。[fixed]\n\t-Tree的Ajax支持(尚需优化)。[fixed]\n\t\n\t\n\n+2008-09-02 v1.1 beta5\n\t-DropDownList如果第一次没有绑定值,应该绑定到[[]](二维数组),而不是[](一维数组)。[fixed]\n\t-模拟树的DropDownList,在Ajax重新绑定DataSource后,保持项是否可选状态是最新的(页面第一次加载时,即使没有数据也需要设置DataTextField\u002FDataValueField\u002FDataSimulateTreeLevelField\u002FDataEnableSelectField等属性的值,否则Ajax回发时会出错)。[fixed]\n\t-UserControlConnector导致的Ajax错误,去除UpdatePanelConnector控件(以后\u003Cem\u003E不会\u003C\u002Fem\u003E用AspnetAjax,这个控件已经完成使命)。[fixed]\n\t-不要使用Asp.net的控件HiddenField,而是使用ExtAspNet的HiddenField,因为Asp.net的控件在Ajax\u003Cem\u003E不会\u003C\u002Fem\u003E被更新,所以会导致视图状态不一致的错误。[fixed]\n\t-网报Ajax整合基本完成(除了待审批-\u003E下一步[审核\u002F归档\u002F出纳]操作,由于需要显示隐藏表单字段,目前Ajax不支持,使用的还是普通的PostBack)。[fixed]\n\t-IE下,RadioButtonList中项如果存在汉字,则会换行的BUG。[fixed]\n\t-增加两个Theme[Slate\u002FBlack](样式尚需完善)。[fixed]\n\t\n\t\n\t\n+2008-09-01 v1.1 beta4\n\t-非当前Tab中如果有ContentPanel,则在页面上方会有空白(可以通过设置EnableDeferredRender=false解决,但会减慢页面的加载速度),现在已经解决这个问题。[fixed]\n\t-RadioButtonList去除EnableBackgroundColor\u002FEnableLightBackgroundColor属性,背景色是透明的,也就是和父控件(SimpleForm\u002FForm)的背景色一致。[fixed]\n\t-TwinTriggerBox的第一个Trigger图标\u003Cem\u003E不会\u003C\u002Fem\u003E先显示再隐藏,而是直接隐藏掉(如果用户设置ShowTrigger1=false)。[fixed]\n\t-Web.config中增加配置项FormLabelWidth=\"80\"(默认为80),同时PageManager增加FormLabelWidth属性用来控制页面上所有SimpleForm\u002FForm的表单字段标题的宽度。[fixed]\n\t+完善Ajax。[fixed]\n\t\t-RadioButtonList增加Ajax可更新属性SelectedIndex(SelectedValue\u002FSelectedItem)。\n\t\t-DropDownList增加Ajax可更新属性Enable\u002FSelectedIndex(SelectedValue\u002FSelectedItem)\u002FDataSource。\n\t\t-Grid增加Ajax可更新属性Columns(也就是说Grid列在回发时隐藏显示了一些,也能正确的Ajax)。\n\t\t-ToolbarText增加Ajax可更新属性Text。\n\t\t\n\t\t\n\t\t\n+2008-08-31 v1.1 beta3\n\t-TabStrip增加EnableDeferredRender属性(是否启用延迟加载Tab,默认启用)。[fixed]\n\t-重定向页面,使用系统的方法 PageContext.Redirect(string \u003Cem\u003Eurl\u003C\u002Fem\u003E),使用Response.Redirect方法会出错。[fixed]\n\t+安全的Ajax设计。[fixed]\n\t\t-这个版本Ajax和上个版本(v1.1beta1)在设计思路上有很大区别,同时在速度上会有进一步的提升。\n\t\t-基本思想:安全的Ajax交互,明确Ajax回发时支持控件哪些属性的改变,这将适合90%的应用场景(并且具有极快的反应速度),对于需要UI大改动的可采用常规回发,系统\u003Cem\u003E提供\u003C\u002Fem\u003E控件级别的EnableAjax属性。\n\t\t-整理支持Ajax的控件属性改变列表(所有被支持的属性改变都是安全的、快速的,所有不被支持的属性改变\u003Cem\u003E不会\u003C\u002Fem\u003E对UI起作用,同时是安全的,\u003Cem\u003E不会\u003C\u002Fem\u003E有\u003Cem\u003Ejs\u003C\u002Fem\u003E错误)。\n\t-网报Ajax整合(目前只支持所有的列表页面)(v0.8.1)。[fixed]\n\t\n\t\n\t\n+2008-08-29 v1.1 beta1\n\t+Window控件是否\u003Cem\u003E弹出\u003C\u002Fem\u003E的状态在回发时维持。[fixed]\n\t\t-控件设计的一个原则,凡是可以在客户端改变的属性都应该在回发时保持属性的状态。\n\t+完全抛弃Asp.NetAjax,ExtAspNet控件内置Ajax支持。[fixed]\n\t\t-这是一个值得骄傲的设计,可以明显提高页面回发的速度(相比普通的回发和Asp.netAjax的回发),对于IFrame框架的交互也起到很好的加速效果。\n\t\t-不需要做任何配置,所有的回发都是Ajax(在Web.config和PageManager中有设置启用Ajax回发的属性-EnableAjax-默认为true)。\n\t\t+在这种设计下,其实可以完全抛弃Javascript。\n\t\t\t-比如简单的点击一个按钮\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口,可以在Button的OnClick事件中设置Window1.Popup=true,也可以注册Button的OnClientClick=Window1.GetShowReference()。\n\t\t\t-第一种方法需要回发,但是我们内置的Ajax支持能很快的返回需要的结果并解析,在网络速度很快的情况下和第二种方法差别不是很大。\n\t\t\t-推荐的做法是尽量用客户端实现,客户端实现复杂的直接用服务器端实现。\n\t\t+目前ExtAspNetAjax的限制。\n\t\t\t-只对ExtAspNet控件起作用,对Asp.net控件不起作用。\n\t\t\t-对容器控件(有子控件的控件)不起作用,只对最底层的控件起作用。\n\t\t\t-对改变控件的Visible属性会有错误。\n\t\t\t-Window控件的属性改变只有少数几个起作用(Popup,IFrame\u003Cem\u003EUrl\u003C\u002Fem\u003E)。\n\t-PageManager增加属性EnablePageLoading和EnableAjaxLoading(启用页面第一次加载标示和Ajax加载标示,默认都为true),所以如果使用系统默认的加载标示就不必每个页面都添加PageLoading控件。[fixed]\n\t-Grid中的回发事件(主要是LinkButtonField和CheckBoxField(RenderAsStaticField=false))要延迟0ms执行,这样当前行被选中的状态在回发后会得到保持。[fixed]\n\t-Grid选中行的状态在第一次回发时不能保持的BUG。[fixed]\n\t\n\t\n\t\n+2008-08-26 v1.0\n\t+已知问题:IE的ActiveX插件IE Developer Toolbar会对IFrame的加载造成0.5m左右的延迟。\n\t\t-主要是父页面加载一个比较大的css文件(~100k),则每次打开iframe页面,onload事件的调用都会有500ms左右的延迟,在测试IE性能时要禁用此插件。\n\t+优化\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口中IFrame的显示速度。[fixed]\n\t\t-在当前页面\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口需要~20ms,在父页面\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口需要100~300ms。通过缓存\u003Cem\u003E弹出\u003C\u002Fem\u003E的窗口实例,从而第二次\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口不再需要创建时间。\n\t-PageLayout的Region增加SplitColor属性,默认的背景色是透明的。(在网报中需要设置SplitColor=\"#CADDF7\",以便分隔符的颜色和Toolbar的颜色一致)[fixed]\n\t+PageManager增加属性Theme、Language、FormMessageTarget、FormOffsetRight等属性,这些属性可以在Web.config中设置(推荐方法),也可以为每个页面设置。[fixed]\n\t\t-一个典型的应用是为每个用户设置不同的皮肤(根据用户浏览器中Cookie设置的值)(示例在default.aspx)。\n\t-TreeNode增加属性SingleClickExpand,表示点击可切换节点的折叠展开状态。[fixed]\n\t+TabStrip中非当前Tab会延迟渲染。[fixed]\n\t\t-这会明显加快页面的渲染速度,网报中一个典型的费用审批页面可以减少200ms的渲染时间。\n\t\t-由于非当前Tab\u003Cem\u003E不会\u003C\u002Fem\u003E在页面加载时渲染,所以那些Tab中的节点在页面加载后也是不可见的,需要将相关的脚本移动到控件的render事件中。\n\t-不能比较两个DataPicker大小的BUG。[fixed]\n\t-TabStrip延迟加载引起的BUG(非当前Tab中的ContentPanel会占据页面空间,已修正)。[fixed]\n\t-全新的ExtAspNet.Examples(基础知识\u002F表单控件\u002F数据绑定\u002F容器布局\u002FIFrame框架)。[fixed]\n\t\n\t\n\t\n+2008-08-19 v0.4 beta6\n\t+PageManager增加两个属性(EnableInlineStyleJavascript\u002FApplyParentStyleJavascript),可以在IFrame页面中使用父页面的脚本和样式(示例在iframe\u002Fdefault.aspx和iframe\u002Fpage3.aspx)。[fixed]\n\t\t-测试发现,IFrame页面的加载速度并没有明显加快,可以先不使用此属性。\n\t-RadioButtonList放在在BorderLayout中显示不了的BUG [feedback:zgjiang2]。[fixed]\n\t+ext\u003Cem\u003Ejs\u003C\u002Fem\u003E的BUG,当页面中含有iframe时,Ext.onReady会被调用两次(IE6\u002FIE7)(http:\u002F\u002Fwww.ext\u003Cem\u003Ejs\u003C\u002Fem\u003E.net\u002Fforum\u002Fshowthread.php?t=43246)(示例在test.aspx)[fixed]\n\t\t-现在的解决方法是在初始化时:if(this.initialized){return;}this.initialized=true;\n\t+需要先回发页面再\u003Cem\u003E弹出\u003C\u002Fem\u003EIFrame窗口。[fixed]\n\t\t-在回发时设置窗口的Popup和IFrame\u003Cem\u003EUrl\u003C\u002Fem\u003E属性,因为这些属性是可以保持状态的,所以在关闭窗口时要注意设置Popup=false。\n\t\t-另一种做法(推荐):PageContext.RegisterStartupScript(Window99.GetShowReference(\".\u002Fsimpleform.aspx\"));。\n\t\n\t\t\n\t\n+2008-08-15 v0.4 beta5\n\t-点击关闭窗口的按钮,在IE6下会有\u003Cem\u003EJS\u003C\u002Fem\u003E错误。[fixed]\n\t-增加BorderLayout控件,示例在iframe\u002Fborderlayout.aspx。[fixed]\n\t+Radiobuttonlist显示有重影(示例在radio.aspx)。[fixed]\n\t\t-全新的样式。\n\t\t-去除Horizontal属性,增加ColumnNumber(可以设置渲染成几列)。\n\t\t-GetValueReference取得的值不正确的BUG。\n\t-动态向Form中添加FormRow,并动态的向FormRow中添加表单字段,以及如何取得表单字段的值。(示例在form_dynamic.aspx)[fixed]\n\t+IFrame\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口关闭后回发父页面,则会多加载IFrame一次,再次打开窗口会重复加载IFrame2-3次[feedback:xmzhu]。[fixed]\n\t\t-这是一个重要的BUG,会严重影响页面的加载速度。原因是通过脚本改变的IFrame\u003Cem\u003EUrl\u003C\u002Fem\u003E会在回发时保持状态,从而回发父页面后Window中的IFrame被添加到页面,而这是不需要的。\n\t\t-现在\"是否\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口、窗口标题、IFrame\u003Cem\u003EUrl\u003C\u002Fem\u003E\"在客户端的改变,\u003Cem\u003E不会\u003C\u002Fem\u003E影响服务器端的属性,也即是不保持状态。此问题解决。(示例在button_iframe.aspx)\n\t\n\t\n\t\n+2008-08-13 v0.4 beta4\n\t-点击关闭窗口的按钮,在IE下会有\u003Cem\u003EJS\u003C\u002Fem\u003E错误。[fixed]\n\t-Window的右上角关闭图标增加提示,优化事件响应。[fixed]\t\n\t-Window的\u003Cem\u003E代码\u003C\u002Fem\u003E重构。[fixed]\t\n\t+修正一个的内存泄漏。[fixed]\n\t\t-IE7下测试,打开iframe\u002Fdefault.aspx页面,iexplorer占内存68.368M。\n\t\t-内存存在泄漏时,点击iframe\u002Fpage3.aspx页面8次后iexplorer占118.792M内存。\n\t\t-修正后,点击iframe\u002Fpage3.aspx页面8次后iexplorer占76.492M内存。\n\t\t-IE窗口最小化时,IE会自动进行垃圾回收。\n\t\n\t\n\t\n+2008-08-12 v0.4 beta3\n\t-底层的javascript框架Ext\u003Cem\u003Ejs\u003C\u002Fem\u003E升级为v2.2,Grid的渲染速度有很大提升。[fixed]\n\t-Grid的EnableDelayRender默认为true(如果没有设置Grid的高度或通过布局间接设置高度,则行不可见,可以通过AutoHeight=\"true\"解决)。[fixed]\n\t+页面正在加载的提示尽早的显示出来。[fixed]\n\t\t-首先在执行\u003Cem\u003Ejs\u003C\u002Fem\u003E来完成页面渲染之前延迟5ms,以便浏览器把当前页面\u003Cem\u003E内容\u003C\u002Fem\u003E显示出来。\n\t\t-加载\u003Cem\u003Ejs\u003C\u002Fem\u003E脚本的script标签放置在页面的最后,放置加载\u003Cem\u003Ejs\u003C\u002Fem\u003E而阻塞PageLoading的显示。\n\t\n\t\n\t\n+2008-08-08 v0.4 beta2\n\t-TabStrip延时加载出错。[fixed]\n\t-Window的IFrame\u003Cem\u003EUrl\u003C\u002Fem\u003E处理的BUG,比如Pages_ExtAspNet目录下的页面应该为.\u002FFE_ApplyEditor.aspx或~\u002FPages_ExtAspNet\u002FFE_ApplyEditor.aspx。[fixed]\n\t-Window的WindowPosition=\"Center\"并且Target=\"_parent\",则会\u003Cem\u003EJS\u003C\u002Fem\u003E错误。[fixed]\n\t-实现网报首页下拉菜单和左侧菜单的导航功能。[fixed]\n\t-Window的创建在页面显示后进行,不计算在\u003Cem\u003Ejs\u003C\u002Fem\u003E渲染时间内。[fixed]\n\t-优化费用申请页面(尽量减少不必要的层次嵌套)。[fixed]\n\t-button_iframe.aspx默认会加载form.aspx页面(Window控件的BUG)。[fixed]\n\t-Window中的保存并关闭按钮和Asp.netAjax冲突。[fixed]\n\t-优化关闭Window的\u003Cem\u003Ejs\u003C\u002Fem\u003E脚本,减少写到页面的\u003Cem\u003Ejs\u003C\u002Fem\u003E大小。[fixed]\n\t-加快“保存并关闭”按钮关闭窗口的速度,使用PageContext.RegisterExclusiveScript(CurrentActiveWindow.GetClosePostBackReference());,示例在(simpleform.aspx)。[fixed]\n\t\n\t\n\t\n+2008-08-05 v0.4 beta1\n\t-DropDownList去除Traditional属性,和传统的Asp.net控件一样不可编辑。[fixed]\n\t-DropDownList增加SelectedText属性(去除了模拟树时通过SelectedItem.Text的多余html字符)。[fixed]\n\t-为了加快渲染速度,去掉一些特效(比如Panel的折叠效果,Grid的拖动列效果等)[feedback:dcding]。[fixed]\n\t-将生成的\u003Cem\u003Ejs\u003C\u002Fem\u003E对象的名称简单化,这样可以减少生成的\u003Cem\u003Ejs\u003C\u002Fem\u003E\u003Cem\u003E内容\u003C\u002Fem\u003E,加快页面加载速度(一个典型页面的\u003Cem\u003Ejs\u003C\u002Fem\u003E由原来的33.0k降低为21.4k)。[fixed]\n\t+\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口中,点击按钮回发然后点击关闭按钮,出现\u003Cem\u003Ejs\u003C\u002Fem\u003E错误 [feedback:xmzhu]。[fixed]\n\t\t-因为在页面的Page_Load中,if (!IsPostBack){PageContext.RegisterPageStateChangedStartupScript();}通过这样方法向页面注册了一段脚本,但是这段脚本在回发时没有注册到页面,因为\u003Cem\u003Ejs\u003C\u002Fem\u003E调用此脚本时报错。\n\t\t-一种解决方法是将向页面注册脚本的函数移动到if语句的外面,即每次都向页面注册此脚本。\n\t\t-另一种办法就是在PageManager控件中增加RegisterPageStateChangedScript(向页面注册监视页面中表单\u003Cem\u003E内容\u003C\u002Fem\u003E改变的脚本)的属性(会在每次页面回发(包含ajax回发)时注册脚本)(示例在button_iframe.aspx\u002Fsimpleform.aspx)。\n\t+PageManager控件增加ExecuteOnReadyWhenPostBack属性(示例在onreadyscript.aspx)。[fixed]\n\t\t-这个手工添加onReady函数能够在每次页面回发时都注册脚本(包括Ajax局部回发),这就避免了手工去做的麻烦(已经在网报中遇到这种情况)。\n\t-每个页面必须添加一个PageManager控件,否则会出错,同时去除DesignTimeStyle控件(作为PageManager的属性出现)。[fixed]\n\t-TextField等表单字段增加Readonly属性。[fixed]\n\t+全新设计的IFrame的架构(尽可能和基于MasterPage的架构保持兼容,和Asp.net Ajax保持兼容)。[fixed]\n\t\t-最大的好处是可以减少页面下载完毕后Javascript渲染时间(可以节约一般的渲染时间)。(所有示例在iframe文件夹下)\n\t\t+示例1,通过点击按钮\u003Cem\u003E弹出\u003C\u002Fem\u003EIFrame窗口,可直接关闭父页面,也可在关闭后刷新或回发父页面。(default.aspx\u002Fpage2.aspx\u002Fsimpleform.aspx)\n\t\t\t-虽然IFrame和Master两种架构差异迥然,或许你以为需要修改一堆\u003Cem\u003E代码\u003C\u002Fem\u003E来完成这种转换,起初我也是这么认为的,但是现在你所要做的仅仅是为Window控件增加一个属性(Target=\"_parent\"),就完成了两种框架的转换,是不是很酷。\n\t\t\t-显然,控件本身封装了大量的\u003Cem\u003E代码\u003C\u002Fem\u003E,简单来看现在有三个页面(default.aspx(A)\u002Fpage2.aspx(B)\u002Fsimpleform.aspx(C)),其中A包含B页面,当你在B中打开包含有页面C的窗口时,窗口不是在B中打开,而是在A中打开,这样才能保证窗口覆盖整个页面,当你从C中返回需要回发页面B时,却发现取得的是A页面,因为我们窗口是在A页面中创建的。我会通过一篇文章来揭示这一过程,敬请期待。\n\t\t-示例2,Grid中\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口。(default.aspx\u002Fpage3.aspx\u002Fsimpleform.aspx)\t\n\t\t+示例3,TriggerBox\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口。(default.aspx\u002Ftriggerbox.aspx\u002Fsimpleform.aspx)\t\n\t\t\t-在整个页面\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口或者在当前页面\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口,仅仅设置Window的Target属性即可。\n\t\t-示例4,\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口中的\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口。\n\t-对整个Examples更新测试。[fixed]\n\t\n\t\n\t\n+2008-07-31 v0.3 beta12\n\t-IE下TabStrip在Ajax回发后\u003Cem\u003E不会\u003C\u002Fem\u003E去掉x-hide-display样式,导致Tab显示为空的BUG。[fixed]\n\t-对TabStrip\u002FPanel\u002FWindow中的IFrame重新设计,如果设置IFrame\u003Cem\u003EUrl\u003C\u002Fem\u003E=\"#\"或者\"about:blank\",则不渲染iframe到页面节点,同时第二次打开Window中的IFrame\u003Cem\u003E不会\u003C\u002Fem\u003E有残影出现。[fixed]\n\t-如果TabStrip的Tab不是激活Tab并且设置了IFrame\u003Cem\u003EUrl\u003C\u002Fem\u003E,则会延迟加载(示例在tabstrip_iframe.aspx)。[fixed]\n\t-Tree控件,点击一个节点自动回发,则当前点击的那个节点的选中状态\u003Cem\u003E不会\u003C\u002Fem\u003E保持的BUG [feedback:zgjiang2]。[fixed]\n\t+规范关闭窗口时提示用户保存已经修改的\u003Cem\u003E内容\u003C\u002Fem\u003E提示的调用方式(包含iframe中关闭按钮和window右上角关闭图标的调用方式)(示例在grid_iframe.aspx\u002Fsimpleform.aspx)。[fixed]\n\t\t-内部实现上,点击“保存并关闭按钮”,可以将关闭窗口的脚本更早的执行(在simpleform.aspx,PageContext.RegisterStartupScript增加重载函数),而不是原来的先创建整个页面UI,再关闭窗口。\n\t-参照Yslow的评分规则,将\u003Cem\u003EJS\u003C\u002Fem\u003E文件引用由head移动到body中。[fixed]\n\t-Firefox下,如果页面太长会出滚动条,原来在ViewPort样式中有body{overflow:hidden;}。[fixed]\n\t+IFrame内的页面宽度和高度会自动设置(是不是还在为1px\u002F2px的白边而烦恼,现在不用了:-)(示例在iframe_autosize.aspx\u002Fsimpleform.aspx\u002Fsimpleform2.aspx)[fixed]\n\t\t-增加PageManager控件(需要指定AutoSizePanelID,即需要设置宽度和高度为整个页面的宽度和高度的Panel),HideScrollbar属性用于隐藏滚动条(IE\u002FFirefox)。\n\t\n\t\n\t\n+2008-07-24 v0.3 beta11\n\t-web.config配置信息中MessageTarget改名为FormMessageTarget,增加FormOffsetRight配置项,用来定义全局表单字段距离右边界的宽度,同时每个表单字段都增加OffsetRight属性 [feedback:jima]。[fixed]\n\t-Window在回发时设置的Title不起作用的BUG。[fixed]\n\t-增加Image控件 [feedback:jima]。[fixed]\n\t-Tree控件,如果一个节点不是叶子节点并且没有子节点,则应把它的Expanded设置为false,否则会引起页面死循环回发 [feedback:zgjiang2]。[fixed]\n\t-Image增加ToolTipTitle\u002FToolTipAutoHide两个属性,当提示信息特别长时,可以让用户阅读完毕之后手工关闭提示信息(示例在hyperlink.aspx)。[fixed]\n\t-去掉DropDownList控件的Text属性(强制性),可以通过设置SelectedValue来设置选中哪一项 [feedback:xmzhu]。[fixed]\n\t-过滤提示消息中的换行符(转换为),否则提示信息可能导致页面渲染错误 [feedback:dcding]。[fixed]\n\t\n\t\n\t\n+2008-07-23 v0.3 beta10\n\t+完善Tree控件。[fixed]\n\t\t-如何将数据库中的数据绑定到Tree(示例在tree2_bind_database.aspx)。\n\t\t-ajax加载树节点,放在UpdatePanel中才有ajax的效果(示例在tree2_ajax.aspx)。\n\t\t-更改TreeNode的ID为NodeId,否则两个树中不能有相同ID的TreeNode,这是不合理的。\n\t-Grid的GridColumn的ID改名成ColumnId,否则同一个页面放置两个Grid,它们的GridColumn的ID不能同名,这是不合理的。注意需要更新以前的\u003Cem\u003E代码\u003C\u002Fem\u003E![fixed]\n\t-Grid所有类型的列增加DataTooltipField\u002FDataTooltipFormatString两个字段,以显示ToolTip(示例在grid.aspx)。[fixed]\n\t\n\t\n\t\n+2008-07-22 v0.3 beta9\n\t+IE6下,左侧导航链接的选中样式,以及鼠标移上去和移开的样式不对。[fixed]\n\t\t-发现原来ie6不能正确解析li的高度,必须手工设置才行(style=\"height:20px;\")。\n\t+IE6\u002FIE7下,模拟树的下拉列表如果文字长度太长,则显示的文字会换行,导致错位。[fixed]\n\t\t-虽然最后未能解决##差旅交通费在IE和Firefox下显示的不同效果。\n\t\t-但是通过用来代替,从而实现FF和IE下样式的统一。\n\t\t-刚看到old9的解决方案:把“差旅交通费”改成“差旅交通费”,在IE下和FF下的都不换行,:-)\n\t-LinkButton增加OnClick事件 [feedback:huihuang]。[fixed]\n\t-Window通过设置IFrame\u003Cem\u003EUrl\u003C\u002Fem\u003E和Popup不起作用的BUG。[feedback:xmzhu]。[fixed]\n\t+增加树控件(Tree)(示例在tree2.aspx)。[fixed]\n\t\t-可以在回发时维持树的状态(选中行,折叠\u002F展开,CheckBox)。\n\t\t-可以通过Inline的方式添加树节点,也可以绑定到XmlDocument\u002FXmlDataSource\u002FSiteMap。\n\t\t-点击树节点可以链接到页面,也可以引发PostBack事件,可以添加自定义脚本。\n\t\n\t\n\t\n+2008-07-16 v0.3 beta8\n\t+ContentPanel中放置ExtAspNet控件,则渲染时会出现各种问题,比如下拉列表显示样式出错,Grid没了滚动条等等。[fixed]\n\t\t-隐蔽性非常强,原来在ContentPanel中渲染ExtAspNet控件,如果容器的display='none',则会出现各种问题(主要是大小不对)。\n\t\t 必须设置容器为visibility='hidden',然后在渲染完成后显示容器。\n\t\t-现在Grid只要显示的设置高度和宽度,或者隐式的设定宽度高度(通过Anchor或Fit布局实现),只要超过Grid容器就会显示滚动条。\n\t+IE6下,在应用Asp.NetAjax后,Form中字段的宽度渲染不正确。[fixed]\n\t\t-调试相当困难,如果你有过在IE下通过alert发现问题的经历,你就能明白。\n\t\t-最后发现IE6下应用Asp.NetAjax后不仅Form中列的宽度设置不正确,而且主\u003Cem\u003E内容\u003C\u002Fem\u003E区域的宽度设置也不正确,不过最终我们还是顽强的修复了IE6下的这个BUG:\n\t\t 在MasterPage的onReady函数中,首先修正\u003Cem\u003E内容\u003C\u002Fem\u003E区域的宽度(region3.setWidth(pageLayout1.getSize().width - region2.getSize().width - 5);region3.doLayout();),然后修正页面中所有表单的宽度(box_fixFormWidthInIE6();):\n\t\t 示例在 Site.Master 页面。\n\t+集成的AspNetAjax有一个很大的BUG,只要你在页面上进行过ajax操作,当改变窗口大小时你会惊讶的发现\u003Cem\u003E内容\u003C\u002Fem\u003E区域的\u003Cem\u003E内容\u003C\u002Fem\u003E全部为空了![fixed]\n\t\t-解决方法相当怪异,经过一个下午的不断尝试,终于用一个怪异的方法解决(box.{0}.setSize(box.{0}.getSize());box.{0}.doLayout();),\n\t\t 这样的\u003Cem\u003E代码\u003C\u002Fem\u003E让我想起刷新窗口时那个方法(window.location.href=window.location.href;),不管怎么说,我对能很好的解决这个重大的BUG很是欣喜。\n\t\n\t\n\t\n+2008-07-14 v0.3 beta6\n\t-增加FlashObject控件。[fixed]\n\t-PageLoading增加EnableFadeOut属性(默认false),可以启用淡出效果。[fixed]\n\t-Accordion选中样式微调。[fixed]\n\t-预加载Form表单出错时提示信息的背景图片。[fixed]\n\t+Grid增加EnableDelayRender属性(默认false),可以加快页面的渲染速度(一个典型的20个记录的页面,可提前0.7s-1s显示出来)。[fixed]\n\t\t-因为延迟加载数据\u003Cem\u003E不会\u003C\u002Fem\u003E改变Grid的大小,所以对于非布局内或不设定高度宽度的Grid,需要设置\"EnableDelayRender=false\"。\n\t-改变Grid中静态的CheckBoxField图片。[fixed]\n\t-TabStrip增加TabIndexChanged事件,同时Tab增加EnablePostBack,可以在点击一个Tab时引起回发事件。这在延迟加载Tab的\u003Cem\u003E内容\u003C\u002Fem\u003E非常有用。(示例在tabstrip.aspx)[fixed]\n\t\n\t\n\t\n+2008-07-12 v0.3 beta5\n\t-页面菜单Toolbar的分割符和背景不相融合。[fixed]\n\t-表单字段之间可以比较大小,比如NumberBox可以和Label比较大小,同时增加CompareType,来指定比较的类型(示例在form_compare.aspx)。[fixed]\n\t\t-如果是同种类型的表单字段,不需要指定CompareType,比如两个NumberBox比较值的大小不需要指定CompareType,而一个NumberBox和TextBox比较大小需要指定CompareType。\n\t+如果在编辑页面使用AspNetAjax,则不能在回发时关闭当前窗口[feedback:huihuang](示例在ajax_editor_main.aspx\u002Fajax_editor.aspx)。[fixed]\n\t\t-这是由于ajax后执行的javascript中不能有return false语句。\n\t+在文本框失去焦点时,执行一些Javascript脚本(示例在textbox_blur.aspx) [feedback:xmzhu]。[fixed]\n\t\t-在页面添加onReady函数(会被系统调用),然后用javascript监视文本框值的改变。\n\t-\u003Cem\u003E弹出\u003C\u002Fem\u003EWindow默认显示的错误页面,解决方法在当前目录添加一个空的html页面,然后把Window控件的IFrame\u003Cem\u003EUrl\u003C\u002Fem\u003E指向这个页面而不是\"#\"。[fixed]\n\t+\u003Cem\u003E弹出\u003C\u002Fem\u003E的窗口中的\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口的如果\u003Cem\u003E内容\u003C\u002Fem\u003E发生变化,则点击右上角的关闭按钮时会有提示用户先保存的\u003Cem\u003E对话框\u003C\u002Fem\u003E,但是这个\u003Cem\u003E对话框\u003C\u002Fem\u003E的被第二个\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口覆盖了 [feedback:xmzhu]。[fixed]\n\t\t-原来的调用方法太麻烦(见示例中alert\\alert_1.aspx和alert\\alert_2.aspx,总计 6 行\u003Cem\u003E代码\u003C\u002Fem\u003E),现在只需要 3 行\u003Cem\u003E代码\u003C\u002Fem\u003E就OK了。\n\t-点击提交按钮后变成灰色不可再次点击(示例在button_click_gray.aspx)[feedback:jima]。[fixed]\n\t+增加Menu、MenuText、MenuSeparator、MenuButton、MenuHyperLink控件,用于按钮的下拉菜单(示例在button_menu.aspx)。[fixed]\n\t-增加SplitButton控件。[fixed]\n\t\n\t\n\t\n+2008-07-09 v0.3 beta4\n\t-DataPicker默认的日期格式为(yyyy-MM-dd)。[fixed]\n\t+Form表单字段(TextBox,DropDownList...)之间可以比较大小 [feedback:huihuang]。[fixed]\n\t\t-增加ControlToCompare\u002FValueToCompare\u002FCompareOperator\u002FCompareMessage四个属性,示例在form_compare.aspx。\n\t+TabStrip中放置IFrame会出现渲染错误 (示例在tabstrip_iframe.aspx)[feedback:jima]。[fixed]\n\t\t-特殊处理,拥有IFrame的Tab如果不是激活Tab,则不设置\u003Cem\u003EUrl\u003C\u002Fem\u003E,只有在激活时才设置\u003Cem\u003EUrl\u003C\u002Fem\u003E。\n\t-RadioButtonList增加AutoPostBack属性(示例在radio.aspx) [feedback:xmzhu]。[fixed]\n\t-FormRow可以设置各列的宽度百分比 (示例在form_columnwidths.aspx)[feedback:jima]。[fixed]\n\t+表单字段Enable=false时显示颜色太浅 [feedback:jima]。[fixed]\n\t\t-覆盖缺省样式的.x-item-disabled,设置不透明。\n\t\n\t\n\t\n+2008-07-08 v0.3 beta3\n\t-Grid没有数据,向后翻页按钮可以点击的BUG [feedback:huihuang]。[fixed]\n\t+增加HiddenField控件。[fixed]\n\t\t-其实用TextBox也能模拟HiddenField的行为,只需要设置CssStyle=\"display:none;\"即可。\n\t+TriggerBox 如果 EnableTextBox = true,则不能将Text回发(这是html的限制)。[fixed]\n\t\t-最后的解决方案居然是设置 readonly=true,同时更改属性为 Readonly(示例在textbox2.aspx)。\n\t-模拟树的下拉列表在失去焦点后显示的文字不对的BUG。[fixed]\n\t+控制下拉列表某些项不可以选择(示例在dropdownlist2.aspx)。[fixed]\n\t\t-增加 DataEnableSelectField 属性,不可选择的项变灰,并且鼠标经过时没有样式。\n\t-LinkButton和Grid的LinkButtonField增加Enable属性(示例在hyperlink.aspx和grid.aspx)。[fixed]\n\t\n\t\n\t\n+2008-07-07 v0.3 beta2\n\t+增加UpdatePanelConnector控件,支持在布局构建的页面使用Asp.net Ajax。[fixed]\n\t\t-使用UpdatePanelConnector有一个要\u003Cem\u003E求\u003C\u002Fem\u003E:ContentTemplate下只能有一个子节点,比如box:Panel。\n\t\t-示例在ajax3.aspx\u002Fcontent_page4.aspx。\n\t\t-示例content_page3.aspx中,点击“Ajax查询”按钮和关闭\u003Cem\u003E弹出\u003C\u002Fem\u003E的窗口(点击右上角的叉)都引发异步更新。\n\t \n\t \n\t\n+2008-07-03 v0.3 beta1\n\t+容器控件的AutoHeight\u002FAutoWidth默认为false。[fixed]\n\t\t-使用GroupPanel的地方需要手工添加AutoHeight=\"true\"属性。\n\t+增加UserControlConnector,可以在其中放置用户控件(示例在page_usercontrol.aspx)。[fixed]\n\t\t-也可以在ContentPanel中放置用户控件,注意两者的区别。\n\t+增加ContentPlaceHolderConnector,替换原来Region的ContentPlaceHolderId属性(示例在Site.master)。[fixed]\n\t+支持Asp.net ajax异步加载。[fixed]\n\t\t-有很大局限性,只能在ContentPanel中使用,示例在ajax1.aspx\u002Fcontent_ajax2.aspx中。\n\t\t-对于使用布局构建的页面(比如content_page1.aspx)还不能使用Asp.net ajax,因为页面是整体渲染的,先放弃。\n\t\n\t\n\t\n+2008-07-02 v0.2 beta12\n\t+关闭前提示当前页面已经被修改(示例在content_page1.aspx\u002Fsimpleform.aspx)[fixed]\n\t\t-支持Iframe内按钮和window右上角关闭按钮。\n\t\t-删除CloseAction属性,可以在后台通过OnClientCloseButtonClick属性指定(为了和iframe中做法一致)。\n\t+iframe中的alert\u002Fconfirm要覆盖整个父页面,而不仅仅是iframe页面。[fixed]\n\t\t-在Firefox下还有问题。[fix pending]\n\t+排序时在标题栏显示排序箭头,可以排序的列标题光标为手形(示例在grid_sorting.aspx)。[fixed]\n\t\t-可以通过设置Grid1.CurrentSortColumnIndex = 0;来强制某列显示排序箭头。\n\t\t-可以通过 Grid1.Columns[Grid1.CurrentSortColumnIndex].SortExpression 的方式取得当前Grid的排序表达式。\n\t+HyperLinkField\u002FWindowField的链接地址支持服务器端格式(即是~\u002Falert.aspx)。[fixed]\n\t-TabStrip的Tab中如果放置ContentPanel,则\u003Cem\u003E内容\u003C\u002Fem\u003E渲染位置不正确。[fixed]\n\t-可以在ContentPanel中放置用户控件(示例在page_usercontrol.aspx)。[fixed]\n\t\t\n\t\n\t\n+2008-06-30 v0.2 beta11\n\t-增加TwinTriggerBox控件(示例在twintriggerbox.aspx)。[fixed]\n\t-Grid的数据库分页需要增加属性IsDatabasePaging=true,以便普通分页和数据库分页,否则在添加删除记录时总记录数\u003Cem\u003E不会\u003C\u002Fem\u003E变化 [feedback:zgjiang2]。[fixed]\n\t-关闭Window时PostBack事件OnClose可以指定参数,来区分是哪些操作引发的PostBack事件 [feedback:zgjiang2](示例在window_postback.aspx)。[fixed]\n\t-如果表单验证不通过,则需要\u003Cem\u003E弹出\u003C\u002Fem\u003E\u003Cem\u003E对话框\u003C\u002Fem\u003E提示(第一个没通过验证的字段)(目前还不能切换到相应的tab)。[fixed]\n\t+页面中任意可输入表单字段发生变化,可提示先保存。(示例在content_page1.aspx\u002Fsimpleform.aspx)[fixed]\n\t\t-目前还不支持Window右上角关闭按钮的提示保存功能。\n\t-Master\u002FContent的\u003Cem\u003E内容\u003C\u002Fem\u003E页中Grid的Sort事件不起作用的BUG [feedback:zgjiang2]。[fixed]\n\t-Grid中的LinkButtonField设置ConfirmText会出错 [feedback:huihuang]。[fixed]\n\t-增加静态类Confirm。[fixed]\n\t\n\t\n\t\n+2008-06-27 v0.2 beta10\n\t+Grid完善。[fixed]\n\t\t-CheckBoxField在回发时不能保持状态的BUG (已经更新了grid_checkboxfield.aspx示例)。\n\t\t-Grid中模拟树显示,GridColumn增加DataSimulateTreeLevelField属性(一个Grid只能有一个Column指定此属性),指定此列模拟树显示时的层次字段(0,1,2,...)(示例在grid_simulate_tree.aspx)。\n\t\t-切换分页时清空选中的值 [feedback:jqpeng]。\n\t\t-增加PreRowDataBound事件,可以在数据绑定之前设置某列的属性 [feedback:xmzhu] (示例在grid_prerowdatabound.aspx)。\n\t-DropDownList模拟树的方式显示,增加DataSimulateTreeLevelField属性,使用方法和Grid的类似(示例在dropdownlist_simulate_tree.aspx)。\n\t\n\t\n\t\n+2008-06-25 v0.2 beta9\n\t+Window窗体中的","createTime":"2010-09-29 14:37:08","dataReportQuery":"spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-2-2726130-bbs-391813052.264^v3^pc_relevant_bbs_down_v2_default&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-2-2726130-bbs-391813052.264^v3^pc_relevant_bbs_down_v2_default","dataReportClick":"{\"mod\":\"popu_645\",\"index\":\"2\",\"dest\":\"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fwode2600\u002F2726130\",\"strategy\":\"2~default~OPENSEARCH~Rate\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-2-2726130-bbs-391813052.264^v3^pc_relevant_bbs_down_v2_default\\\",\\\"dist_request_id\\\":\\\"1772778361179_74962\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","dataReportView":"{\"mod\":\"popu_645\",\"index\":\"2\",\"dest\":\"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fwode2600\u002F2726130\",\"strategy\":\"2~default~OPENSEARCH~Rate\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-2-2726130-bbs-391813052.264^v3^pc_relevant_bbs_down_v2_default\\\",\\\"dist_request_id\\\":\\\"1772778361179_74962\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","type":"download"},{"url":"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fqq598888903\u002F8521685","title":"精易模块[源码] V5.15","desc":"精易模块 V5.15 what’s new:(2015XXXX)\n1、新增“线程_枚举”枚举指定进程ID中所有线程列表,成功返回线程数量,失败返回零。\n2、删除“文件_取图标”与\"文件_取图标句柄\"功能重复。\n3、优化“系统_创建桌面快捷方式”流程\u003Cem\u003E代码\u003C\u002Fem\u003E,感谢易友[ds9660]反馈。\n4、修正“IP_10进制转IP”与“IP_16进制转IP”命令反向的问题,感谢易友[@humanbean ]反馈。\n5、改善“网页_访问”死循环\u003Cem\u003E代码\u003C\u002Fem\u003E,感谢易友[@67564226]反馈。\n6、优化“文本_取随机数字”精简\u003Cem\u003E代码\u003C\u002Fem\u003E,提高执行效率,感谢易友[ds9660]反馈。\n7、修正“普通填表-\u003E链接_点击”无法在本窗口中打开的BUG,感谢易友[@zhuan888]反馈。\n8、修正“时间_时间戳转文本”\u003Cem\u003E代码\u003C\u002Fem\u003E不严谨出现数组错误的BUG,感谢易友[455275321]反馈。\nMD5:3E66BFA15806DEAFBCF11806EB99CC11\n\n精易模块 V5.13 what’s new:(20150202)\n1、修正“编码_ansi到usc2”当末尾出现10或13字符时出错的BUG,感谢易友【@rmcs】反馈。\n2、改名“文件_搜索1”改为“文件_搜索_深度”并修正备注及深度问题,感谢易友【@小爬虫】反馈。\n3、改善“时间_取现行时间戳”优化\u003Cem\u003E代码\u003C\u002Fem\u003E,提高执行效率,感谢易友【@小爬虫】反馈。\n4、改善“文本_逐字分割”改善个别字符分割错误的情况,\u003Cem\u003E代码\u003C\u002Fem\u003E由易友【@百弊若愚】\u003Cem\u003E提供\u003C\u002Fem\u003E。\n5、改善“窗口_激活,窗口_置控件焦点,窗口_是否在最顶端”有时失败的问题,由易友【@wjt741106】\u003Cem\u003E提供\u003C\u002Fem\u003E\u003Cem\u003E代码\u003C\u002Fem\u003E。\n6、新建“外部组合框_关闭列表”关闭已经\u003Cem\u003E弹出\u003C\u002Fem\u003E的下拉列表。\n7、修正“文件_下载”不能下载的BUG,感谢易友【@新手来学易】反馈。\n8、删除“文本_到小写m”删除该汇编命令,出现不兼容。\n9、修正“系统_取MAC地址”未初始化COM不支持线程的BUG,感谢易友【@ds9660】反馈。\n10、改善“文本_粘贴”参数可空也处理的问题,感谢易友【@ds9660】反馈。\n11、新增“调用COM方法”COM编程,动态调用COM方法。\n12、新增“时间_WMI时间转日期”把WMI数据时间转换成日期时间型,如“20140926001639.000000+480”。\n13、修正“类_系统信息”重写该类,在部分系统下不兼容及闪退问题,感谢易友【@longfeng0008】反馈。\n14、改善“程序_禁止重复运行”当标识为空时,默认为自身路径,\u003Cem\u003E代码\u003C\u002Fem\u003E由易友【@wjt741106】\u003Cem\u003E提供\u003C\u002Fem\u003E。\n15、改善“普通填表类-就绪判断_源码关键字”添加区分大小写参数。\nMD5: 3C01272B9E2DAFDEF08D20C191E3C265\n\n精易模块 V5.12 what’s new:(20150108)\n1、删除“IP_取外网IP”与 网页_取外网IP()功能重复命令,感谢易友【67564226】反馈。\n2、修正“正则元字符转义”子程序,对应个别替换符错误的BUG,感谢易友【@墨雨千寻】反馈。\n3、改善“进程_枚举”处理效率,由易友【@御风软件】\u003Cem\u003E提供\u003C\u002Fem\u003E方案。\n4、新增“窗口_是否被遮挡”,判断一个窗口是否被置顶窗口遮挡,\u003Cem\u003E代码\u003C\u002Fem\u003E由易友【@shituo】\u003Cem\u003E提供\u003C\u002Fem\u003E。\n5、改善“汇编类-\u003E置入汇编\u003Cem\u003E代码\u003C\u002Fem\u003E”增添一个参数是否保留以前\u003Cem\u003E代码\u003C\u002Fem\u003E。感谢易友【@无名侠】反馈。\n6、修正“文本_加密”返回文本传递给“文本_解密”后长度不正确BUG,改为返回字节集。\n7、改善“外部编辑框_取密码框文本”当不是密码输入属性时不做任何处理,感谢易友【@wjt741106】反馈。\n8、恢复“文本_加密”与“文本_解密”,把新版加解密改名为\"文本_加密c\"与“文本_解密c”。\nMD5:5831C531ABD80ADD0EFE10172AEED71F\n\n精易模块 V5.11 what’s new:(20150101)\n1、修复“文本_取中间_批量”获取大数据崩溃的BUG,改为循环方式获取,大数据不建议用此命令(吃CPU)。\n2、添加“文本_朗读”是否使用百度语音引擎参数,为空时默认使用微软语音引擎。\n3、改善“文本_加密”与“文本_解密”去除原来算法,改用微软基础加解密API。\n4、修复“网页_打印”,无效的BUG,感谢易友【@nameyypx】反馈。\n5、修复“时间_取身份证判断”出现17位身份证的BUG,感谢易友【@\u003Cem\u003E求\u003C\u002Fem\u003E其改个名】反馈。\n6、新增“类_托盘”类模块,源码来自彗星托盘图标模块,感谢源作者。【带实例】。\nMD5:F4ECA009078166001A6577C1E502D7E6\n\n精易模块 V5.01 what’s new:(20141201)\n1、新增“网页_取网络文件名”获取无后缀的下载地址文件名,感谢易友【@灵魂出窍808】反馈。\n2、新增“网页_是否为网页”判断地址是否为\u003Cem\u003EURL\u003C\u002Fem\u003E路径。\n3、删除“窗口_取进程路径”命令,与窗口_句柄取进程路径() 功能相同。\n4、删除“线程_强制结束”命令,与 线程_销毁() 功能相同。\n5、修改“窗口_热键注册”参数备注错误,感谢易友【灵魂出窍808】反馈。\n6、优化“时间_取中国星期几”命令,感谢易友【灵魂出窍808】提议。\n7、新增“网页_取网络文件尺寸”获取网络文件尺寸,失败返回零。\n8、新增“数组_取次数”,取指定数组成员出现相同数量,源码由易友【C盘是头猪】\u003Cem\u003E提供\u003C\u002Fem\u003E。\n9、修正“进程_ID取进程名”在64位系统不能获取名称的BUG,感谢易友【慕寒夜】反馈。\n10、新增“进程_取线程数”通过进程ID或进程名获取指定进程线程数。\nMD5:89AECEA5D0E513E7D586EA8396AD17CC\n\n精易模块 V5.0 what’s new:(20141121)\n1、修正“类_通用\u003Cem\u003E对话框\u003C\u002Fem\u003E”会改变当前目录的BUG。感谢易友【scqandcy】反馈。\n2、修正“进制_十到十六”不支持长整数的BUG。\n3、恢复3.75版的“时间_格林威治转北京”命令,设置参数可将13位时间戳转换成北京时间。\n4、改善“类_通用\u003Cem\u003E对话框\u003C\u002Fem\u003E”打开与保存\u003Cem\u003E对话框\u003C\u002Fem\u003E拥有易全部属性,感谢易友【詠不言敗】提议。\n5、新增“类_通用\u003Cem\u003E对话框\u003C\u002Fem\u003E-\u003E选择字体”成功返回字体相关信息,调用格式如; 编辑框.字体=选择字体()\n6、修复“网页_创建快捷方式”在win7以上系统不能自定义图标的BUG,感谢易友【蓝风】反馈。\n7、修复“进制_十六到十”不支持长整数的BUG。\n8、新增“类_时钟”,类似易语言自带时钟控件,可设置时钟周期。\nMD5:E31C357200B0CA8994D373FD7298CE95\n\n精易模块 V3.88 what’s new:(20141101)\n1、为“网页_访问”和“网页_访问_对象”增加了HEAD方法。\n2、修正“目录_复制”在线程未初始化,导致对象不能创建的问题,感谢易友【@pp25729391】反馈。\n3、修正“类_环境存取-\u003E读环境变量”不能读取当前进程环境变量的BUG,感谢易友【@詠不言敗】反馈。\n4、修正“文本_逐字分割”返回数组不清除会保留上次\u003Cem\u003E内容\u003C\u002Fem\u003E的问题,感谢易友【@JadeジYu】反馈。\n5、新增“文本_是否为双字节字符”与OPenGL支持库-\u003E文字轮廓 中的 是否为双字节字符功能相同。\n6、新增“文本_是否为字母”,判断指定文本是否为字母。\n7、新增“目录_取桌面目录”获取当前系统桌面目录。\nMD5:6592799FF42CE9AFDF122C47642C9DEE\n\n精易模块 V3.87 what’s new:(20141021)\n1、新增“效验_取md5_进度”,进度获取文件MD5值,支持大文件,采纳易友【@易模块】建议。\n2、改善“程序_禁止重复运行”添加是否显示已运行的参数,此命令由易友【@小爬虫】改进。\n3、修正“网页_取网址引用”不支持Https和mms地址协议问题,感谢易友【@小爬虫】反馈。\n4、修正“文件_改扩展名”当后缀名错误情况下会删除原文件的BUG。\n5、新增“进程_取同名ID”取相同进程ID,成功返回相同进程ID数量,失败返回-1。\n6、修正“键盘_单击”当参数2为空时,按下未放开的问题,感谢易友【seadty】反馈。\n7、删除“文件_取扩展名1”命令。\n8、修正“编码_Utf8到Unicode”频繁操作导致内存泄漏的BUG,感谢易友【◆野蛮vE儿】反馈。\n9、修正“目录_是否存在”,当存在无反缀文件时返回真的BUG,感谢易友【@飞灵】反馈。\n10、新增“系统_信息框Ex”定时信息框,超时后自动销毁。\n效验MD5:A8EA46EB0FA7395F9355E37286B32742\n\n精易模块 V3.86 what’s new:(20141001)\n1、修正“进程_名取句柄”部分机器返回零的BUG。感谢易友【liu307921917】反馈。\n2、修改“注册表操作Ex”中的写入函数,现在支持:#REG_SZ;#REG_EXPAND_SZ;#REG_MULTI_SZ;#REG_BINARY#REG_DWORD;#REG_DWORD_BIG_ENDIAN;#REG_QWORD类型的写入。\n将原来的函数分割为:“写入键值Ex_数值”和“写入键值Ex_文本”。\n3、修正“注册表操作Ex”不支持“#HKEY_CURRENT_USER”的BUG,感谢易友【pp25729391】反馈并帮助测试。\n4、新增“注册表操作Ex-\u003E写QWORD_64值”写入64位长整数值,成功返回真,失败返回假.源码由@pp25729391\u003Cem\u003E提供\u003C\u002Fem\u003E。\n5、修正“类_APIHOOK-\u003E取地址”当安装时不填后缀,而取地址填写后无法获取已安装地址BUG,感谢易友【@ChongZi】反馈。\n6、修正“窗口_枚举所有子窗口”当过滤类名输入空符号或一段空文本后无法枚举的BUG,感谢易友【vibu】反馈.\n7、改名“编码_Ansi到十进制_文本”源作者重新改名为“编码_Ansi到ASCII_文本型”。\n8、字节集_还原,新版算法问题,已恢复老版本命令。\n9、新增“窗口_限制尺寸”,限制窗口缩放最小尺寸与最大尺寸,超出则无法缩放。采纳易友【@kisl7979】建议。\n10、新增“窗口_取消尺寸限制”,取消窗口尺寸限制。\n效验MD5:51A332F5AB071957FEF39209FD240CB6\n\n\n精易模块 V3.85 what’s new:(20140916)\n1、改善“文件_取文件名”与“目录_取尾部目录名或文件名”取出路后带斜杠问题,感谢论坛易友【雷雷】反馈。\n2、改善“文本_取行数”载入大数据程序处理效率问题,感谢某位易友反馈。\n3、新增“编码_Ansi到十进制_文本型”此\u003Cem\u003E代码\u003C\u002Fem\u003E由易友【菜虫】\u003Cem\u003E提供\u003C\u002Fem\u003E,将Ansi码转换为十进制,如:将“精易论坛”转换后将返回格式如:“뺫틗싛첳”。\n4、新增“目录_取运行目录”取当前被执行的易程序文件所处的目录。同易支持库功能一样。\n5、新增“取对象指针”取对象指针。相当于特殊功能支持库-\u003E取变量数据地址。\n6、新增“取变体型指针”取对象指针。相当于特殊功能支持库-\u003E取变量数据地址。\n7、新增“取整数型指针”取整数指针。相当于特殊功能支持库-\u003E取变量数据地址。\n8、新增“类_环境存取”类模块,可以新建、编辑、删除当前用户或系统环境变量,无需重启立刻生效。\n\n精易模块 V3.83 what’s new:(20140901)\n1、改善“网页_访问”、“网页_访问_对象”命令,添加默认协议头“Referer”\n2、修复校正API正确申明后,“类_内存”不能使用的BUG。\n3、改善“普通填表-\u003E单选框_取状态”参数2加入可空标志。\n4、改善“字节集_还原”优化子程序处理速度,感谢易友【落款hMZ】\u003Cem\u003E提供\u003C\u002Fem\u003E\u003Cem\u003E代码\u003C\u002Fem\u003E。\n5、修改“窗口_热键注册”API正确申明,并把第五个参数【热键标识文本】改为热键ID。\n6、新增“类_任务栏”可以显示隐藏任何第三方窗口图标,相当于易中的(不在任务栏显示),带【实例】演示。\n7、新增“类_线程池1”中的“等待”方法。\n8、修复“编码_Utf8到Ansi“分配内存失败BUG,感谢易友【仁鹰】反馈。\n9、改善“网页_访问”中最后一个参数(代理地址)为“”符号时无法访问网页,感谢易友【z00544】反馈。\n\n精易模块 V3.82 what’s new:(20140816)\n1、修复“时间_取现行时间戳”有时不能正常返回13位时间戳,当毫秒为一位时,返回结果为11位。感谢易友【happyboy】反馈。\n2、修复上个版本校正API正确申明后“普通填表”类返回不能初始化BUG。\n3、新增“类回调_取类地址”类回调(带实例)源码来自东灿的ECallBack。\n4、新增“类回调_释放回调”释放回调子程序地址。\n5、新增“系统_调用帮助”调用系统帮助文档。\n\n精易模块 V3.81 what’s new:(20140811)\n1、修复“输入法类”绝对路径不正确BUG。\n2、改善“类_内存”读写内存失败返回不正确值问题。感谢易友【stft】建议。\n3,网页访问_对象()增加一个参数,用来保存网页返回状态\u003Cem\u003E代码\u003C\u002Fem\u003E。\n4、改善(字节集_取左边|取右边|取中间)与未公开子程序重复,改名为 字节集_寻找取左|字节集_寻找取右|字节集_寻找取中,并修正BUG。\n5、公开子程序(字节集_到文本|字节集_到整数|字节集_取左边|字节集_取右边|字节集_取空白|字节集_取长度|字节集_取中间|字节集_替换|字节集_寻找|字节集_取指针)模块原有命令。\n6、修正“文本_取中间_批量”当参数限定长度不要时,不能继续向下执行的BUG,感谢易友【半个灵魂づ留着】\u003Cem\u003E代码\u003C\u002Fem\u003E。\n7、删除“文本_取中间_批量1”命令。\n8、修复“注册表操作Ex-\u003E写入键值Ex”创建项,重启丢失的BUG,感谢易友【pp25729391】反馈。\n9、修复“文本_转拼音”传入的参数变成全角的BUG,感谢易友【reloking】反馈。\n10、修复“编码_Utf8到Unicode”频繁操作导致程序崩溃BUG,感谢易友【diablozxl】反馈。\n11、修复“线程_等待”命令注释反的问题,返回真表示线程结束,假表示已超时。感谢易友【tone】反馈。\n12、修复“类_识图-\u003E找图_从字节集”命令,载入大文件直接奔溃的BUG,感谢易友【tone】反馈。\n\n\n精易模块 V3.80 what’s new:(20140801)\n1、新增“进程_取优先级”,特殊进程需要特权,检索指定的进程的优先级。返回值:0=最高,1=高于标准,2=实时,3=标准,4=低于标准,5=低,返回-1表示无权限访问进程。\n2、新增“进程_置优先级”,特殊进程需要特权,设置一个进程的优先级别,成功返回真,失败返回假。\n3、新增“窗口_取激活句柄”,获取当前系统激活的窗口句柄。\n4、新增“类_通用\u003Cem\u003E对话框\u003C\u002Fem\u003E”支持大窗口样式与易自带样式,2种选择。用法和易一样,完全可以替代。\n5、新增“进程_取句柄数”,功能与XP系统下任务管理器一样。\n6、新增“进程_取IO读取计数”,功能与XP系统下任务管理器一样。\n7、新增“进程_取IO读取字节”,功能与XP系统下任务管理器一样。\n8、新增“进程_取IO其它计数”,功能与XP系统下任务管理器一样。\n9、新增“进程_取IO其它字节”,功能与XP系统下任务管理器一样。\n10、新增“进程_取IO写入计数”,功能与XP系统下任务管理器一样。\n11、新增“进程_取IO写入字节”,功能与XP系统下任务管理器一样。\n12、改善“输入法类-\u003E激活”向指定窗口激活安装的输入法,感谢易友【大胆点】\u003Cem\u003E提供\u003C\u002Fem\u003E\u003Cem\u003E代码\u003C\u002Fem\u003E。\n13、修复“图片_转换”,修复导致程序崩溃BUG,源码来源【凌晨孤星】同步。\n\n\n精易模块 V3.78 what’s new:(20140715)\n1、修复“进程_ID是否有效”在时钟循环获取下进程句柄不断飙升的BUG。\n2、修复“ADSL拨号类 -\u003E_取本机IP”,在XP系统下静态编译获取不到的BUG,感谢易友【islandandfriend】反馈。\n3、新增“系统_取网络主机名”,取当前网络上登记的主机名,详细请参考CMD命令ipconfig \u002Fall 中的Windows IP 配置。\n4、新增“系统_取网络主DNS后缀”,详细请参考CMD命令ipconfig \u002Fall 中的Windows IP 配置。\n5、新增“系统_取网络节点类型”,详细请参考CMD命令ipconfig \u002Fall 中的Windows IP 配置。\n6、新增“系统_IP路由是否启用”,详细请参考CMD命令ipconfig \u002Fall 中的Windows IP 配置。\n7、新增“系统_WINS代理是否启用”,详细请参考CMD命令ipconfig \u002Fall 中的Windows IP 配置。\n8、修改“目录_取尾部目录名或文件名”使用标准windows函数;\n9、修改“文件_创建”成功返回1,失败返回错误\u003Cem\u003E代码\u003C\u002Fem\u003E,同时如果函数执行失败,\u003Cem\u003E不会\u003C\u002Fem\u003E出现文件残留;\n10、修改“文件_打开”失败返回错误\u003Cem\u003E代码\u003C\u002Fem\u003E\n11、修改“线程_销毁”与“线程_强制结束”存在命名歧义的问题,感谢易友【Mr.Yang】提议。\n12、新增“系统_取IE版本”获取IE游览器版本,失败返回空文本。\n13、修复“文件_取类型”原数据结构申明不正确导致偏移出错取出不正确值BUG,感谢易友【无\月】提醒。\n\n精易模块 V3.77 what’s new:(20140701)\n1、对已知命令备注存在歧义或错误的备注给予修正。\n2、修复“线程_强制退出”命令,不能立即退出问题。\n3、改善“CreateEvent”公开的API未\u003Cem\u003E提供\u003C\u002Fem\u003E返回值的问题,感谢易友【glgg】提醒。\n4、改善“系统_屏蔽任务管理器1”在win7下无效问题。\n5、修复“编码_usc2到ansi_EX”编码\u003Cem\u003E里\u003C\u002Fem\u003E包含英文字母会编码失败问题,感谢易友【7780000】提醒。\n6、修复“文本_是否为汉字”正则方式正则语句判断不够准确的问题,感谢易友【精易⌒小傷】提醒。\n7、新增“文件_句柄取路径”根据文件句柄获取文件所在路径,失败返回空文本。\n8、新增“文件_取属性”与易语言中 取文件属性 ()功能相同。\n9、新增“文件_取类型”获取文件类型,如.TXT文件,则返回“文本文档”,失败则返回空。\n10、新增“文件_取图标”成功返回图标句柄,失败返回零。\n\n\n精易模块 V3.76 what’s new:(20140620)\n1、新增“窗口_是否激活”命令,判断指定窗口是否激活状态,是则返回真,否则返回假。\n2、新增“窗口_取矩形”命令,取指定窗口矩形信息。\n3、新增“窗口_取客户区矩形”命令,取指定窗口内客户区矩形信息。\n4、新增“窗口_取样式”命令,取指定窗口样式。\n5、新增“窗口_取扩展样式”命令,取指定窗口扩展样式。\n6、新增“窗口_取边框宽度”命令,取指定窗口边框宽度。\n7、新增“窗口_取边框高度”命令,取指定窗口边框高度。\n8、修复“外部超级列表框-\u003E选择表项”,无法选中问题,感谢易友【fanghg】提醒。\n9、新增“文本_到小写m”改善传递变量值改变的问题,感谢易友【我爱钱钱钱】提醒。\n10、修复“文本_取右边”无法取到数据问题,感谢易友【我爱钱钱钱】提醒。\n11、修复“目录_取大小”取上G目录返回负数问题,感谢易友【de01】提醒。\n12、修复“目录_创建”当路径出现多个“\\\\”会删除整个文件夹的问题,感谢易友【淮南老三】提醒。\n13、改善“外部超级列表框-\u003E取标题”由原来默认缓冲尺寸1048576字节,改为260字节。\n14、修复“文件_枚举1”当参数文件夹路径为真,回调子程序出现二次相同路径,修改后将删除‘文件夹路径’参数。\n15、重写“文件_定位”,explorer命令行定位会产生多余的explorer进程,用API\u003Cem\u003E代码\u003C\u002Fem\u003E此命令,新增编辑模式参数。\n16、重写“目录_定位”,命令与'文件_定位'相同,采纳易友【御风软件】意见。\n\n精易模块 V3.75 what’s new:(20140609)\n\n1、改善“时间_北京转格林威治、时间_格林威治转北京”命令,删除无用参数,简写\u003Cem\u003E代码\u003C\u002Fem\u003E。\n2、改善“系统_置屏幕分辨率”参数【设置模式】可为空标志,默认为永久修改分辨率。\n3、修复“窗口_置窗口化”中调用[系统_置屏幕分辨率]中不最后参数不可空BUG,默认修改为临时分辩率,感谢易友【訫誶】的提醒。\n4、改善“窗口_模糊遍历窗口”不能区别关键词大小写问题,感谢易友【yckwan】提醒。\n5、改善“窗口_取句柄_模糊”不能区别关键词大小写问题,感谢易友【yckwan】提醒。\n6、修复“文本_取右边”中起始寻找位置参数无效问题,感谢易友【御风じ撒泡尿ジ】大神提醒。\n7、修复“字节集_取右边”中起始位置参数无效问题,感谢【Hoibben】提醒。\n8、新增“目录_枚举子目录1”在原有命令上添加向下枚举参数,感谢易友【wjt741106】\u003Cem\u003E提供\u003C\u002Fem\u003E\u003Cem\u003E代码\u003C\u002Fem\u003E。\n9、新增“文本_指针到文本A”,把ansi指针转换为文本。\n10、新增“文本_指针到文本W”,把unicode指针转换为ansi文本。\n11、新增“系统_取时区”与 应用接口支持库-\u003E系统处理 中时区一样。\n12、新增“系统_取货币符号”,与 应用接口支持库-\u003E系统处理 【货币符号】一样。\n13、新增“系统_取日期格式”,与 应用接口支持库-\u003E系统处理 【日期格式】一样。\n14、新增“系统_取时间格式”,与 应用接口支持库-\u003E系统处理 【时间格式】一样。\n15、新增“类_CPU信息”用WMI接口获取CPU相关核心数、占用率、名称等,注意;频繁获取程序可能会崩溃。\n16、新增“类_系统信息”,用Wmi接品获取系统相关信息,如;名称、版本、物理内存等。\n\n精易模块 V3.73 what’s new:(20140601)\n\n\n1、改善“系统_运行死慢”,添加确认参数,防止误操作,感谢易友【詠不言敗】的建议。\n2、改善“程序_加入右键菜单”命令添加右键位置,并增加删除参数。\n3、改善“系统_关联右键菜单带图标”命令,增加一个删除参数,填真为删除指定菜单名称。\n4、改善“程序_加入IE工具栏”命令,可自定义程序名称,路径,图标,以及增加删除参数。\n5、修复“线程_销毁”,句柄数增加及线程达到2000以上返回0的问题,感谢易友【YJF】的提醒。\n6、修复“类_系统服务-\u003E取程序路径”,修正在XP系统下循环获取分配8字节内存失败问题,感谢易友【my6036324】提醒。\n7、填补V3.72中[文件_搜索1]命令丢失。\n8、新增“线程_强制结束”命令,强制结束正在运行的线程。\n9、新增“类_系统域”类模块,对windows系统域支持,加入与取消需重启后生效。\n10、新增“系统_处理事件1”命令,从消息队列中获取消息然后移除消息并派发出去,达到与易自带的\"处理事件\"同样功能。\n11、新增“类_系统还原”,创建系统还原点与删除系统还原点。\n12、新增“系统_取字体名”,获取字体名称,如“simsun.ttc”显示字体名称为“宋体”。\n13、新增“系统_取CPU占用率”命令,取当前CPU占用率。成功返回CPU占用率;失败返回-1。支持XP,2003及win7 64位系统。\n14、新增“系统_关电源”命令,命令未公开API实现快速关机,感谢易友【暂停使用】\u003Cem\u003E提供\u003C\u002Fem\u003E其实语言源\u003Cem\u003E代码\u003C\u002Fem\u003E。\n15、新增“窗口_闪动Ex”命令,闪烁指定窗口,可选闪烁标题、任务栏、次数、速度,成功返回真,失败返回假。\n\n16、删除“易语言_到系统右键中、易语言_加入IE工具栏、易语言_加到系统右键”,此类命令有功能重复,整合到“程序_加入IE工具栏、程序_加入右键菜单”命令中。\n\n\n精易模块 V3.72 what’s new:(20140511)\n\n1、改善“网页_访问”,“网页_访问_对象”中的协议头补全机制,感谢易友 yaoying68 提醒。\n2、去除“网页_访问”命令,中的超时参数,超时请自行用线程控制,感谢易友 yaoying68 建议。\n3、新增“文件_搜索1”命令,简化程序参数,改用子程序回调显示搜索结果,添加目录深度参数,参照雨林木风Ghost搜索功能,提升搜索效率。\n4、修复“文件_搜索”命令,修正当标签为空时关键词无效分支,同时修改列表框为必要参数(原参数可为空,无任何实际作用),感谢易友 biao197 提醒。\n5、修复“系统_设置IE代理地址”设置ADSL代理失败问题,感谢易友“剩下我de孩子气”提醒。\n6、修复“程序_取命令行”命令,替换常规的分割方式分割不正确问题,改用API数组方式获取,感谢易友“鲁凯啸”做出的努力。\n7、改善“正则表达式类”对线程的支持,感谢易友“长翅膀的猫”的提醒。\n8、新增“文件_取尺寸1”命令,利用易自带“取文件尺寸”命令支持获取超过2G大文件尺寸。\n9、恢复所有类中的“线程_初始化COM库”和“线程_取消COM库”\n10、修复“网页_取外网IP”命令,失效的问题,感谢易友 剩下我de孩子气 的提醒\n\n\n精易模块 V3.71 what’s new:(20140501)\n\n1、修复“程序_取命令行()”命令无法获取到命令行参数的问题,感谢易友 yangcongwen 提醒。\n2、改善“网页_访问”,“网页_访问_对象”中的协议头补全机制\n3、改善“网页_访问”命令添加超时参数(Win7需测试)\n4、改善“网页_访问”,“网页_访问_对象”中的Cookies获取机制,感谢“淮南老三”等易友的提醒\n5、改善“网页_访问_对象”命令中的,默认初始COM操作,避免重复初始化导致的错误(同类对象命令中的默认初始COM操作已经全部去除,请留意命令注解)\n6、去除“网页_访问Ex”命令。\n7、去除“协议头_网页”常量。\n8、去除“文本_汉字转拼音”命令,此命令功能与“文本_转拼音”一样,但效率不如“文本_转拼音”,且不保留标点符号\n9、改善“文本_取空白文本、字节集_取空白字节集”命令,汇编方式获取,提高执行效率。\n10、改善“图片_加水印”命令,注:此命令还需要对不同的图片以及透明色测试。\n11、改善“文件_取配置节名数组、文件_取配置项名数组”命令,解决项目或节名中包含一些特殊符号时获取有误的问题,感谢易友 淮南老三 提醒。\n12、新增\"类_配置项\",全API操作。\n13、新增“时间_转为GMT格式1”,将日期时间型数据转换为GMT格式,感谢会员shituo\u003Cem\u003E提供\u003C\u002Fem\u003E\u003Cem\u003E代码\u003C\u002Fem\u003E。\n14、新增“时间_转为GMT格式2”。将日期时间型数据转换为GMT格式\n15、新增“时间_GMT转为时间”,将GMT文本时间 转换成日期时间型,感谢会员shituo\u003Cem\u003E提供\u003C\u002Fem\u003E\u003Cem\u003E代码\u003C\u002Fem\u003E。\n16、新增“时间_GMT转为时间1”将GMT文本时间 转换成日期时间型,\n17、新增“网页_取编码”,获取网页编码信息。\n\n\n精易模块 V3.70 what’s new:(20140401)\n\n1、新增“注册表操作类Ex”部分win7用户操作不了注册表项值可试试本类中的命令。感谢 【落雪】分享。\n2、新增“窗口_是否在最顶端_句柄()”\u003Cem\u003E提供\u003C\u002Fem\u003E一个要判断的窗口句柄进行判断是否在最顶端,感谢易友 牛X的孩子 分享。\n3、新增“窗口_是否禁止()”判断指定窗口句柄是否被禁止,禁止返回真,没有禁止返回假。\n4、新增“网页_跳转1()”命令,用于针对百度等一些特殊处理过的网站无法跳转的问题,感谢【微凉】分享。\n5、改善“窗口_句柄取进程路径()”命令,精简\u003Cem\u003E代码\u003C\u002Fem\u003E,感谢易友 牛X的孩子 分享。\n6、改善“汇编_取随机数()”命令,如果最小数大于最大数程序会关闭的情况,感谢易友 wzjcyy 提醒。\n7、改善“系统_置屏幕分辨率()”命令,增加设置分辨率后可一直使用,具体请查看参数,感谢 biao197 提醒。\n8、改善“窗口_取光标位置()”命令返回值问题,具体使用请搜索命令使用例题,感谢易友 无ye 提醒。\n9、改善“就绪判断_文本关键字、文本关键字”命令在使用中,窗口被关闭后还一直在执行的问题,感谢易友 我爱钱钱钱 提醒。\n10、改善“图片_转换()”命令,如果传入空字节集数据会导致程序失败的问题,感谢易友 jfaumt 提醒。\n11、改善“时间_时间戳转文本,时间_取随机时间戳,时间_取现行时间戳”多线程操作会内存增加的问题,感谢易友 ljm2010 提醒。\n12、去除“服务端类、客户端类”开头的命令,原因是远程服务支持库中的命令比此些命令更好。调用的API以及常量未去除。\n13、改善“IP_10进制转IP、IP_转至10进制”互转的问题。感谢易友 yf5486yf 提醒,感谢【落雪】完善。\n14、修复“文件拖放类”中注册超级列表框控件导致程序关闭的问题,感谢易友 h1601zl 提醒,感谢【落雪】完善。\n15、修复“类_系统服务”无法操作系统服务的问题,感谢易友 fanghg 提醒和 【落雪】的改进。\n\n\n\n精易模块 V3.69 what’s new:(20140312)\n\n1.修复 “正则表达式类” 操作超过512kb文本时崩溃问题\n2.修复 “类_脚本组件” 类方法“执行” 操作超过512kb\u003Cem\u003EJS\u003C\u002Fem\u003E文本时崩溃问题\n3.修复 “普通填表” 类方法“网页_取文本” 和 “网页_取源码” \"就绪判断_文本关键字\"\"就绪判断_源码关键字\"命令,返回超过512kb网页文本时崩溃问题\n\n1.恢复“编码_usc2到ansi”和“编码_ansi到usc2”为原来的\u003Cem\u003E代码\u003C\u002Fem\u003E,原来\u003Cem\u003E代码\u003C\u002Fem\u003E能直接转换包含编码的文本,但是在特殊情况会返回空,甚至导致程序崩溃\n1.恢复3.67版本修改的命令为原来的,折磨死我这小菜鸟了,这次是真的不玩了,真的是最后一个版本了,3.6.9 by 御风软件\n\n精易模块 V3.68 what’s new:(20140310)\n\n1.修复 “编码_usc2到ansi ”不能把文本型转换到字节集错误\n\n精易模块 V3.67 what’s new:(20140309)\n\n1.删除 \"MultiByteToWideChar_byte\" “WideCharToMultiByte_byte” 多余API \n1.修复全部调用API\"MultiByteToWideChar\",\"WideCharToMultiByte\" 参数三默认-1自动取长度,导致的软件崩溃问题 感谢 Bints 的提醒\n\n精易模块 V3.66 what’s new:(20140309)\n\n1.修复 “文本_取中间_批量_正则方式”并且优化\u003Cem\u003E代码\u003C\u002Fem\u003E 感谢 地球孤鹰 的提醒\n1.修复“文本_取随机范围数字”会取出大于结束数的问题的\n\n精易模块 V3.65 what’s new:(20140303)\n\n1.改名“窗口_取IE窗口句柄”为“窗口_取IE浏览框句柄” \n 参数“窗口句柄”改名为“IEFrame句柄”,完善命令说明和参数备注 感谢 小爬虫的提醒\n注:原名称有歧义,误导。这\u003Cem\u003E里\u003C\u002Fem\u003E并非取ie的句柄,是取那个浏览框的句柄(用于填表或者其他操作等等)\n\n精易模块 V3.64 what’s new:(20140227)\n\n1.删除“窗口_取位置和大小”多余的局部变量,优化内存 感谢 小爬虫 的提醒\n\n1.修复“鼠标_限制” 感谢 小爬虫 的提醒\n\n1.完善“批量_xx_保存配置”,“批量_xx_读取配置”命令,清除组件寻找句柄,感谢 小爬虫 的提醒\n 注:xx表示组件名,包括编辑框,单选框,日期框,选择框,组合框这些组件的名字\n\n精易模块 V3.63 what’s new:(20140214)\n\n1.重写“文本_取随机汉字”,效率提升\n2.重写“文本_取随机数字”,效率提升\n3.重写“文本_取随机姓氏”,效率提升,参数值意义发生变化\n4.重写“随机_字母”,效率提升\n5.重写“文本_汉字转拼音”,效率提升\n\n1.优化“文本_取随机字符”,效率提升,删除多余变量,循环中的处理事件\n1.完善“文本_取随机范围数字”参数备注\n\n精易模块 V3.62 what’s new:(20140213)\n\n1.修复“目录_是否存在”返回值为假的问题 感谢会员 orachard 的提醒\n2.修复“InterlockedIncremen”“InterlockedDecrement”DLL注释错误 感谢会员 ds9660 的提醒\n\n精易模块 V3.61 what’s new:(20140202)\n1.修复“类_内存配置项”配置项加载的问题 感谢 SalHe 的提醒和会员 微凉清风的改进\u003Cem\u003E代码\u003C\u002Fem\u003E\n\n1.完善 “窗口_取位置和大小”备注 感谢 Avatar·Tonoy 的提醒\n\n1.重写“文本_插入文本到某位置” 感谢 我叫林舒书 的提醒\n2.重写“剪辑板_置文本”“剪辑板_取文本” 感谢 myself2 的\u003Cem\u003E代码\u003C\u002Fem\u003E\n\n精易模块 V3.60 what’s new:(20140114)\n\n1.完善“IP_转至16进制”“IP_16进制转IP”的备注 感谢 瞎胡闹 的提醒\n2.修复“系统_格式化软盘”没有返回值的问题 感谢 阿蒙 的提醒\n1.重写“线程_启动多参”并改名为“线程_启动多参_整数型” 修改详情请查看新命令\n2.重写“线程_启动四参”并改名为“线程_启动多参_文本型” 修改详情请查看新命令\n\n精易模块 V3.59 what’s new:(20140107)\n\n1.删除“系统_启用本地连接”中的垃圾\u003Cem\u003E代码\u003C\u002Fem\u003E,提升速度,感谢 阿蒙 的提醒\n2.删除“程序_禁止重复运行_浏览器”,一个不知道何时添加的未公开子程序(可能\u003Cem\u003E代码\u003C\u002Fem\u003E也有问题)\n\n1.完善“程序_加入右键菜单”,增加可空参数 \u003C显示名称\u003E感谢 阿蒙 的提醒\n2.完善“线程_取自线程句柄”,采用百度百科的说明作为备注\n\n1.修复“线程_取自线程ID”,采用百度百科的说明作为备注\n2.修复“编码_usc2到ansi”“编码_ansi到usc2” 暂时使用EX版代替原来的\u003Cem\u003E代码\u003C\u002Fem\u003E 感谢 478755018 的提醒\n3.修复“网页_置Cookie1” 感谢 阿蒙 的提醒\n\n精易模块 V3.58 what’s new:(20140101)\n1.公开“进程_ID取模块”1个内部子程序\n\n1.删除“进程_ID取模块文件名” ,因为该命令效率低下,还和“进程_ID取进程名”一样的效果\n 进程_ID取模块文件名 先枚举模块得到信息数组,再计次循环 当条件=PID 就返回模块文件名,实际上枚 举到的模块信息数组所有的PID都一样,得到的也就是第一次循环结果,也就是进程名\n2.删除“进程_ID取模块路径“,删除理由和上述一样\n \n1.修复“剪辑板_取文件”的状态错误BUG 感谢 网络注册会员 的提醒,感谢 农夫 的\u003Cem\u003E代码\u003C\u002Fem\u003E\n\n精易模块 V3.57 what’s new:(20131230)\n\n1.删除 \"窗口_取位置和大小\" 的错误备注部分,感谢 美丽兔兔 的提醒\n2.删除“窗口_消毁” 这个重复命令,该命令和“窗口_关闭”是一样的 感谢 改名卡 的提醒\n3.删除“网页_取文本” 增加2个速度更快的命令“网页_取文本_reg”和“网页_取文本_dom”\n4.删除“内存_优化” 在程序最小化和后台时系统会自动调用该函数来节省内存 个人使用,容易出现各种各样的问题,详情:http:\u002F\u002Fbbs.125.la\u002Fthread-13690978-1-1.html\n 感谢 红河 的提醒 ,感谢 落雪 的详细分析文章 ↑\n\n1.新增“网页_取文本_reg” 正则方式取文本 感谢 H婶 \u003Cem\u003E提供\u003C\u002Fem\u003E参考\u003Cem\u003E代码\u003C\u002Fem\u003E\n2.新增“网页_取文本_dom” DOM方式取文本 感谢 微凉 \u003Cem\u003E提供\u003C\u002Fem\u003E参考\u003Cem\u003E代码\u003C\u002Fem\u003E\n3.新增“网页_置浏览器UA” 设置当前程序中浏览器的UserAgent 感谢 阿蒙 \u003Cem\u003E提供\u003C\u002Fem\u003E\u003Cem\u003E代码\u003C\u002Fem\u003E\n\n1.完善 “进制_十到二” 取消长度不足8位自动会补零,请根据需要补零 感谢 小爬虫 的提醒\n2.完善 类_ODBC数据库,“读文本”参数二的备注,改为 索引从0开始 感谢 阿蒙 的提醒\n3.完善 类_ODBC数据库 ,“连接Access”增加参数 \u003C参数_Accdb\u003E 感谢 阿蒙 的\u003Cem\u003E代码\u003C\u002Fem\u003E\n\n精易模块 V3.56 what’s new:(20131224)\n\n1.删除 “类_\u003Cem\u003Ejs\u003C\u002Fem\u003Eon”的命令 “取成员”,使用该命令会导致软件挂掉,原因未知\n 解决方案,直接取通用属性,无需二次解析,速度更快\n 原:\u003Cem\u003Ejs\u003C\u002Fem\u003Eon.取成员 (0).取通用属性 (“Id”) 新:\u003Cem\u003Ejs\u003C\u002Fem\u003Eon.取通用属性 (“[0].Id”)\n2.完善“网页_取域名” 将原来的3.50的和3.51重写的加强版合并\n3.修复“系统_取宽带线路 ()”因为新版“网页_取域名”带来的bug 感谢 \n4.重写“系统_修改IP地址和网关和子网掩码” 感谢 落雪 \u003Cem\u003E提供\u003C\u002Fem\u003E参考\u003Cem\u003E代码\u003C\u002Fem\u003E\n5.增加“系统_修改DNS” 感谢 落雪 \u003Cem\u003E提供\u003C\u002Fem\u003E参考\u003Cem\u003E代码\u003C\u002Fem\u003E\n\n精易模块 V3.55 what’s new:(20131223)\n\n1.完善 “系统_显示关闭\u003Cem\u003E对话框\u003C\u002Fem\u003E”改名为 ““系统_显示关机\u003Cem\u003E对话框\u003C\u002Fem\u003E”\n 增加可空参数\u003CWIN系列系统\u003E 修复 WIN7下堆栈错误,感谢 小爬虫 的提醒\n 注:内部DLL \"_关机\u003Cem\u003E对话框\u003C\u002Fem\u003E\"改名“_关机\u003Cem\u003E对话框\u003C\u002Fem\u003E_XP” ,新增内部DLL \"_关机\u003Cem\u003E对话框\u003C\u002Fem\u003E_WIN\"\n2.修复“音乐_停止”“音乐_暂停”返回值问题 感谢 小爬虫 的提醒\n3.修复“文本_取出中间文本”参数 是否不区分大小写 得到相反结果的问题\n4.修复“系统_取宽带线路”命令 感谢 secondkill 的提醒\n5.增加\"音量_\"\"音乐_\"开头的命令参数和备注 感谢 小爬虫 的提醒\n6.删除 DLL“CoCreateInstance”“CLSIDFromString”“MultiByteToWideChar_整数型”\n7.删除 \"A2W\"“音量_设置”“音量_获取”“音量_增减”等命令\n 因为原命令调用特定的dll,只对win7以上系统有效,并会附加一个特殊功能支持支持库\n8.重写“音量_静音” 增加“音量_增加”“音量_减少”,对声卡操作,XP,WIN系列均有效\n\n精易模块 V3.54 what’s new:(20131221)\n\n1.修复“系统_取宽带用户名密码”因调用 RtlMoveMemory_整数型 传址导致取到空的问题\n\n1.增加“系统_取磁盘类型”\n2.增加DLL“CoCreateInstance”“CLSIDFromString”“MultiByteToWideChar_整数型”\n3.增加“音量_设置”“音量_获取”“音量_静音”“音量_增减”“A2W” 感谢 灰灰君 \u003Cem\u003E提供\u003C\u002Fem\u003E参考\u003Cem\u003E代码\u003C\u002Fem\u003E\n\n1.修正 “系统_置音量”为\"音量_置声道\",修改“系统_取音量”为\"音量_取声道\"\n\n1.完善“文件_改扩展名”的参数备注 感谢 落雪 的提醒\n\n精易模块 V3.53 what’s new:(20131220)\n\n1.完善 “编码_\u003Cem\u003EURL\u003C\u002Fem\u003E编码”对 参数 欲编码的文本 是否为空进行判断\n2.完善 “普通填表.网页_验证码同步”的备注,删除残留的测试\u003Cem\u003E代码\u003C\u002Fem\u003E\n3.完善 “网页_禁止允许gif图片”“网页_禁止允许显示图片” “网页_禁止允许背景声音”“网页_禁止允许点击声音” “网页_禁止允许播放网页视频”“网页_禁止允许一键操作” 的备注信息\n\n1.增加网页_禁止允许一键操作() 参数 \u003C禁止允许播放网页视频\u003E\n2.增加 DLL \"RtlMoveMemory_整数型2\",目前应用于 类_位图操作 的 “从屏幕创建”\n\n1.删除 “网页_验证码读取”\n该命令是封装的 网页_访问_对象,所以\n请直接使用“网页_访问”或“网页_访问_对象”读取验证码,根据需要进行“图片_转换”\n2.删除“网页_验证码同步”\n该命令是用于填表同步验证码的,所以\n请直接使用“普通填表.网页_验证码同步”,使用前请确保已经“普通填表.初始化”\n\n1.修复 类_识图 的“找图_从句柄” 感谢会员 今朝 的提醒 和 果子 \u003Cem\u003E提供\u003C\u002Fem\u003E解决方案\n\n精易模块 V3.52 what’s new:(20131217)\n1.修复 “普通填表.多行文本框_写\u003Cem\u003E内容\u003C\u002Fem\u003E”感谢会员 wjlzhi 的提醒和\u003Cem\u003E提供\u003C\u002Fem\u003E解决方案\n2.修复 “网页_取元素坐标”导致普通填表无法使用,感谢会员 残绵游戏 的提醒\n3.修复“程序_重启”win8无效的问题 感谢会员 千年 的提醒和\u003Cem\u003E提供\u003C\u002Fem\u003E解决方案\n\n1.完善“系统_以管理员模式创建进程”的备注 感谢会员 977945676 的提醒\n2.完善“线程池1”,投递任务支持多个参数 感谢会员 小磊 进行\u003Cem\u003E代码\u003C\u002Fem\u003E优化\n3.完善“文本_汇编_取随机数字” 还原为 “文本_取随机数字”\n 该命令并没有被取消掉,只是被改名了,因此,对于前维护者改名所造成的不便进行道歉\n\n1.重写“线程_启动四参”命令的参数类型和位置 感谢会员 小磊 进行\u003Cem\u003E代码\u003C\u002Fem\u003E优化\n2.重写“数组_排序”,速度提升256倍以上! 感谢会员 落雪 \u003Cem\u003E提供\u003C\u002Fem\u003E的参考\u003Cem\u003E代码\u003C\u002Fem\u003E\n\n3.增加 DLL \"lstrcmp\" 目前应用于数组_排序\n4.增加“数组_反转”,感谢会员 落雪 \u003Cem\u003E提供\u003C\u002Fem\u003E的参考\u003Cem\u003E代码\u003C\u002Fem\u003E\n\n精易模块 V3.51 what’s new:(20131214)\n\n1.增加“网页_访问_EX”增加超时功能,和修复win7下https代理无效问题 \n 感谢 90后辉煌 \u003Cem\u003E提供\u003C\u002Fem\u003E参考\u003Cem\u003E代码\u003C\u002Fem\u003E,让我们期待已久的超时功能回归,也请大家帮忙测试\n 【网页_访问_EX 为测试版本,完善后,将会删除该命令,功能会添加到 网页_访问()】\n2.增加 线程池类1“取状态” 感谢 我叫林舒书 \u003Cem\u003E提供\u003C\u002Fem\u003E参考\u003Cem\u003E代码\u003C\u002Fem\u003E\n3.增加 普通填表类“网页_刷新”刷新当前页面 感谢 laiyihan 的建议 \n4.增加 “网页_取文本”去掉网页源码中的HTML标签,保留纯文本 \n\n1.删除 普通填表类“网页判断” 精简模块体积(这是一个没有用的空白子程序)\n\n1.重写 “窗口_圆角化” ,参数一类型由窗口改为句柄,参数二和三可空 感谢 果子的提醒\n2.重写“网页_取元素坐标”原命令虽然公开但无效,因为屏蔽了全部\u003Cem\u003E代码\u003C\u002Fem\u003E(\u003Cem\u003E代码\u003C\u002Fem\u003E本身残缺)\n 故本次属于重写\u003Cem\u003E代码\u003C\u002Fem\u003E,接收参数,改为一个,元素对象,\u003Cem\u003E代码\u003C\u002Fem\u003E简洁,需要更多功能请组合其他命令\n3.重写“网页_取域名”增加可空参数\u003C后缀点数量\u003E 新版命令支持任何后缀域名 感谢 977945676 的提醒\n\n1.完善 “网页_访问”和“ 网页_访问_对象”的参数\u003C附加协议头\u003E的备注 感谢 90后辉煌 的提醒\n2.完善\"系统_启用本地连接\"备注 感谢 7141330054 的建议\n3.完善“网页_访问” 删除设置代理时,无用的到文本,提高效率 感谢 果子 的提醒\n4.完善“文本_取出中间文本”的参数\u003C起始搜寻位置\u003E的备注 感谢 落雪 的提醒\n5.完善 DLL“_宽字符到双字节”和“_宽字符到双字节1”的备注 方便区分\n\n1.修复“编码_Unicode到Utf8”,感谢 90后辉煌 的提醒\n2.修复“系统_取宽带用户名密码”因 编码_Unicode到Utf8 有问题导致的问题 感谢 wjjucwj 的提醒 \n 注:ADSL拨号类的\u003C取宽带用户名密码\u003E也是调用这个命令\n\n \u003Cem\u003E代码\u003C\u002Fem\u003E个人审阅完成,发现\u003Cem\u003E代码\u003C\u002Fem\u003E和3.40版一样,对于3.40能取出,新版无法取出\n 如果不是上述已被修复的bug导致的,暂时无法解释。。。\n 因为该命令调用很多的子程序,涉及\u003Cem\u003E代码\u003C\u002Fem\u003E\u003Cem\u003E太多\u003C\u002Fem\u003E,维护时间耗时2天多,也因此拖慢了3.51的发布\n 故决定,先发布3.51版本,本命令可能隐藏的BUG,我们继续研究,看能否找出真正的问题所在\n \n精易模块 V3.50 what’s new:(20131211)\n1.修正 DLL \"WideCharToMultiByte\"最后一个参数为逻辑型\n2.新增 DLL \"StrToIntEx\" 目前应用于usc2和ansi互转 EX加强版\n3.新增 “编码_usc2到ansi_EX”“编码_ansi到usc2_EX” usc2和ansi互转 EX加强版\n\n精易模块 V3.49 what’s new:(20131209)\n1.删除 “网页_访问s ” 解决方案和删除原因:http:\u002F\u002Fbbs.125.la\u002Fthread-13687724-1-1.html\n2.完善 “网页_取外网IP” 网页_访问s 为 网页_访问 效率提升\n3.增加“系统_屏蔽任务管理器1”“系统_恢复任务管理器1”的备注提示信息\n4.增加 “时间_取现行时间戳” 一个可选参数,是否为 十位时间戳 感谢 H婶 的提醒\n5.修复 “时间_转为GMT格式” 日期缩写错误 感谢 H婶 的提醒\n\n精易模块 V3.48 what’s new:(20131208)\n1 重写 “系统_是否已联网1” 检测速度更快,感谢 阿蒙 的提醒\n1、修复 模块内部命令 ,感谢 农夫 的提醒\n2、改善 “RAR_解压文件” 备注 ,感谢 阿蒙 的提醒\n3. 改善 “文本_是否为汉字”增加正则方式判断 感谢 7141330054 的提醒\n\n精易模块 V3.47 what’s new:(20131207)\n1、增加“系统_关联右键菜单带图标”命令\n2、增加“类_内存配置项”命令,感谢会员 微凉 \u003Cem\u003E提供\u003C\u002Fem\u003E的\u003Cem\u003E代码\u003C\u002Fem\u003E\n3、增加“编码_U编码转换”命令\n4、增加“音乐_播放”,“音乐_暂停”,“音乐_停止”命令\n5、增加“文本_朗读”命令\n\n1、改进“网页_验证码读取”添加“附加协议头”的参数,感谢会员 提百万 的建议\n2、改进“系统_取MAC地址”命令,感谢会员 Mr.Yang 的源码\n3、改进“ 网页_取Cookie”等命令的描述歧义,感谢会员 imdong 的提醒\n\n1、修复“时间_取中国星期几”命令无效的BUG,感谢会员 易難為易 的建议\n2、修复“目录_是否存在”,“目录_创建” 传入参数被参考,再次使用参数变量,引发路径错误\n3、完善“目录_”“文件_”开头命令的参数描述,防止出现6中错误,数量众多,这\u003Cem\u003E里\u003C\u002Fem\u003E不一一列举\n4、修复“易语言_取易语言安装目录” 感谢会员 7141330054 的提醒\n\n精易模块 V3.46 what’s new:(20131101)\n1、完善重写“文本_取出现次数”命令感谢会员 Mr.Yang \u003Cem\u003E提供\u003C\u002Fem\u003E的\u003Cem\u003E代码\u003C\u002Fem\u003E\n2、完善重写“系统_格式化软盘”命令感谢会员 Mr.Yang \u003Cem\u003E提供\u003C\u002Fem\u003E的\u003Cem\u003E代码\u003C\u002Fem\u003E\n3、完善“程序_删除自身”命令感谢会员 暂停使用 的提醒\n4、完善“进程_ID取窗口句柄”命令感谢会员 维卷残恋 的提醒\n5、完善“类_\u003Cem\u003Ejs\u003C\u002Fem\u003Eon”命令感谢会员 jixun66 \u003Cem\u003E提供\u003C\u002Fem\u003E的\u003Cem\u003E代码\u003C\u002Fem\u003E\n\n1、修复“目录_是否存在”无效的问题,感谢会员 红颜似水 的提醒\n\n1、添加“线程池1”类中的新“投递任务”命令,感谢会员 维卷残恋 \u003Cem\u003E提供\u003C\u002Fem\u003E的\u003Cem\u003E代码\u003C\u002Fem\u003E\n\n精易模块 V3.45 what’s new:(20130901)\n1、添加“系统_修改开机密码”命令,感谢会员 吾愛じ啃玉米ジ \u003Cem\u003E提供\u003C\u002Fem\u003E的\u003Cem\u003E代码\u003C\u002Fem\u003E\n2、添加“程序_写日志”命令 感谢会员 以后不抓了 的提醒\n\n1、修复“网页_访问_对象”命令无效的BUG\n2、修复API“ ZwQuerySystemInformation”的声明错误,感谢会员 天踏梦者 的提醒\n3、修复“程序_加入右键菜单”的命名问题,感谢会员 阿蒙 的提醒\n4、完善“窗口_取IE窗口句柄”命令备注,感谢会员 御风软件 的提醒\n5、修复“系统_取CPU名称”、“系统_取CPU描述”发布版本崩溃的问题,感谢会员 淡淡烟草味 的提醒\n6、修复“数组_输出”命令出错的问题,感谢会员 鬼璽 的提醒\n\n精易模块 V3.44 what’s new:(20130802)\n1、紧急修复“汇编_取随机数”命令所带来的一系列BUG\n\n精易模块 V3.43 what’s new:(20130801)\n1、增加“目录_强力清空”命令,完美清空大型目录\n2、重写“目录_删除”命令,大幅度提高删除速度\n3、“网页_访问_对象”命令,增加对象继承参数感谢会员 咏恒ぃ☆吣 的建议\n4、增加“网页_修改”命令,感谢会员 晓易 \u003Cem\u003E提供\u003C\u002Fem\u003E的\u003Cem\u003E代码\u003C\u002Fem\u003E\n5、增加“汇编_取随机数”命令\n6、优化替换模块内部所有的“取随机数”命令为“汇编_取随机数”\n7、“网页_访问_对象”命令,默认忽略Https证书错误感谢会员 tomorrow01 的建议\n8、重写“文件_合并文件”命令\n9、添加“类_\u003Cem\u003Ejs\u003C\u002Fem\u003Eon”\n\n1、修复“服务器类”当启动时最后3个参数任意为空,会导致程序闪退的问题,感谢会员will的提醒\n2、修复“文本_取右边”等一组,文本命令的参数描述错误,感谢会员 泪涟涟 的提醒\n3、修复“置窗口位图”命令的一个参数错误,感谢会员will的提醒\n\n精易模块 V3.42 what’s new:(20130601)\n1、优化“网页_验证码同步”命令的备注,感谢会员御风软件提醒\n\n1、修复“文本_取中间_批量”命令结果不正确的BUG,感谢会员淘宝网赚\u003Cem\u003E提供\u003C\u002Fem\u003E的命令\n\n1、增加“进程_创建”命令\n\n精易模块 V3.41 what’s new:(20130501)\n1、优化“网页_验证码同步”命令,默认不自动转换格式,但保留转码参数\n2、优化“批量_”开头命令的备注,感谢会员御风软件提醒\n3、优化“文本_取随机范围数字”命令提高运行速度,感谢会员jixun66\u003Cem\u003E提供\u003C\u002Fem\u003E的\u003Cem\u003E代码\u003C\u002Fem\u003E\n4、优化“校验_md5”相关命令添加16位的支持,感谢会员御风软件提醒\n5、关闭“网页_访问”命令的自动转码功能\n\n1、修复“剪辑版_置文件”和“剪辑版_取文件”命令,会导致程序崩溃的BUG\n2、修复“转为十六进制”的函数错误,感谢会员狼牙\u003Cem\u003E提供\u003C\u002Fem\u003E的修正命令\n3、修复“进程_名取句柄”无法取到句柄的BUG,感谢会员 奋斗的叶子 的提醒\n\n精易模块 V3.4 what’s new:(20130401)\n1、优化“网页_验证码同步”命令,自动转换图片格式,感谢会员御风软件提醒\n2、优化去除重复命令“文本_取文本长度”,感谢会员御风软件提醒\n3、优化“目录_是否存在”命令,返回结果更加精确,感谢会员雪落有声\u003Cem\u003E提供\u003C\u002Fem\u003E的命令\n4、优化“文件_是否存在”命令,返回结果更加精确,感谢会员雪落有声\u003Cem\u003E提供\u003C\u002Fem\u003E的命令\n5、优化“目录_定位”命令,写法更加简洁,感谢会员雪落有声\u003Cem\u003E提供\u003C\u002Fem\u003E的命令\n6、优化网页事件常量的命名方式,统一为英文,,感谢会员御风软件建议\n7、优化“系统_设置IE代理地址”命令添加是否立即更新设置参数\n\n1、增加“系统_临时字体_安装”、卸载命令,感谢会员啸锐\u003Cem\u003E提供\u003C\u002Fem\u003E的命令\n2、增加“文件_循环删除”命令\n3、增加“窗口_循环关闭”命令\n\n1、修复“文件_写出字节集”命令API模式无效的BUG,感谢会员5582139\u003Cem\u003E提供\u003C\u002Fem\u003E的命令\n2、修复部分命令的备注问题\n3、修复“字节集_到十六进制”无法解密的BUG,感谢会员linkasp的提醒\n4、修复“进程_ID取窗口句柄”取出无效句柄的问题,感谢会员残绵游戏的提醒\n\n精易模块 V3.33 what’s new:(20130301)\n1、增加“网页_删除IE缓存文件”命令\n2、增加“系统_判断有无摄像头”命令\n\n1、修复“网页_访问s”无法使用的问题\n2、修复“网页_取外网IP”失效的问题\n3、修复“文本_取中间_批量”结果会叠加的问题,感谢会员尔康的提醒\n4、修复“安装键盘钩子”命令的一个无效参数,感谢会员阿柳的提醒\n5、修复“窗口_热键卸载所有”命令会内存出错的问题,感谢会员果子的提醒\n6、修复“易语言_到系统右键中”的数据类型错误,感谢会员gotomiss的提醒\n7、修复“易语言_加快捷方式到IE浏览器”的数据类型错误,感谢会员gotomiss的提醒\n8、修复“外部编辑框_置四边距”的数据类型错误,感谢会员gotomiss的提醒\n9、修复“外部列表框_鼠标坐标取项目索引”的数据类型错误,感谢会员gotomiss的提醒\n10、修复“文本_取汉字机内码”的数据类型错误,感谢会员gotomiss的提醒\n11、修复“文本_取汉字机内码2”的数据类型错误,感谢会员gotomiss的提醒\n12、修复“客户端类_发送并取回1”的数据类型错误,感谢会员gotomiss的提醒\n\n1、优化“网页_访问”相关命令的备注,感谢会员御风软件提醒\n2、优化“网页_访问”相关命令的自动转码功能,支持XML页面\n3、优化“文本_取中间_批量_正则方式”支持换行符\n\n精易模块 V3.32 what’s new:(20130207)\n1、修正“文本_删除指定文件行”命令,无法删除最后一行的BUG,感谢会员陌笔圣手提醒\n2、修正“内存_优化”命令的优化间隔无法调整的问题,感谢会员御风软件提醒\n3、优化“cmd_移动并运行”防止文件路径带空格执行失败,感谢会员jixun66提醒\n4、优化“窗口_枚举”命令,无法枚举隐藏窗口的问题,感谢会员微凉提醒\n5、优化“类_线程池1”去除部分无效的命令,感谢会员微凉提醒\n6、修正“网页_验证码同步”命令会清空剪辑板的问题,感谢会员于哈三轮车提醒\n7、优化“网页_访问”的自动解码能力,感谢会员御风软件建议\n8、增加“数组_去重复1”可去除带有特殊字符的数组,但效率较慢,感谢会员zengxming提醒\n9、优化“系统_检测host”,感谢会员jixun66提醒\n10、修正“易语言_加快捷方式到IE浏览器”第二个参数无效的BUG,感谢会员jixun66提醒\n11、修正“置入汇编\u003Cem\u003E代码\u003C\u002Fem\u003E”无效的问题,感谢会员jixun66提醒\n12、添加“网页_访问s”命令,使用WinInet的方式访问网页,懒人专用自动返回文本\n13、添加“系统_是否64位操作系统”命令\n14、修复“程序_是否被调试”,返回结果是相反的问题,感谢会员yaoying68的提醒\n15、修复“程序_禁止重复运行”部分参数无效的问题,感谢会员yaoying68的提醒\n16、修复“系统_取星座”命令的错别字,感谢会员xzlch的提醒\n17、添加“窗口_控件调整_创建”和销毁,感谢会员啸锐\u003Cem\u003E提供\u003C\u002Fem\u003E\n18、修复“取指针地址_整数型”的返回结果不准确的问题,感谢会员 神一样的男人!提醒\n\n精易模块 V3.31 what’s new:(20130126)\n1、修正“内存.读文本”命令,会崩溃的问题,感谢会员 陌笔圣手提醒\n2、修正“网页_访问”命令,代理IP可能失效的BUG\n3、添加“编码_编码转换对象”命令,使用对象转码更加稳定\n4、添加“文件_循环删除文件”命令\n5、优化“cmd_删除自身”命令,只读文件也可删除\n6、添加“系统_以管理员模式创建进程”命令\n7、添加“系统_注册组件”、“系统_卸载组件 ()”命令,用于注册和卸载dll组件\n8、添加“写注册项Ex”命令,用于写入带有斜杠的注册项\n9、添加“窗口_模糊遍历窗口”命令,用于模糊枚举窗口\n10、添加“窗口_取进程路径”命令\n11、添加“系统_检测host”命令,用于检测host是否被修改\n12、添加“文件_枚举1”命令,用于高速枚举文件\n13、添加“窗口_取字符串宽度”命令\n14、添加“窗口_按类名枚举”命令\n15、添加“窗口_强制显示”命令\n16、优化“系统_取硬盘特征字”的运行速度\n\n精易模块 V3.3 what’s new:(20130119)\n1、重写“网页_访问”命令,优化参数排序,增加智能解码功能,兼容黑月\n2、重写“网页_访问_对象”,优化参数排序,增加自动处理Cookie功能\n3、重写“网页_\u003Cem\u003EJS\u003C\u002Fem\u003E格式化”,采用了国外优秀的开源库,准确无误\n4、修正“清除Cookie”命令无法彻底清除部分Cookie的问题\n5、增加“文本_去重复文本”命令\n6、修正“网页_取端口”,遇到ssl的网站,会返回错误的问题\n7、修正“文件_定位”,在某些情况下,会失效的BUG\n8、优化“线程_等待”命令的,超时参数,加入无限等待\n9、增加“类_线程池1”,更加灵活的线程池模型\n10、增加“系统_修改MAC地址”可修改本机mac地址,重启后生效\n11、增加“系统_删除MAC地址”删除注册表内的mac地址\n12、优化“FTP_”程序集,改为类模块,更加灵活调用\n13、修正“网页_取Cookie”命令无法取出部分Cookie的BUG\n14、重写“网页_Cookie合并更新”命令优化\u003Cem\u003E代码\u003C\u002Fem\u003E结构\n15、修复“网页_屏蔽网页复制提示”在某些情况下无法立即生效的BUG","createTime":"2015-03-21 22:03:37","dataReportQuery":"spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-3-8521685-bbs-391813052.264^v3^pc_relevant_bbs_down_v2_default&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-3-8521685-bbs-391813052.264^v3^pc_relevant_bbs_down_v2_default","dataReportClick":"{\"mod\":\"popu_645\",\"index\":\"3\",\"dest\":\"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fqq598888903\u002F8521685\",\"strategy\":\"2~default~OPENSEARCH~Rate\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-3-8521685-bbs-391813052.264^v3^pc_relevant_bbs_down_v2_default\\\",\\\"dist_request_id\\\":\\\"1772778361179_74962\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","dataReportView":"{\"mod\":\"popu_645\",\"index\":\"3\",\"dest\":\"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fqq598888903\u002F8521685\",\"strategy\":\"2~default~OPENSEARCH~Rate\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-3-8521685-bbs-391813052.264^v3^pc_relevant_bbs_down_v2_default\\\",\\\"dist_request_id\\\":\\\"1772778361179_74962\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","type":"download"},{"url":"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fa525235942\u002F2284257","title":"网管教程 从入门到精通软件篇.txt","desc":"网管教程 从入门到精通软件篇\n\n\n★一。★详细的xp修复控制台命令和用法!!! \n放入xp(2000)的光盘,安装时候选R,修复! \nWindows XP(包括 Windows 2000)的控制台命令是在系统出现一些意外情况下的一种非常有效的诊断和测试以及恢复系统功能的工具。小编的确一直都想把这方面的命令做个总结,这次辛苦老范给我们整理了这份实用的秘笈。 \n  Bootcfg \n  bootcfg 命令启动配置和故障恢复(对于大多数计算机,即 boot.ini 文件)。 \n  含有下列参数的 bootcfg 命令仅在使用故障恢复控制台时才可用。可在命令提示符下使用带有不同参数的 bootcfg 命令。 \n  用法: \n  bootcfg \u002Fdefault  设置默认引导项。 \n  bootcfg \u002Fadd    向引导列表中添加 Windows 安装。 \n  bootcfg \u002Frebuild  重复全部 Windows 安装过程并允许用户选择要添加的\u003Cem\u003E内容\u003C\u002Fem\u003E。 \n  注意:使用 bootcfg \u002Frebuild 之前,应先通过 bootcfg \u002Fcopy 命令备份 boot.ini 文件。 \n  bootcfg \u002Fscan    扫描用于 Windows 安装的所有磁盘并显示结果。 \n  注意:这些结果被静态存储,并用于本次会话。如果在本次会话期间磁盘配置发生变化,为获得更新的扫描,必须先重新启动计算机,然后再次扫描磁盘。 \n  bootcfg \u002Flist   列出引导列表中已有的条目。 \n  bootcfg \u002Fdisableredirect 在启动引导程序中禁用重定向。 \n  bootcfg \u002Fredirect [ PortBaudRrate] |[ useBiosSettings] \n  在启动引导程序中通过指定配置启用重定向。 \n  范例: \nbootcfg \u002Fredirect com1 115200 \nbootcfg \u002Fredirect useBiosSettings \n  hkdsk \n  创建并显示磁盘的状态报告。Chkdsk 命令还可列出并纠正磁盘上的错误。 \n  含有下列参数的 chkdsk 命令仅在使用故障恢复控制台时才可用。可在命令提示符下使用带有不同参数的 chkdsk 命令。 \n  vol [drive:] [ chkdsk [drive:] [\u002Fp] [\u002Fr] \n  参数  无 \n  如果不带任何参数,chkdsk 将显示当前驱动器中的磁盘状态。 \ndrive: 指定要 chkdsk 检查的驱动器。 \n\u002Fp   即使驱动器不在 chkdsk 的检查范围内,也执行彻底检查。该参数不对驱动器做任何更改。 \n\u002Fr   找到坏扇区并恢复可读取的信息。隐含着 \u002Fp 参数。 \n  注意 \nChkdsk 命令需要 Autochk.exe 文件。如果不能在启动目录(默认为 %systemroot%System32)中找到该文件,将试着在 Windows 安装 CD 中找到它。如果有多引导系统的计算机,必须保证是在包含 Windows 的驱动器上使用该命令。 \nDiskpart \n  创建和删除硬盘驱动器上的分区。diskpart 命令仅在使用故障恢复控制台时才可用。 \n  diskpart [ \u002Fadd |\u002Fdelete] [device_name |drive_name |partition_name] [size] \n  参数 无 \n  如果不带任何参数,diskpart 命令将启动 diskpart 的 Windows 字符模式版本。 \n  \u002Fadd \n  创建新的分区。 \n  \u002Fdelete \n  删除现有分区。 \n  device_name \n  要创建或删除分区的设备。设备名称可从 map 命令的输出获得。例如,设备名称: \n  DeviceHardDisk0 \n  drive_name \n  以驱动器号表示的待删除分区。仅与 \u002Fdelete 同时使用。以下是驱动器名称的范例: \n  D: \n  partition_name \n  以分区名称表示的待删除分区。可代替 drive_name 使用。仅与 \u002Fdelete 同时使用。以下是分区名称的范例: \n  DeviceHardDisk0Partition1 \n   大小 \n  要创建的分区大小,以兆字节 (MB)表示。仅与 \u002Fadd 同时使用。 \n  范例 \n  下例将删除分区: \ndiskpart \u002Fdelete Device HardDisk0 Partition3 \ndiskpart \u002Fdelete F: \n  下例将在硬盘上添加一个 20 MB 的分区: \n  diskpart \u002Fadd Device HardDisk0 20 \n  Fixboot \n  向系统分区写入新的分区引导扇区。只有在使用故障恢复控制台时,才能使用 fixboot 命令。 \n  fixboot [drive] \n  参数  驱动器 \n  将要写入引导扇区的驱动器。它将替代默认的驱动器(即用户登录的系统分区)。例如,驱动器:D: \n  范例 \n  下列命令范例向驱动器 D: 的系统分区写入新的分区引导扇区: \n  fixboot d: \n  注意: 如果不带任何参数,fixboot 命令将向用户登录的系统分区写入新的分区引导扇区。 \n  Fixmbr \n  修复启动磁盘的 主启动记录。fixmbr 命令仅在使用故障恢复控制台时才可用。 \n  fixmbr [ device_name] \n  参数 \n  device_name \n  要写入新的主引导记录的设备(驱动器)。设备名称可从 map 命令的输出获得。例如,设备名称: \n  DeviceHardDisk0 \n  范例 \n  下列命令示例向指定设备写入一个新的主引导记录: \n  fixmbr DeviceHardDisk0 \n  注意 \n如果不指定 device_name,新的主引导记录将被写入引导设备,即装载主系统的驱动器。 \n如果系统检测到无效或非标准分区表标记,将提示用户是否继续执行该命令。除非您访问驱动器有问题,否则不要继续进行。向系统分区写入新的主引导记录可能破坏分区表并导致分区无法访问。 \n  format \n  将指定的驱动器格式化为指定的文件系统。含有下列参数的 format 命令仅在使用故障恢复控制台时才可用。可在命令提示符下使用带有不同参数的 format 命令。 \n  format [ drive:] [ \u002Ffs:file-system] \n  参数 \n  drive: \n  指定要格式化的驱动器。不能从故障恢复控制台格式化软盘。 \n  \u002Fq \n  对驱动器进行快速格式化。不扫描驱动器看是否有坏区域,因此只应对以前格式化过的驱动器使用该参数。 \n  \u002Ffs:file-system \n  指定要使用的文件系统:FAT、FAT32 或 NTFS 。如果未指定文件系统,将使用现有的文件系统格式。 \n  Map \n  显示驱动器号与物理设备名称的映射。该信息在运行 fixboot 和 fixmbr 命令时非常有用。 \n  map 命令仅在使用故障恢复控制台时才可用。 \n  Map [ arc] \n  参数 \n  arc \n  指示 map 命令显示高级 RISC 计算 (ARC)设备名称而不是设备名称。以下是 ARC 设备名称的范例: \n  multi(0)disk(0)rdisk(0)partition(1) \n  等价的设备名称是: \n  DeviceHardDisk0Partition1 \n  范例 \n  下例将物理设备名映射为使用 ARC 设备名称的驱动器号: \n  map arc \n  注意 \n如果不使用 arc 参数,则 map 命令显示设备名称。 \nmap 命令还显示文件系统的类型和每个磁盘的大小(MB)。 \n二。★★★常见文件扩展名和它们的说明 \n常见文件扩展名和它们的说明 \nA \nACE:Ace压缩档案格式 \nACT:Microsoft office助手文件 \nAIF,AIFF:音频互交换文件,Silicon Graphic and Macintosh应用程序的声音格式 \nANI:Windows系统中的动画光标 \nARC:LH ARC的压缩档案文件 \nARJ:Robert Jung ARJ压缩包文件 \nASD:Microsoft Word的自动保存文件;Microsoft高级流媒体格式(microsoft advanced streaming \nformat,ASF)的描述文件;可用NSREX打开 Velvet Studio例子文件 \nASF:Microsoft高级流媒体格式文件 \nASM:汇编语言源文件,Pro\u002FE装配文件 \nASP:动态网页文件;ProComm Plus安装与连接脚本文件;Astound介绍文件 \nAST:Astound多媒体文件;ClarisWorks“助手”文件 \nAxx:ARJ压缩文件的分包序号文件,用于将一个大文件压至几个小的压缩包中(xx取01-99的数字) \nA3L:Authorware 3.x库文件 \nA4L:Authorware 4.x库文件 \nA5L:Authorware 5.x库文件 \nA3M,A4M:Authorware Macintosh未打包文件 \nA3W,A4W,A5W:未打包的Authorware Windows文件 \nB \nBAK:备份文件 \nBAS:BASIC源文件 \nBAT:批处理文件 \nBIN:二进制文件 \nBINHex:苹果的一种编码格式 \nBMP:Windows或OS\u002F2位图文件 \nBOOK:Adobe FrameMaker Book文件 \nBOX:Lotus Notes的邮箱文件 \nBPL:Borlard Delph 4打包库 \nBSP:Quake图形文件 \nBUN:CakeWalk 声音捆绑文件(一种MIDI程序) \nC \nC0l:台风波形文件 \nCAB:Microsoft压缩档案文件 \nCAD:Softdek的Drafix CAD文件 \nCAM:Casio照相机格式 \nCAP:压缩音乐文件格式 \nCAS:逗号分开的ASCⅡ文件 \nCCB:Visual Basic动态按钮配置文件 \nCCH:Corel图表文件 \nCCO:CyberChat数据文件 \nCCT:Macromedia Director Shockwave投影 \nCDA:CD音频轨道 \nCDF:Microsoft频道定义格式文件 \nCDI:Philip的高密盘交互格式 \nCDM:Visual dBASE自定义数据模块文件 \nCDR:CorelDRAW绘图文件;原始音频CD数据文件 \nCDT:CorelDRAW模板 \nCDX:CorelDRAW压缩绘图文件;Microsoft Visual FoxPro索引文件 \nCFG:配置文件 \nCGI:公共网关接口脚本文件 \nCGM:计算机图形元文件 \nCH:OS\u002F2配置文件 \nCHK:由Windows磁盘碎片整理器或磁盘扫描保存的文件碎片 \nCHM:编译过的HTML文件 \nCHP:Ventura Publisher章节文件 \nCHR:字符集(字体文件) \nCHT:ChartViem文件;Harvard Graphics矢量文件 \nCIF:Adaptec CD 创建器 CD映像文件 \nCIL:Clip Gallery下载包 \nCIM:SimCity 2000文件 \nCIN:OS\u002F2改变控制文件用于跟踪INI文件中的变化 \nCLASS:Java类文件 \nCLP:Windows 剪贴板文件 \nCLL:Crick Software Clicker文件 \nCLS:Visual Basic类文件 \nCMD:Windows NT,OS\u002F2的命令文件;DOS CD\u002FM命令文件;dBASEⅡ程序文件 \nCPI:Microsoft MS-DOS\u003Cem\u003E代码\u003C\u002Fem\u003E页信息文件 \nCPL:控制面板扩展名,Corel颜色板 \nCPP:C++\u003Cem\u003E代码\u003C\u002Fem\u003E文件 \nCPR:Corel\u003Cem\u003E提供\u003C\u002Fem\u003E说明书文件 \nCPT:Corel 照片-绘画图像 \nCST:Macromedia Director Cast文件 \nCUR:Windows光标文件 \nD \nDBF:dBASE文件,一种由Ashton-Tate创建的格式,可以被ACT!、Lipper、FoxPro、Arago、Wordtech、Xbase和类似数据库或与数据库有关产品识别;可用数据文件(能被Excel \n97打开);Oracle 8.1.x表格空间文件 \nDBX:DataBearn图像;Microsoft Visual FoxPro表格文件 \nDCT:Microsoft Visual FoxPro数据库容器 \nDCU:Delphi编译单元文件 \nDCX:Microsoft Visual FoxPro数据库容器;基于PCX的传真图像;宏 \nDIR:MacromediaDirector文件 \nDLL:动态链接库 \nDOC:FrameMaker或FrameBuilder文档;Word Star文档、Word \nPerfect文档、Microsoft:Word文档;DisplayWrite文档 \nDOT:Microsoft Word文档模板 \nDPL:Borland Delph 3压缩库 \nDRV:驱动程序 \nDRW:Micrografx Designer\u002FDraw;Pro\u002FE绘画文件 \nDSF:Micrografx Designer VFX文件 \nDSG:DOOM保存的文件 \nDSM:Dynamic Studio音乐模块(MOD)文件 \nDSP:Microsoft Developer Studio工程文件 \nDSQ:Corel QUERY(查询)文件 \nDST:刺绣机图形文件 \nDSW:Microsoft Developer Studio工作区文件 \nDTA:World Bank(世界银行)的STARS数据文件 \nDTD:SGML文档类型定义(DTD)文件 \nDTED:地面高度数字数据(图形的数据格式)文件 \nDTF:Symantec Q&A相关的数据库数据文件 \nDTM:DigiTrakker模块文件 \nDUN:Microsoft拔号网络导出文件 \nDV:数字视频文件(MIME) \nDWG:AutoCAD工程图文件;AutoCAD或Generic CADD老版本的绘图格式 \nDXR:Macromedia Director受保护(不可编辑)电影文件 \nE \nEDA:Ensoniq ASR磁盘映像 \nEDD:元素定义文档(FrameMaker+SGML文档) \nEDE:Ensoniq EPS磁盘映像 \nEDK:Ensoniq KT磁盘映像 \nEDQ:Ensoniq SQ1\u002FSQ2\u002FKs32磁盘映像 \nEDS:Ensoniq SQ80磁盘映像 \nEDV:Ensoniq VFX-SD磁盘映像 \nEFA:Ensoniq ASR文件 \nEFE:Ensoniq EPS文件 \nEFK:Ensoniq KT文件 \nEFQ:Ensoniq SQ1\u002FSQ2\u002FKs32文件 \nEFS:Ensoniq SQ80文件 \nEFV:Ensoniq VFX-SD文件 \nEMD:ABT扩展模块 \nEMF:Windows增强元文件 \nEML:Microsoft Outlook Express邮件消息(MIME RTC822)文件 \nEXE:可执行文件(程序) \nF \nFAV:Microsoft Outlook导航条 \nFAX:传真类型图像 \nFCD:虚拟CD-ROM \nFDF:Adobe Acrobat表单文档文件 \nFLA:Macromedia Flash电影 \nFND:Microsoft Explorer保存的搜索文件(Find applet) \nFON:系统字体 \nFRT:Microsoft FoxPro报表文件 \nFRX:Visual Basic表单文本;Microsoft FoxPro报表文件 \nFXP:经Microsoft FoxPro编译的源文件 \nG \nGDM:铃声、口哨声和声音板模块格式 \nGetRight:GetRight未完成的下载文件 \nGHO:Norton 克隆磁盘映像 \nGID:Windows 95全局索引文件(包括帮助状态) \nGIF:CompuServe位图文件 \nGL:动画格式 \nGRP:程序管理组 \nH \nHEX:Macintosh BinHex2.0文件 \nHLP:帮助文件;Date CAD Windows帮助文件 \nHPP:C++程序头文件 \nHQX:Macintosh BinHex 4.0文件 \nHT:HyperTerminal(超级终端) \nHTM,HTML:超文本文档 \nHTT:Microsoft超文本模板 \nHTX:扩展HTML模板 \nI \nICO:Windows图标 \nIDX:Microsoft FoxPro相关数据库索引文件;Symantec Q&A相关数据库索引文件;Microsoft Outlook \nExpress文件 \nIMG:GEM映像 \nINF:信息文件 \nINI:初始化文件;Mwave DSP Synth的“nwsynth.ini” GMS安装;Cravis Ultrasound bank安装 \nINP:Oracle 3.0版或早期版本的表单源\u003Cem\u003E代码\u003C\u002Fem\u003E \nINRS:INRS远程通信声频 \nINS:InstallShield安装脚本;X-Internet签字文件;Ensoniq EPS字簇设备;Cell\u002FⅡMAC\u002FPC抽样设备 \nINT:中间\u003Cem\u003E代码\u003C\u002Fem\u003E,当一个源程序经过语法检查后编译产生一个可执行\u003Cem\u003E代码\u003C\u002Fem\u003E \nIOF:Findit文档 \nIQY:Microsoft Internet查询文件 \nISO:根据ISD 9660有关CD-ROM文件系统标准列出CD-ROM上的文件 \nISP:X-Internet签字文件 \nIST:数字跟踪设备文件 \nISU:InstallShield卸装脚本 \nIT:脉冲跟踪系统音乐模块(MOD)文件 \nITI:脉冲跟踪系统设备 \nITS:脉冲跟踪系统抽样,Internet文档位置 \nIV:Open Inventor中使用的文件格式 \nIVD:超过20\u002F20微观数据维数或变量等级文件 \nIVP:超过20\u002F20的用户子集配置文件 \nIVT:超过20\u002F20表或集合数据文件 \nIVX:超过20\u002F20微数据目录文件 \nIW:Idlewild屏幕保护程序 \nIWC:Install Watch文档 \nJ \nJ62:Ricoh照相机格式 \nJAR:Java档案文件(一种用于applet和相关文件的压缩文件) \nJAVA:Java源文件 \nJAR:Java档案文件(一种用于applet和相关文件的压缩文件) \nJAVA:Java源文件 \nJFF,JFIF,JIF:JPEG文件 \nJPE,JPEG,JPG:JPEG图形文件 \n\u003Cem\u003EJS\u003C\u002Fem\u003E:javascript源文件 \n\u003Cem\u003EJS\u003C\u002Fem\u003EP:HTML网页,其中包含有对一个Java servlet的参考 \nK \nKAR:卡拉OK MIDI文件(文本+MIDI) \nL \nLAB:Visual dBASE标签文件 \nLBT,LBX:Microsoft FoxPro标签文件 \nLDB:Microsoft Access加锁文件 \nLHA:LZH更换文件后缀 \nLOG:日志文件 \nLZH:LH ARC压缩档案 \nM \nM1V:MPEG相关文件(MIME\"mpeg\"类型) \nM3D:Corel Motion 3D动画文件 \nM3U:MPEG \u003Cem\u003EURL\u003C\u002Fem\u003E(MIME声音文件) \nMAM:Microsoft Access宏 \nMAQ:Microsoft Access查询文件 \nMAR:Microsoft Access报表文件 \nMBX:Microsoft Outlook保存email格式;Eudora邮箱 \nMCW:Microsoft Word的Macintosh文档 \nMDB:Microsoft Access数据库 \nMDN:Microsoft Access空数据库模板 \nMDW:Microsoft Access工作组文件 \nMID:MIDI音乐 \nMMM:Microsoft多媒体电影 \nMOV:QuickTime for Windows电影 \nMP2:第二层MPEG音频文件 \nMP3:第三层MPEG音频文件 \nMPA:MPEG相关文件,MIME“mpeg类型” \nMPE,MPEG,MPG:MPEG动画文件 \nMPP:Microsoft工程文件;CAD绘图文件格式 \nMPR:Microsoft FoxPro菜单(已编译) \nMSI:Windows 安装器包 \nMSN:Microsoft 网络文档;Descent Mission文件 \nO \nOBD:Microsoft Office活页夹 \nOBJ:对象文件 \nOBZ:Microsoft Office活页夹向导 \nOCX:Microsoft对象链接与嵌入定制控件 \nODS:Microsoft Outlook Express邮箱文件 \nOFT:Microsoft Outlook模板 \nOPX:OPL扩展DLL(动态链接库) \nOSS:Microsoft Office查找文件 \nOST:Microsoft Exchange \u002F Outlook 离线文件 \nP \nPAL:压缩文件 \nPART:Go!Zilla部分下载文件 \nPAS:Pascal源\u003Cem\u003E代码\u003C\u002Fem\u003E \nPCS:PICS动画文件 \nPDF:Adobe Acrobat \n可导出文档格式文件(可用Web浏览器显示);Microsoft系统管理服务器包定义文件;NetWare打印机定义文件 \nPHP,PHP3:包含有PHP脚本的HTML网页 \nPHTML:包含有PHP脚本的HTML网页;由Perl分析解释的HTML \nPM5:Pagemaker 5.0文件 \nPM6:Pagemaker 6.0文件 \nPPS:Microsoft Powerpoint幻灯片放映 \nPPT:Microsoft Powerpoint演示文稿 \nPRF:Windows系统文件,Macromedia导演设置文件 \nPSD:Adobe photoshop位图文件 \nPSM:Protracker Studio模型格式;Epic游戏的源数据文件 \nPST:Microsoft Outlook个人文件夹文件 \nPWL:Windows 95口令列表文件 \nQ \nQIF:QuickTime相关图像(MIME);Quicken导入文件 \nQT,QTM:QuickTime电影 \nQTI,QTIF:QuickTime相关图像 \nQTP:QuickTime优先文件 \nQTS:Mac PICT图像文件;QuickTime相关图像 \nQTX:QuickTime相关图像 \nR \nRA:RealAudio声音文件 \nRAM:RealAudio元文件 \nRAR:RAR压缩档案(Eugene Roshall格式) \nREC:录音机宏;RapidComm声音文件 \nREG:注册表文件 \nREP:Visual dBASE报表文件 \nRES:Microsoft Visual C++资源文件 \nRM:RealAudio视频文件 \nRMF:Rich Map格式(3D游戏编辑器使用它来保存图) \nROM:基于盒式磁带的家庭游戏仿真器文件(来自Atari \n2600、Colecovision、Sega、Nintendo等盒式磁带\u003Cem\u003E里\u003C\u002Fem\u003E的ROM完全拷贝,在两个仿真器之间不可互修改) \nRxx:多卷档案上的RAR压缩文件(xx=1~99间的一个数字) \nS \nSAV:游戏保存文件 \nSB:原始带符号字节(8位)数据 \nSBK:Creative Labs的Soundfont 1.0 Bank文件;(Soundb laster)\u002FEMU SonndFont v1.x \nBank文件 \nSBL:Shockwave Flash对象文件 \nSCF:Windows Explorer命令文件 \nSCH:Microsoft Schedule+1 \nSCP:拨号网络脚本文件 \nSCR:Windows屏幕保护;传真图像;脚本文件 \nSFX:RAR自解压档案 \nSHTML:含有服务器端包括(SSI)的HTML文件 \nSPL:Shockwave Flash对象;DigiTrakker抽样 \nSQL:Informix SQL查询;通常被数据库产品用于SQL查询(脚本、文本、二进制)的文件扩展名 \nSTM:.shtml的短后缀形式,含有一个服务端包括(SSI)的HTML文件;Scream Tracker V2音乐模块(MOD)文件 \nSTR:屏幕保护文件 \nSWA:在Macromedia导演文件(MP3文件)中的Shockwave声音文件 \nSWF:Shockwave Flash对象 \nSYS:系统文件 \nT \nT64:Commodore 64仿真器磁带映像文件 \nTHEME:Windows 95桌面主题文件 \nTIF,TIFF:标签图像文件格式(TIFF)位图 \nTMP:Windows临时文件 \nTRM:终端文件 \nTXT:ASCⅡ文本格式的声音数据 \nTZ:老的压缩格式文件 \nV \nVBA:VBase文件 \nVBP:Microsoft Visual Basic工程文件 \nVBW:Microsoft Visual Basic工作区文件 \nVBX:Microsoft Visual Basic用户定制控件 \nVQE,VQL:Yamaha Sound-VQ定位器文件 \nVQF:Yamaha Sound-VQ文件(可能出现标准) \nVRF:Oracle 7配置文件 \nVSL:下载列表文件(GetRight) \nW \nWAB:Microsoft Outlook文件 \nWAD:包含有视频、玩家水平和其他信息的DOOM游戏的大文件 \nWAL:Quake 2正文文件 \nWAV:Windows波形声形 \nWBK:Microsoft Word备份文件 \nWFM:Visual dBASE Windows表单 \nWFN:在CorelDRAW中使用的符号 \nWIZ:Microsoft Word向导 \nWRL:虚拟现实模型 \nWWL:Microsoft Word内插器文件 \nX \nXLK:Microsoft Excel备份 \nXLL:Microsoft Excel内插器文件 \nXLM:Microsoft Excel宏 \nXLS:Microsoft Excel工作单 \nXLT:Microsoft Excel模板 \nXLV:Microsoft Excel VBA模块 \nXLW:Microsoft Excel工作簿\u002F工作区 \nZ \nZAP:Windows软件安装配置文件 \nZIP:Zip文件 \n000-999:用于为老版本(或备份)文件编号(比如:被安装程序改变的CONFIG.SYS文件);又可用于为小范围的PC应用程序的多个用户相关数据文件编号 \n12M:Lotus 1-2-3 97 SmartMaster文件 \n123:Lotus 1-2-3 97文件 \n2D:VersaCAD的2维绘画文件 \n2GR,3GR:在Windows之下的VGA图形驱动程序\u002F配置文件 \n386:在386或更高级处理器上使用的文件 \n3D:VersaCAD的3维绘画文件 \n3DM:3D NURBS建模器,Rhino \n3DS:3D Studio(DOS下)格式文件 \n386:在386或更高级处理器上使用的文件 \n4GE:Informix 4GL编译后\u003Cem\u003E代码\u003C\u002Fem\u003E \n4GL:Informix 4GL源\u003Cem\u003E代码\u003C\u002Fem\u003E \n669:Composer 669;UNIX Composer音乐模型文件;669磁道模块 \n#01 及更高的号:为计算机演示而扫描的一系列电影的图片文件编号方法 \n???:OS\u002F2用来跟踪档案文件 \n@@@:用于安装过程中的屏幕文件和用于Microsoft Code view for C这样的应用程序的指导文件 \n[color=#6b6b6b] [\u002Fcolor]\n三。★★★GHOST怎么用? \n系统备份 \n使用Ghost进行系统备份,有整个硬盘(Disk)和分区硬盘(Partition)两种方式。在菜单中点击Local(本地)项,在右面\u003Cem\u003E弹出\u003C\u002Fem\u003E的菜单中有3个子项,其中Disk表示备份整个硬盘(即克隆)、Partition表示备份硬盘的单个分区、Check表示检查硬盘或备份的文件,查看是否可能因分区、硬盘被破坏等造成备份或还原失败。分区备份作为个人用户来保存系统数据,特别是在恢复和复制系统分区时具有实用价值。 \n选Local→Partition→To Image菜单,\u003Cem\u003E弹出\u003C\u002Fem\u003E硬盘选择窗口,开始分区备份操作。点击该窗口中白色的硬盘信息条,选择硬盘,进入窗口,选择要操作的分区(若没有鼠标,可用键盘进行操作:TAB键进行切换,回车键进行确认,方向键进行选择)。 在\u003Cem\u003E弹出\u003C\u002Fem\u003E的窗口中选择备份储存的目录路径并输入备份文件名称,注意备份文件的名称带有GHO的后缀名。 接下来,程序会询问是否压缩备份数据,并给出3个选择:No表示不压缩,Fast表示压缩比例小而执行备份速度较快,High就是压缩比例高但执行备份速度相当慢。最后选择Yes按钮即开始进行分区硬盘的备份。Ghost备份的速度相当快,不用久等就可以完成,备份的文件以GHO后缀名储存在设定的目录中。 \n系统克隆 \n硬盘的克隆就是对整个硬盘的备份和还原。选择菜单Local→Disk→To Disk,在\u003Cem\u003E弹出\u003C\u002Fem\u003E的窗口中选择源硬盘(第一个硬盘),然后选择要复制到的目标硬盘(第二个硬盘)。注意,可以设置目标硬盘各个分区的大小,Ghost可以自动对目标硬盘按设定的分区数值进行分区和格式化。选择Yes开始执行。 \nGhost能将目标硬盘复制得与源硬盘几乎完全一样,并实现分区、格式化、复制系统和文件一步完成。只是要注意目标硬盘不能太小,必须能将源硬盘的数据\u003Cem\u003E内容\u003C\u002Fem\u003E装下。 \nGhost还\u003Cem\u003E提供\u003C\u002Fem\u003E了一项硬盘备份功能,就是将整个硬盘的数据备份成一个文件保存在硬盘上(菜单Local→Disk→To Image),然后就可以随时还原到其他硬盘或源硬盘上,这对安装多个系统很方便。使用方法与分区备份相似。 \n系统还原 \n如果硬盘中备份的分区数据受到损坏,用一般数据修复方法不能修复,以及系统被破坏后不能启动,都可以用备份的数据进行完全的复原而无须重新安装程序或系统。当然,也可以将备份还原到另一个硬盘上。 \n要恢复备份的分区,就在界面中选择菜单Local→Partition→From Image,在\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口中选择还原的备份文件,再选择还原的硬盘和分区,点击Yes按钮即可。 \n软件特性 \n存贮介质 \nGhost 支持的存储介质超出了我们的想象,它支持对等LPT接口、对等USB接口、对等TCP\u002FIP接口、SCSI磁带机、便携式设备(JAZ、ZIP、MO等)、光盘刻录机(CDR、CDRW)等。而这些特性不需要任何外带的驱动程序和软件,只需一张软盘就可以做到!特别是对光盘刻录机的支持,如今的刻录机和空白光盘都十分便宜,非常适合作备份的用途。 \n兼容性 \nGhost 对现有的操作系统都有良好的支持,包括FAT16、FAT32、NTFS、HPFS、UNIX、NOVELL等文件存储格式。同以前版本不同的是,Ghost 2001加入了对Linux EX2的支持(FIFO文件存储格式),这也就意味着Linux的用户也可以用Ghost来备份系统了。 \n配套软件支持 \nGhost浏览器:在以前的Ghost版本中,我们只能对系统进行简单的备份、复制、还原,要恢复单个的文件和文件夹还要使用外带的GhostEXP软件。现在,Symantec公司已经将Ghost浏览器整合在软件中。Ghost浏览器采用类似于资源管理器的界面,通过它,我们可以方便迅速地在备份包中找出我们想要的文件和文件夹并还原。 \nGdisk:Gdisk是一个新加入的实用工具,它彻底取代了FDisk和format: \n* 快速格式化。 \n* 隐藏和显示分区的能力。此功能允许一个以上的主DOS分区,并且每个分区上的操作系统有不同的版本。隐藏分区的能力使计算机习惯于引导到选定的可引导分区,忽略其他隐藏分区中相同操作系统的安装。 \n* 全面的分区报告。 \n* 高度安全的磁盘擦除。\u003Cem\u003E提供\u003C\u002Fem\u003E符合美国国防部标准和更高安全标准的磁盘擦除选项。 \n和使用交互式菜单的FDisk不同,GDisk是由命令行驱动的。这\u003Cem\u003E提供\u003C\u002Fem\u003E了更快的配置磁盘分区和在批处理文件中定义GDisk操作的能力。但与此同时,几十个参数会令普通用户头疼,因此笔者不推荐一般用户使用,Symantec公司也应该推出相应的GUI(图形用户界面)控制台以方便用户使用。具体的参数说明可以用命令行gdisk\u002F?了解。 \nLive Update \nLive Update是Symantec公司软件的一个通用升级程序,它能够检查当前系统中已安装的Symantec软件,并且通过英特网对软件进行在线升级。 \n在安装Ghost 2001时,安装程序自动升级了Live Update程序的版本。 \nGhost 的进阶篇 \n附加的命令行参数:(限Ghost的无人备份\u002F恢复\u002F复制) \n其实Ghost 2001的功能远远不止它主程序中显示的那些,Ghost可以在其启动的命令行中添加众多参数以实现更多的功能。命令行参数在使用时颇为复杂,不过我们可以制作批处理文件,从而“一劳永逸”(类似于无人安装Windows 98和Windows 2000)现在让我们来了解一些常用的参数(了解更加详细的参数介绍可查看Ghost的帮助文件)。 \n1.-rb \n本次Ghost操作结束退出时自动重启。这样,在复制系统时就可以放心离开了。 \n2.-fx \n本次Ghost操作结束退出时自动回到DOS提示符。 \n3.-sure \n对所有要\u003Cem\u003E求\u003C\u002Fem\u003E确认的提示或警告一律回答“Yes”。此参数有一定危险性,只建议高级用户使用。 4.-fro \n如果源分区发现坏簇,则略过提示强制拷贝。此参数可用于试着挽救硬盘坏道中的数据。 \n[email=5.@filename][color=#0000ff]5.@filename[\u002Fcolor][\u002Femail] \n在filename中指定txt文件。txt文件中为Ghost的附加参数,这样做可以不受DOS命令行150个字符的限制。 \n6.-f32 \n将源FAT16分区拷贝后转换成FAT32(前提是目标分区不小于2G)。WinNT 4和Windows95、97用户慎用。 \n7.-bootcd \n当直接向光盘中备份文件时,此选项可以使光盘变成可引导。此过程需要放入启动盘。 \n8.-fatlimit \n将NT的FAT16分区限制在2G。此参数在复制Windows NT分区,且不想使用64k\u002F簇的FAT16时非常有用。 \n9.-span \n分卷参数。当空间不足时提示复制到另一个分区的另一个备份包。 \n10.-auto \n分卷拷贝时不提示就自动赋予一个文件名继续执行。 \n11.-crcignore \n忽略备份包中的CRC ERROR。除非需要抢救备份包中的数据,否则不要使用此参数,以防数据错误。 \n12.-ia \n全部映像。Ghost会对硬盘上所有的分区逐个进行备份。 \n13.-ial \n全部映像,类似于-ia参数,对Linux分区逐个进行备份。 \n14.-id \n全部映像。类似于-ia参数,但包含分区的引导信息。 \n15.-quiet \n操作过程中禁止状态更新和用户干预。 \n16.-script \n可以执行多个Ghost命令行。命令行存放在指定的文件中。 \n17.-span \n启用映像文件的跨卷功能。 \n18.-split=x \n将备份包划分成多个分卷,每个分卷的大小为x兆。这个功能非常实用,用于大型备份包复制到移动式存储设备上,例如将一个1.9G的备份包复制到3张刻录盘上。 \n19.-z \n将磁盘或分区上的\u003Cem\u003E内容\u003C\u002Fem\u003E保存到映像文件时进行压缩。-z或-z1为低压缩率(快速);-z2为高压缩率(中速);-z3至-z9压缩率依次增大(速度依次减慢)。 \n20.-clone \n这是实现Ghost无人备份\u002F恢复的核心参数。使用语法为: \n-clone,MODE=(operation),SRC=(source),DST=(destination),[SZE(size),SZE(size)......] \n此参数行较为复杂,且各参数之间不能含有空格。   其中operation意为操作类型,值可取:copy:磁盘到磁盘;load:文件到磁盘;dump:磁盘到文件;pcopy:分区到分区;pload:文件到分区;pdump:分区到文件。 \nSource意为操作源,值可取:驱动器号,从1开始;或者为文件名,需要写绝对路径。 \nDestination意为目标位置,值可取:驱动器号,从1开始;或者为文件名,需要写绝对路径;@CDx,刻录机,x表示刻录机的驱动器号,从1开始。 \n下面举例说明 \n命令行参数:ghostpe.exe -clone,mode=copy,src=1,dst=2 \n完成操作:将本地磁盘1复制到本地磁盘2。 \n命令行参数:ghostpe.exe -clone,mode=pcopy,src=1:2,dst=2:1 \n完成操作:将本地磁盘1上的第二分区复制到本地磁盘2的第一分区。 命令行参数:ghostpe.exe-clone,mode=load,src=g:Λprtdisk.gho,dst=1,sze1=450M,sze2=1599M,sze3=2047M \n完成操作:从映像文件装载磁盘1,并将第一个分区的大小调整为450MB,第二个调整为1599MB,第三个调整为2047MB。 \n命令行参数:ghostpe.exe -clone,mode=pdump,src2:1:4:6,dst=d:prt246.gho \n完成操作:创建仅具有选定分区的映像文件。从磁盘2上选择分区1、4、6。 \n了解了这些参数后,我们就可以轻松地实现Ghost的无人备份\u002F复制\u002F恢复了。冲杯咖啡吧。 \n一些示例 \nghost.exe -clone,mode=copy,src=1,dst=2 -sure \n硬盘对拷 \nghost.exe -clone,mode=pcopy,src=1:2,dst=2:1 -sure \n将一号硬盘的第二个分区复制到二号硬盘的第一个分区 \nghost.exe -clone,mode=pdump,src=1:2,dst=g:bac.gho \n将一号硬盘的第二个分区做成映像文件放到g分区中 \nghost.exe -clone,mode=pload,src=g:bac.gh2,dst=1:2 \n从内部存有两个分区的映像文件中,把第二个分区还原到硬盘的第二个分区 \nghost.exe -clone,mode=pload,src=g:bac.gho,dst=1:1 -fx -sure -rb \n用g盘的bac.gho文件还原c盘。完成后不显示任何信息,直接启动。 \nghost.exe -clone,mode=load,src=g:bac.gho,dst=2,SZE1=60P,SZE2=40P \n将映像文件还原到第二个硬盘,并将分区大小比例修改成60:40 \n还原磁盘 \n首先做一个启动盘,包含Config.sys,Autoexec.bat,Command.com,Io.sys,Ghost.exe文件(可以用windows做启动盘的程序完成)。 \nAutoexec.bat可以包含以下命令: \nGhost.exe -clone,mode=pload,src=d:bac.gho,dst=1:1 -fx -sure -rb \n利用在d盘的文件自动还原,结束以后自动跳出ghost并且重新启动。 \n开机自动做C区的备份,在D区生成备份文件bac.gho。 \nghost.exe -clone,mode=pdump,src=1:1,dst=d:bac.gho -fx -sure -rb \n还原光盘 \n包含文件:Config.sys,Autoexec.bat,Mscdex.exe(CDROM执行程序),Oakcdrom.sys(ATAPI CDROM兼容驱动程序),Ghost.exe \nConfig.sys\u003Cem\u003E内容\u003C\u002Fem\u003E为: \nDEVICE=OAKCDROM.SYS \u002FD:IDECD001 \nAutoexec.bat\u003Cem\u003E内容\u003C\u002Fem\u003E为: \nMSCDEX.EXE \u002FD:IDECE001 \u002FL:Z \nGhost -clone,mode=load,src=z:bac.gho,dst=1:1 -sure -rb \n可以根据下面的具体说明修改实例 \n-clone 在使用时必须加入参数,它同时也是所有的switch{batch switch}\u003Cem\u003E里\u003C\u002Fem\u003E最实用的一种,下面是clone所定义的参数 \n-clone, \nmode={copy|load|dump|pcopy|pload|pdump}, \nsrc={drive|file|driveartition}, \ndst={drive|file|driveartition} \nmode指定要使用哪种clone所\u003Cem\u003E提供\u003C\u002Fem\u003E的命令 \ncopy 硬盘到硬盘的复制(disk to disk copy) \nload 文件还原到硬盘(file to disk load) \ndump 将硬盘做成映像文件(disk to file dump) \npcopy 分区到分区的复制(partition to partition copy) \npload 文件还原到分区(file to partition load) \npdump 分区备份成映像文件(partition to file dump) \nsrc指定了ghost运行时使用的源分区的位置模式及其意义: \nmode命令 对应mode命令src所使用参数 例子 \nCOPY\u002FDUMP \n源硬盘号。 \n以1代表第一号硬盘 \nLOAD 映像文件名 \ng:\u002Fback98\u002Fsetup98.gho 或装置名称(drive) \nPCOPY\u002FPDUMP \n源分区号。 \n1:2代表的是硬盘1的第二个分区 \nPLOAD 分区映像文件名加上分区号或是驱动器名加上分区号。 \ng:back98setup98.gh2,代表映像文件\u003Cem\u003E里\u003C\u002Fem\u003E的第二个分区 \ndst运行Ghost时使用的目标位置模式及其意义: \nmode命令 对应mode命令dst所使用参数 例子 \nCOPY\u002FDUMP 目的硬盘号。 \n2代表第二号硬盘 \nLOAD 硬盘映像文件名。 \n例g:back98setup98.gho \nPCOPY\u002FPLOAD 目的分区号。 \n2:2 代表的是,硬盘2的第二个分区 \nPDUMP 分区映像文件名加分区号。 \ng:back98setup98.gh2 \nSZEn指定所使用目的分区的大小 \nn=xxxxM 指定第n目的分区的大小为xxxxMB SZE2=800M表示分区2的大小为800MB \nn=mmP 指定地n的目的分区的大小为整个硬盘的mm个百分比。 \n其他参数 \n-fxo 当源物件出现坏块时,强迫复制继续进行 \n-fx 当ghost完成新系统的工作后不显示\"press ctrl-alt-del to reboot\"直接回到DOS下 \n-ia 完全执行扇区到扇区的复制。当由一个映像文件或由另一个硬盘为来源,复制一个分区时,Ghost将首先检查来源分区,再决定是要复制文件和目录结构还是要做映像复制(扇区到扇区)。预设是这种形式。但是有的时候,硬盘\u003Cem\u003E里\u003C\u002Fem\u003E特定的位置可能会放一些隐藏的与系统安全有关的文件。只有用扇区到扇区复制的方法才能正确复制 \n-pwd and -pwd=x 给映像文件加密 \n-rb 在还原或复制完成以后,让系统重新启动 \n-sure 可以和clone合用。Ghost\u003Cem\u003E不会\u003C\u002Fem\u003E显示\"proceed with disk clone-destination drive will be overwritten?\"提示信息 \n注意事项 \n1. 在备份系统时,单个的备份文件最好不要超过2GB。 \n2.在备份系统前,最好将一些无用的文件删除以减少Ghost文件的体积。通常无用的文件有:Windows的临时文件夹、IE临时文件夹、Windows的内存交换文件。这些文件通常要占去100多兆硬盘空间。 \n3.在备份系统前,整理目标盘和源盘,以加快备份速度。 \n4.在备份系统前及恢复系统前,最好检查一下目标盘和源盘,纠正磁盘错误。 \n5.在恢复系统时,最好先检查一下要恢复的目标盘是否有重要的文件还未转移,千万不要等硬盘信息被覆盖后才后悔莫及啊。 \n6.在选择压缩率时,建议不要选择最高压缩率,因为最高压缩率非常耗时,而压缩率又没有明显的提高。 \n7.在新安装了软件和硬件后,最好重新制作映像文件,否则很可能在恢复后出现一些莫名其妙的错误。 \n------------------------------------------------------------------------------- \nGhostpe.exe菜单选项介绍 \nNorton Ghost的帮助文件中要\u003Cem\u003E求\u003C\u002Fem\u003EGhostpe.exe在纯DOS下运行,其实它在WINDOWS的MS-DOS中运行也是可以的,同样可以对系统进行备份和还原。 \n开机进入DOS,键入Ghostpe.exe所在的目录路径名,比如:E:Ghostpe.exe 回车,程序即开始运行。首先出现的是Ghost版本介绍窗口,回车后进入主界面。菜单选项有: \n  (一)“Local”(本地的) \n  1、Disk(磁盘) \n(1) To Disk(硬盘到硬盘的复制) \n(2)To Image(硬盘\u003Cem\u003E内容\u003C\u002Fem\u003E备份为镜像) \n(3)From Image(从镜像文件恢复至硬盘) \n 2、Partition(分区) \n  (1)To Partition(分区到分区的复制) \n  (2)To Image(分区\u003Cem\u003E内容\u003C\u002Fem\u003E备份为镜像) \n  (3)From Image(从镜像文件恢复至分区) \n 3、Check(检查) \n(1) Image File(镜像文件) \n(2)Disk(磁盘) \n  (二)Option(设置项,一般情况下使用默认值即可) \n  (三)Quit(退出) \n\n\nNorton ghost――克隆硬盘的魅影 \n我们能用Ghost做什么 \n  ●可以创建硬盘镜像备份文件 \n  ●可以将备份恢复到原硬盘上 \n  ●磁盘备份可以在各种不同的存储系统间进行 \n  ●支持FAT16\u002F32、NTFS、OS\u002F2等多种分区的硬盘备份 \n  ●支持Win9X、NT、UNIX、Novell等系统下的硬盘备份 \n  ●可以将备份复制(克隆)到别的硬盘上 \n  ●在复制(克隆)过程中自动分区并格式化目的硬盘 \nGhost是最著名的硬盘复制备份工具,因为它可以将一个硬盘中的数据完全相同地复制到另一个硬盘中,因此大家就将Ghost这个软件称为硬盘“克隆”工具。实际上,Ghost不但有硬盘到硬盘的克隆功能,还附带有硬盘分区、硬盘备份、系统安装、网络安装、升级系统等功能。1998年6月,出品Ghost的Binary公司被著名的Symantec公司购并,因此该软件的后续版本就改称为Norton Ghost,成为Nordon系列工具软件中的一员。1999年2月,Symantec公司发布了Norton Ghost的5.1C版本,该版本包含了多个硬盘工具,并且在功能上作了较大的改进,使之成为了一个真正的商业软件。 \n安装 \n本公司为使各位客户的机器万无一失,早已经为您的机器中装入了GHOST软件,并在您取走机器前为您做好备份,免去您的后顾之忧。此软件不需安装,复制即可使用。 \nGhost硬盘克隆 \nGhost就是克隆硬盘的程序,该程序在DOS下、Windows9.X下都可执行,所以要进行硬盘的克隆,请先进入到Ghost子目录,运行Ghost.exe程序,需要注意的是,如果是在DOS下运行该程序时,在运行该程序前最好启动DOS的鼠标驱动程序,因为Ghost的操作画面是仿窗口画面,使用鼠标点击来选择会方便一些――虽然也可以用键盘来操作。另外在备份或克隆硬盘前最好清理一下硬盘――删除不用文件、清空回收站、碎片整理等。 \n1. 分区备份 \n使用Ghost复制备份,有整个硬盘(Disk)和分区硬盘(Partition)两种备份方式。在菜单中点击“Local”(本地)项,在右面\u003Cem\u003E弹出\u003C\u002Fem\u003E的菜单中有三个子项,其中“Disk”表示整个硬盘备份(也就是克隆),“Partition”表示单个分区硬盘备份以及硬盘检查“Check”。“Check”项的功能是检查硬盘或备份的文件,看是否可能因分区、硬盘被破坏等造成备份或还原失败。而分区备份作为个人用户来保存系统数据,特别是在恢复和复制系统分区具有实用价值。 \n选“Local\u002FPartition\u002FTo Image”菜单,\u003Cem\u003E弹出\u003C\u002Fem\u003E硬盘选择窗口,开始分区备份操作。点击该窗口中白色的硬盘信息条,选择硬盘,进入窗口,选择要操作的分区(用鼠标点击)。 \n然后在\u003Cem\u003E弹出\u003C\u002Fem\u003E的窗口中选择备份储存的目录路径并输入备份文件名称,注意备份文件的名称带有GHO的后缀名。 \n接下来,程序会询问是否压缩备份数据,并给出三个选择。“No”表示不压缩,“Fast”表示小比例压缩而备份执行速度较快,“High”就是高比例压缩但备份执行速度较慢。最后,选择“Yes”按钮即开始进行分区硬盘的备份。Ghost备份的速度相当快,不用久等就可以完成备份,备份的文件以GHO后缀名储存在设定的目录中。 \n2. 分区备份的还原 \n如果硬盘中备份的分区数据受到损坏,用一般磁盘数据修复方法不能修复,以及系统被破坏后不能启动,都可以用备份的数据进行完全的复原,无须重新安装程序或系统。当然,也可以将备份还原到另一个硬盘上。 \n要恢复备份的分区,就在界面中选择菜单“Local\u002FPartition\u002FFrom Image”,在\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口中选择还原的备份文件,再选择还原的硬盘和分区,点击“Yes”按钮即可。 \n恢复还原时要注意的是,硬盘分区的备份还原是要将原来的分区一成不变地还原出来,包括分区的类型、数据的空间排列等。 \n3. 硬盘的克隆 \n硬盘的克隆就是对整个硬盘的备份和还原,选择菜单“Local\u002FDisk\u002FTo Disk”,在\u003Cem\u003E弹出\u003C\u002Fem\u003E的窗口中选择源硬盘(第一个硬盘),然后选择要复制到的目的硬盘(第二个硬盘)。注意,可以设置目的硬盘各个分区的大小,Ghost可以自动对目的硬盘按设定的分区数值进行分区和格式化。选择“Yes”开始执行。 \nGhost能将目的硬盘复制得与源硬盘几乎完全一样,并实现分区、格式化、复制系统和文件一步完成。只是要注意目的硬盘不能太小,必须能将源硬盘的\u003Cem\u003E内容\u003C\u002Fem\u003E装下。 \n  Ghost还\u003Cem\u003E提供\u003C\u002Fem\u003E了一项硬盘备份功能,就是将整个硬盘的数据备份成一个文件保存在硬盘上(菜单“Local\u002FDisk\u002FTo Image”),然后就可以随时还原到其它硬盘或原硬盘上。这对要安装多个系统硬盘很方便。使用方法与分区备份相似。要注意的是,备份成的文件不能大于2GB。\n[table=96%][tr][td][align=right][color=#6b6b6b]网管联盟.[\u002Fcolor][\u002Falign][color=#6b6b6b]四。★★★如何防范恶意网站 \n知己知彼 \n  如何判断自己是遇到了恶意网站的攻击,症状多种多样: \n  1. 开机自动登录网站。 \n  2. 启动IE,自动登录网站,无法修复主页设置。 \n  3. IE不断打开窗口。 \n  4. 修改[主页]按钮和[搜索]按钮。 \n  5. 修改右键菜单,甚至屏蔽右键菜单。 \n  6. 更改收藏夹的\u003Cem\u003E内容\u003C\u002Fem\u003E。 \n  7. 安装自动拨号程序。 \n  8. 自动安装木马程序。 \n  9. 自动格式化硬盘或删除某个文件夹中的所有文件。 \n  10. 更新文件关联和锁死EXE程序。 \n  11. 锁死注册表。 \n…… \n  ★对症下药 \n  了解了症状,就要对症下药了! \n一、备份 \n  建议使用“超级兔子魔法设置”中的“注册表优化”进行备份,软件能将Classes.dat、System.dat、System.ini、User.dat、Win.ini等文件全部备份下来,上面提到的前五种恶意网站无非就是通过修改这些文件来达到其目的的。 \n二、弃用IE \n  大部分的攻击目标都是IE。如果我们用MyIE2(强烈建议使用Ver 0.8.220这一版本)代替IE浏览器,恶意网站就无的放矢了。MyIE2在启动时能够绕开主页直接打开空白页,而且还能保护主页不被修改。如果开机就自动运行IE,要先用超级兔子魔法设置中的“自动运行”功能将网址删除,再用MyIE2代替IE。 \n  注意:这两个功能在默认状态下是关闭的,您要在[选项]→[MyIE2选项]→[常规]中和“启动时”中将其打开。由于MyIE2使用IE的内核,所以请勿删除IE。 \n三、解救被封死的收藏夹 \n  某些恶意网站会对收藏夹进行修改,大多是通过修改“C: Windows\u002FFavorites”中的“Desktop.ini”文件来实现的,所以只要删除这个文件就可以了。如果根本就无法打开“C: WindowsFavorites”文件夹,就到DOS下进行删除(要先用“attrib -r -s -h”后才能将其删除)。另外,“收藏夹”中的\u003Cem\u003E内容\u003C\u002Fem\u003E并没有被删除,只是放入了另一个文件夹中,名称和“Favorites”差不多(如“Favorites2”等),如果想恢复原来的“收藏夹”,只要剪切一下就可以了。 \n  如果是将系统默认的“收藏夹”路径设置成指定的目录(如“C: WindowsFavorites2”等),只要恢复正常的“注册表”就一切OK了。 \n四、定期还原正常的注册表 \n  如果遇到安装自动拨号程序的情况,你可要小心啦,小心惊人的国际长话费。对付它,最好是定期还原正常的注册表!这样做虽然不能彻底删除此类恶意程序,但却能让其完全禁止运行,因为这类程序是通过修改注册表来达到随机运行的目的的(只有极少数是在“开始”菜单的“启动”项内做文章),只不过我们无法通过手工删除干净。 \n  这个方法对于自动安装木马程序的情况也同样适用。 \n五、防止硬盘被格式化 \n  对于自动格式化硬盘的恶意网站,要把“C:WindowsCOMMAND”文件夹中的format.com、Fdisk.exe、Deltree.exe这三个程序文件删除或进行改名,因为这些恶意\u003Cem\u003E代码\u003C\u002Fem\u003E是需要这些程序才能够发挥“威力”的,只要让这些恶意\u003Cem\u003E代码\u003C\u002Fem\u003E找不到它们,您的电脑也就安全了! \n六、打开“锁死”的程序 \n  对于被锁死的EXE程序,只要事先已将“C:Windows”目录下正常的Classes.dat、System.dat、User.dat、System.ini、Win.ini这五个文件备份下来,在“中招”后用正常的文件覆盖一下并重新启动就OK了(注:Windows 95和98中可能没有Classes.dat文件,而且Windows 97以下版本的操作系统用此方法无效!甚至会使整个系统瘫痪。)。如果连复制都被禁止了的话,您可用启动盘到DOS下进行覆盖复制。 \n七、“防”要胜于“治” \n  通常恶意网站都披着具有“诱惑力”的外衣,设下诱人的陷阱让您“中招”。所以一定要意志坚强,抵制住诱惑。只要您能做到“任你花言巧语,我自岿然不动”。那么,什么样的陷阱也奈何不了您。 \n  另外,现在有很多恶意网站开始通过即时通讯软件来传播了,比如QQ、ICQ等,方式虽然多种多样,但通常是在对方网友的话后面又发来了一个网站信息,有的会附有一些带有“诱惑性”的话(如:“看看我的样子”等),有的只是一个有着诱人域名的网址,对于这样的网站,原则也同样――就是不上当! \n[table=96%][tr][td][align=right][color=#6b6b6b]网管联盟.[\u002Fcolor][\u002Falign][color=#6b6b6b]五。★★★win2000\u002Fxp忘记密码的方法 \n1。清除sam文件: \nwinnt系列的系统账户信息是存在%systemroot%system32configsam这个注册表文件\u003Cem\u003E里\u003C\u002Fem\u003E的。如果系统\u003Cem\u003E里\u003C\u002Fem\u003E没有重要的账户,或者账户比较少,用删除%systemroot%system32configsam的方法是比较简单的,不过因为系统会还原为只有administrator(密码为空)和guest二个账户,所以有些程序因为它们所依赖的账户丢失了,如iis、vmware就不能启动了。 \n原来听说这种方法只能适用于nt workstation系列(2kpro),不能用于server,我在2000professional和2000 advanced server上试验都是成功的。不知道为什么会有上述说法,可能是活动目录ad下不行把。 \n当然首先你要能够访问系统分区,来把sam文件改名或者删除。如果是fat32、fat分区,使用98启动盘就行了。如果是ntfs分区,可以使用winternal的ntfs for dos、ntfs for 98或者是支持ntfs的启动光盘,再或者挂到其他win2000、linux等机器上,再再或者重新安装一个新的win2000。 \n2。专用工具: \nwindows管理员密码丢失还有一个解决方法是使用petter nordahl-hagen的the offline nt password editor([\u003Cem\u003Eurl\u003C\u002Fem\u003E=http:\u002F\u002Fhome.eunet.no\u002F~pnordahl\u002Fntpasswd\u002F][color=#0000ff]http:\u002F\u002Fhome.eunet.no\u002F~pnordahl\u002Fntpasswd\u002F[\u002Fcolor][\u002F\u003Cem\u003Eurl\u003C\u002Fem\u003E]),这个工具是离线修改注册表文件sam来设置密码的。需要用他的映像文件制作启动盘来引导,进而访问ntfs分区重新设置密码;虽然作者经常更新他的程序,不过我还是会担心他直接操作sam文件的安全性,可能有时会导致系统出错。 \n可能还有其他类似工具把,恕我无知。 \n3。 还有一种想法就是用一个修改密码的小程序来替换系统启动的必要程序,然后系统启动时就会替换密码,随后把被替换的程序在还原就行了。当然首先你还是要能够访问系统分区,来替换随系统启动的程序。 \n替换系统启动的必要程序的一种方法是我写的一个清除administrator密码的小程序(cleanpwd),他所作的就是把administrator密码清空。使用方法如下: \n(2).用法 \n1) 用双系统或者启动盘或者挂到别的系统上,如果是ntfs分区其他系统或启动盘要能读写ntfs分区,把windows安装目录下的system32svchost.exe改名svchost.bak.exe备份,把cleanpwd.exe拷贝成svchost.exe。 \n2) 启动该系统,就把administrator的密码清空了,可以直接登陆。 \n3) 把svchost.bak.exe 恢复就行了。(如果使用替换的是svchost,最好再启动rpc服务) \n(3).为什么选用svchost.exe而不是其他程序。 \n每个windows2000系统都有这几个进程, \nsystem(kernel executive and kernel) \nsmss(session manager) \ncsrss(win32 subsystem) \nwinlogon(logon process) \nservices(service control manager) \nlsass(local security authentication server ) \n如果任何一个被杀掉或者出错,系统将重新启动。不过在lsass启动之前你不能修改密码,所以不能选用这几个程序。 \n另外系统中一般还有以下一些程序: \nsvchost.exe(remote procedure call (rpc) 还有其他一些服务) \nwbemwinmgmt.exe(windows management umentation) \nmstask.exe(task scheduler) \nregsvc.exe(remote registry service) \n可能还有其他服务程序,你可能禁止了除rpc之外的其他服务,但\u003Cem\u003E不会\u003C\u002Fem\u003E禁止rpc,否则系统工作就不正常了。所以我选择了svchost,如果你知道其他服务会自动启动,你也可以选择它。 \n当然如果系统安装了杀毒软件的话,你替换杀毒软件也可以,因为一般杀毒软件都会在系统启动是启动杀毒防火墙来杀毒的。 \n(4).其他 \n有这个想法是几个月之前了,不过一直没有写这个程序 程序运行会在c:cleanpwd.txt记一个简单的日志,我也附了源码,你可以任意修改它以满足自己的要\u003Cem\u003E求\u003C\u002Fem\u003E,比如添加一个用户而不是修改管理员的密码(或者你把管理员改名了)。 \n4。我还在一个网站上看到这样一个方法: \n就是把%systemroot%system32logon.scr替换为cmd.exe或者explorer.exe,然后在系统登陆处等待,过一会,系统就会去运行logon.scr这个屏保,因为你替换了这个屏保文件,所以实际上运行的是cmd.exe或者explorer.exe,并且是localsystem权限,于是你可以随便了,最简单的就是在cmd.exe\u003Cem\u003E里\u003C\u002Fem\u003E运行net user administrator \"\",成功后管理员密码也被清空了,关闭cmd或者explorer就可以用空口令登陆了。 \n其实这种方法和上边的那种思路是一致的。 \n================= code begin ======================= \n#include \n#include \n#include \n#include \n#include \n#pragma comment(lib, \"netapi32.lib\") \n#define lof_file \"c:\\cleanpwd.txt\" \ndword setuserpwd(char *user, char *pass); \nvoid banner(file *fp) \n{ \nif(null == fp)return; \nfprintf(fp, \"clean administrator??s password tool 1a. for lost password.n\"); \nfprintf(fp, \" by [email=bingle@email.com.cnn][color=#0000ff]bingle@email.com.cnn[\u002Fcolor][\u002Femail]\"); \nfprintf(fp, \"website: [\u003Cem\u003Eurl\u003C\u002Fem\u003E=http:\u002F\u002Fwww.binglesite.net\u002Fn][color=#0000ff]www.binglesite.netn[\u002Fcolor][\u002F\u003Cem\u003Eurl\u003C\u002Fem\u003E]\"); \n} \nint main(int argc, char *argv[]) \n{ \nbanner(stderr); \nfile *fp = fopen(lof_file, \"a\"); \nif(fp) \n{ \nfprintf(stderr, \"log in file %sn\", lof_file); \nbanner(fp); \n} \nif(!fp) fp = stderr; \nchar buff[256]; \nfprintf(fp, \"%s: clean administrator??s password \", _strtime(buff)); \ndword n = setuserpwd(\"administrator\", \"\"); \nif(nerr_success == n) fprintf(fp, \"ok.n\"); \nelse fprintf(fp, \"failed, error:%dn\", n); \nfclose(fp); \nreturn -1; \n} \ndword setuserpwd(char *user, char *pass) \n{ \nwchar_t wuser[pwlen], wpass[pwlen]; \nuser_info_1003 ui; \nmbstowcs(wuser, user, strlen(user)+1); \nmbstowcs(wpass, pass, strlen(pass)+1); \nui.usri1003_password = wpass; \nreturn netusersetinfo(null, wuser, 1003, (lpbyte)&ui, null); \n\n六。★★★Windows XP 自带小工具 \n假设你使用的是WinXP,一般来讲你会把日常所用的工具软件都放到一个名为“Tools”的文件夹中。好的,先容我猜猜,\u003Cem\u003E里\u003C\u002Fem\u003E面都有些什么东东――加密的、图片浏览处理的、压缩\u002F解压缩的、音视频播放的、刻录的、系统优化的……怎么样,猜得八九不离十吧?相信这些Tools平日\u003Cem\u003E里\u003C\u002Fem\u003E一定带来了不少方便,不过如果你仅满足于使用这些“Tools”的一般用途,那笔者就要为WinXP道一声“可惜”――它辛辛苦苦为你准备的百宝箱却被不经意地抛在了一旁。相比常用的工具软件,WinXP所\u003Cem\u003E提供\u003C\u002Fem\u003E工具的特点是整合在系统中,因此使用简单、快捷而方便,那么就随笔者一起掀开这个箱子,看看\u003Cem\u003E里\u003C\u002Fem\u003E面到底都有些什么宝贝吧。 \n一、文件保密 \nWinXP有着很好的多用户功能,允许不同用户拥有个性的系统设置。但在这样一个共享环境下,个人的隐私问题又凸现出来,由此涉及到了多用户使用下的文件保密问题。对于这个问题,你可能会考虑诸如“文件保密专家”之类的文件加密软件,其实在WinXP中,大可不必为文件的保密问题操心,因为它为我们\u003Cem\u003E提供\u003C\u002Fem\u003E了多种文件保密的方法。不过在为文件进行保密操作之前,首先要确定待保密的文件是放在NTFS分区上的,这是WinXP\u003Cem\u003E里\u003C\u002Fem\u003E进行文件保密的基础,以下的操作都是在NTFS分区上进行的。 \n1.个人文件夹的保密 \n在WinXP\u003Cem\u003E里\u003C\u002Fem\u003E最简单的文件保密方法是对“个人文件夹”的加密。所谓“个人文件夹”是指在“系统盘ocuments and Settings”下,以当前用户名命名的文件夹;其中包含了如“我的文档”、“开始菜单”一类的个人用户文件。对其进行加密,只需直接在其文件夹或其子文件夹的“属性”\u003Cem\u003E对话框\u003C\u002Fem\u003E的“共享”页上,勾选“将这个文件夹设为专用”(若为管理员用户则此处默认为勾选),那么其他用户(包括管理员)都无法访问此文件夹。此方法只适合于对“个人文件夹”的保密,对于系统的其他文件和文件夹则无能为力了。需要注意的是,设为“专用”的个人文件夹将不能被共享,同样,已共享的个人文件夹在取消共享之前也不能被设为“专用”。实际应用中,可将要保密的文件保存到设为专用的“我的文档”\u003Cem\u003E里\u003C\u002Fem\u003E,即可实现文件保密的目的。 \n2.利用用户权限保密文件 \n对于没有放在“个人文件夹”中的文件,我们可以有第2种保密方法:控制用户权限――通过对不同用户或者组,赋予对文件(文件夹)不同的操作权限,从而达到文件保密的目的。此操作进行之前先要确定WinXP中文件权限的设置功能是否开启:在文件浏览窗口中选择菜单“工具”→“文件夹选项”,选择“查看”页,确定“使用简单文件共享”没有被勾选。 \n之后,我们就能对系统的文件(文件夹)访问权限进行具体设置:打开文件夹的属性\u003Cem\u003E对话框\u003C\u002Fem\u003E,可以看到多出了一个“安全”页。在其中可以一目了然对于此文件夹可操作的用户及其不同的权限分派。各类权限有“允许”和“拒绝”两项可选,先在“组或用户名称”一栏\u003Cem\u003E里\u003C\u002Fem\u003E选择要保密的对象(如Guest用户),再将其“读取”的权限设为“拒绝”,如此便实现了此文件夹的保密。如果“组或用户名称”\u003Cem\u003E里\u003C\u002Fem\u003E没对象用户,选择下面的“添加”,输入(或搜索出)其用户名即可。 \n有可能你看到的用户权限设置是不可选的,那是因为此子文件夹从其父文件夹(上级文件夹)继承了权限,因此不可改。要使其权限可改,应删除其和父文件夹的继承关系:选择“安全”页的“高级”选项,打开“高级安全设置”\u003Cem\u003E对话框\u003C\u002Fem\u003E,在“权限”页\u003Cem\u003E里\u003C\u002Fem\u003E取消对“从父项继承那些可以应用到子对象的权限项目,包括那些在此明确定义的项目”的勾选,在\u003Cem\u003E弹出\u003C\u002Fem\u003E的\u003Cem\u003E对话框\u003C\u002Fem\u003E中选择“删除”即可。 \n3.加密文件系统(EFS)对文件的保密 \n这是WinXP我们\u003Cem\u003E提供\u003C\u002Fem\u003E的一种高级文件加密方法――加密文件系统(EFS)。EFS是一种数字加密方式:Windows首先以一把“公钥”(WinXP自己的加密算法)对文件进行加密,再配给用户一把用于解密的“私钥”(包含在个人数字证书中)。加密过的文件,只有通过“公钥”与“私钥”共同认证后产生的“金钥”才能被解密。 \n打开要加密的文件或文件夹的“属性”\u003Cem\u003E对话框\u003C\u002Fem\u003E,选择其“常规”页中的“高级”,勾选“高级属性”\u003Cem\u003E里\u003C\u002Fem\u003E的“加密\u003Cem\u003E内容\u003C\u002Fem\u003E以便保护数据”,确定后,加密的文件\u002F文件夹名会以绿色表示,这样,即使是管理员账户,也不能读取文件的\u003Cem\u003E内容\u003C\u002Fem\u003E了。 \n这就是WinXP的高级文件保密,就这么简单。之后的问题是,如果加密文件拷贝到其他机器上,如何实现其解密?这就涉及到了个人数字证书的使用。 \n4.个人数字证书的导出与导入 \n在“运行”栏\u003Cem\u003E里\u003C\u002Fem\u003E输入“certmgr.msc”,打开“证书”,依次展开“个人”→“证书”,右键单击要导出的证书,在“所有任务”中选择“导出”,在向导中选择“是,导出私钥”,再按需要设置好私钥保护密码和导出路径后,即导出了个人数字证书。 \n加密文件被拷贝到其他机器上后,要对其进行解密,需要先在此机器上新建一个与原加密用户相同用户名及密码的账户,再将之前导出的证书拷贝到此机器上双击运行,即可实现数字证书的导入。 \n注意:WinXP为了防止私钥被随意导出,凡导入的证书在默认情况下均不能被再次导出。如果有再次导出的需要,需要在导入数字证书过程中,输入私钥保护密码一步时,勾选“标志此密钥为可导出的……”,这样才能使导入的证书能被再次导出。 \n二、资源管理器的增强 \n1.图片浏览 \nWinXP之前这一功能非ACDSee莫属,然而WinXP却带来了更为易用的图片浏览功能。众所周知,只要选择“缩略图”方式显示图片,我们就可以图片的缩略图预览其效果。选择“幻灯片”方式,则可以更清楚地看到图片的预览效果。WinXP还为我们\u003Cem\u003E提供\u003C\u002Fem\u003E了第3种方式浏览图片:“幻灯片播放”,只需选择资源管理器左侧“图片任务”中的“作为幻灯片查看”,即可浏览图片,在屏幕的右上角依次有播放、暂停、上一幅、下一幅及关闭的功能按钮。需要提醒的是,如果选择了一张或者多张图片后再选择“作为幻灯片查看”,则只会放映所选择的图片。 \n还有一点技巧:如果嫌“缩略图”方式预览的图片太小,我们可以通过修改注册表的方式改变其大小。在“运行”栏\u003Cem\u003E里\u003C\u002Fem\u003E输入“regedit”,打开注册表编辑器,依次展开HKEY_CUR RENT_USER Software MicrosoftWindows CurrentVersion Explorer,在其下新建一名为ThumbnailSize的DWORD值,将值改为十进制的200,可以看到预览图变大了吧。另外,新建名为ThumbnailQuality的DWORD值,通过设置其值改变缩略图的图片质量,如设为80,则以80%的质量显示缩略图。通过减小其值,可以缩短系统显示缩略图的时间。 \n注意:如果当前目录下有图片却没有出现“图片任务”或找不到“幻灯片”方式,可参见后文设置文件夹模板。 \n2.数码图片的处理 \n使用数码相机等设备,WinXP也准备了“扫描仪与照相机向导”。当数码相机连接到计算机后,在系统\u003Cem\u003E弹出\u003C\u002Fem\u003E的任务选择\u003Cem\u003E对话框\u003C\u002Fem\u003E\u003Cem\u003E里\u003C\u002Fem\u003E选择“将图片复制到计算机上的一个文件夹”,WinXP会自动读取相机\u003Cem\u003E里\u003C\u002Fem\u003E的图片,接下来在“扫描仪和照相机向导”选择要获取的图片,还有存放的路径,完成后WinXP就会把所选择的照片存放到指定目录了。值得一提的是,在选择存放路径时,WinXP已默认\u003Cem\u003E提供\u003C\u002Fem\u003E了一系列有助于分类的存放方式,方便我们对数码图片的管理。 \n双击一个图片文件,如果没有安装其他图片浏览软件,WinXP会首先调用“Windows图片和传真查看器”来打开文件(若已安装其他图片软件,也可右击图片文件并在“打开方式”中选择此工具)。可用其对图片进行简单加工,如缩放查看、旋转、打印、复制到等。试过用“Windows图片和传真查看器”打开TIFF文件吗?可以看到工具栏上又多出不少东西,通过这些工具可以给图片添加“注释”。至于用处,想想看,可以在数码相片上写上照相的时间地点,场景描述等,多年后回味,别有一番滋味啊。这一注释功能并不直接修改图片,在你不需要时可随时删去所加的注释,而保留图片的原样。 \n3.个性的文件夹 \n如果你也崇尚个性张扬,相信总会想方设法把自己的WinXP弄得与众不同。这\u003Cem\u003E里\u003C\u002Fem\u003E就来看一下,如何用WinXP百宝箱\u003Cem\u003E里\u003C\u002Fem\u003E的东东,把系统\u003Cem\u003E里\u003C\u002Fem\u003E大大小小的文件夹们,统统换掉那黄色的夹子外套。WinXP\u003Cem\u003E提供\u003C\u002Fem\u003E了很方便的文件夹自定义功能,在文件夹“属性”\u003Cem\u003E对话框\u003C\u002Fem\u003E的“自定义”页上,即可看见很多定义的\u003Cem\u003E内容\u003C\u002Fem\u003E。 \n文件夹模板:可供选择的有相册、图片、音乐和视频等,其区别在于不同的模板对应不同的默认文件查看方式(幻灯片、平铺、图标等)以及文件夹任务。使用了以上两种图片类文件夹模板,文件夹左侧的“常见任务栏”\u003Cem\u003E里\u003C\u002Fem\u003E,都会有“图片任务”供选择,而使用了音乐类或视频类文件夹模板,则分别对应的是“音乐任务”与“视频任务”。 \n文件夹图片:当文件夹以缩略图方式查看时,WinXP会把该文件夹\u003Cem\u003E里\u003C\u002Fem\u003E最近修改的4个图片作为默认的文件夹图片显示,但为了提醒自己,可以让它变得更醒目。只需单击“选择图片”就可选择某个图片作为此文件夹的图片。 \n文件夹图标:如果不以缩略图方式查看,文件夹将会以其“标准图标”表示――一个黄色的夹子,如果觉得这千篇一律的黄夹子没有个性,我们也可以换。单击“更改图标”,可以看到WinXP为我们在Shell32.dll\u003Cem\u003E里\u003C\u002Fem\u003E\u003Cem\u003E提供\u003C\u002Fem\u003E的许多图标,我们当然可以随便用上一用。 \n三、压缩与解压缩 \n目前我们使用的压缩解压缩软件想必都是WinZip或WinRAR等,它们各有自己的特点与用途,但实际应用中可以说95%以上的工作都是简单的压缩与解压缩,在这一点上,WinXP自带的压缩工具就足以满足需要了。 \n1.通过压缩磁盘对文件进行压缩 \n这种方法被WinXP冠名为“NTFS文件压缩”,只能在硬盘的NTFS分区上使用。打开要压缩文件\u002F文件夹的“属性”\u003Cem\u003E对话框\u003C\u002Fem\u003E,选择“常规”页中的“高级”,勾选“高级属性”\u003Cem\u003E里\u003C\u002Fem\u003E的“压缩\u003Cem\u003E内容\u003C\u002Fem\u003E以便节省磁盘空间”,确定后,此文件\u002F文件夹名会以蓝色显示。以这种方法压缩文件,实质上是对磁盘进行压缩,会带来了系统性能的降低(打开压缩文件时,系统将其解压缩,关闭文件时又重新压缩),因此建议仅用于对备份文件处理。 \n2.Zip文件的压缩 \n最先在Windows\u003Cem\u003E提供\u003C\u002Fem\u003E对Zip文件的支持始源于WinME,WinXP继承了这一特性,但基本上没有\u003Cem\u003E太多\u003C\u002Fem\u003E发展。这一功能被称为“Compressed(zipped) Folders”,只能进行最基本的压缩\u002F解压缩工作,说好听点,就是“返璞归真”了。 \n实现方法一:在鼠标右键菜单上选择“新建”→“压缩(zipped)文件夹”。 \n实现方法二:选中欲压缩的文件(一个或多个),在其鼠标右键菜单上选择“发送到”→“压缩(zipped)文件夹”,即生成一个.zip文件。最后生成的文件名同鼠标单击的文件一致。 \n你还可以对.zip文件设置密码。打开一个.zip文件(确定是用WinXP自带功能打开,而不是用其他软件),选择菜单项的“文件”→“添加密码”,输入要设置的密码。之后,查看和解压缩此文件就需要密码了,可以满足一般的保密性要\u003Cem\u003E求\u003C\u002Fem\u003E。需要说明的是WinXP不能进行分卷压缩、添加注释等“高级任务”。 \n3.Zip文件的解压缩 \n压缩后的ZIP包可以像普通文件夹一样操作。如果要将ZIP包解压缩到指定位置,只需在其右键菜单上选择“全部提取...”利用“提取向导”,选择解压缩路径,输入密码(如果有的话),即可进行解压缩。 \n4.自解压包的制作 \n如果还有制作自解压包的需要,也不用去找什么专门工具,WinXP\u003Cem\u003E里\u003C\u002Fem\u003E仍然为你准备了――尽管微软并没有承认其存在。在“运行”\u003Cem\u003E对话框\u003C\u002Fem\u003E\u003Cem\u003E里\u003C\u002Fem\u003E输入“iexpress”,回车后打开“IExpress Wizard”。在向导\u003Cem\u003E里\u003C\u002Fem\u003E依次选择“Create new Self Extraction Directive file”→“Extract files only”(压缩目的:Package purpose)→输入解压缩时\u003Cem\u003E弹出\u003C\u002Fem\u003E\u003Cem\u003E对话框\u003C\u002Fem\u003E的标题(Package title)→输入\u003Cem\u003E对话框\u003C\u002Fem\u003E提示语(Confirmation prompt)→选择解压时是否显示许可协议(License agreement)→添加欲压缩的文件(Packaged files)→选择解压","createTime":"2010-04-25 22:43:49","dataReportQuery":"spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-4-2284257-bbs-391813052.264^v3^pc_relevant_bbs_down_v2_default&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-4-2284257-bbs-391813052.264^v3^pc_relevant_bbs_down_v2_default","dataReportClick":"{\"mod\":\"popu_645\",\"index\":\"4\",\"dest\":\"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fa525235942\u002F2284257\",\"strategy\":\"2~default~OPENSEARCH~Rate\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-4-2284257-bbs-391813052.264^v3^pc_relevant_bbs_down_v2_default\\\",\\\"dist_request_id\\\":\\\"1772778361179_74962\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","dataReportView":"{\"mod\":\"popu_645\",\"index\":\"4\",\"dest\":\"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fa525235942\u002F2284257\",\"strategy\":\"2~default~OPENSEARCH~Rate\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-4-2284257-bbs-391813052.264^v3^pc_relevant_bbs_down_v2_default\\\",\\\"dist_request_id\\\":\\\"1772778361179_74962\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","type":"download"},{"url":"https:\u002F\u002Fblog.csdn.net\u002Fliguiping2000\u002Farticle\u002Fdetails\u002F7327758","title":"\u003Cem\u003Ejs\u003C\u002Fem\u003E“\u003Cem\u003E弹出\u003C\u002Fem\u003E\u003Cem\u003E对话框\u003C\u002Fem\u003E”和“\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口”详解","desc":"\u003Cem\u003EJS\u003C\u002Fem\u003E中showModalDialog 详细使用\r\n\r\n基本介绍:\r\n          showModalDialog()         (IE 4+ 支持)\r\n          showModelessDialog()      (IE 5+ 支持)\r\n          window.showModalDialog()                  方法用来创建一个显示HTML\u003Cem\u003E内容\u003C\u002Fem\u003E的模","createTime":"2012-03-07 10:26:36","dataReportQuery":"spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~Rate-5-7327758-bbs-391813052.264^v3^pc_relevant_bbs_down_v2_default&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~Rate-5-7327758-bbs-391813052.264^v3^pc_relevant_bbs_down_v2_default","dataReportClick":"{\"mod\":\"popu_645\",\"index\":\"5\",\"dest\":\"https:\u002F\u002Fblog.csdn.net\u002Fliguiping2000\u002Farticle\u002Fdetails\u002F7327758\",\"strategy\":\"2~default~OPENSEARCH~Rate\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~Rate-5-7327758-bbs-391813052.264^v3^pc_relevant_bbs_down_v2_default\\\",\\\"dist_request_id\\\":\\\"1772778361179_74962\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","dataReportView":"{\"mod\":\"popu_645\",\"index\":\"5\",\"dest\":\"https:\u002F\u002Fblog.csdn.net\u002Fliguiping2000\u002Farticle\u002Fdetails\u002F7327758\",\"strategy\":\"2~default~OPENSEARCH~Rate\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-blog-2~default~OPENSEARCH~Rate-5-7327758-bbs-391813052.264^v3^pc_relevant_bbs_down_v2_default\\\",\\\"dist_request_id\\\":\\\"1772778361179_74962\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","type":"blog"}],"staffDOList":[{"id":null,"communityId":209,"username":"community_91","userNickname":"JavaScript","roleCode":1,"status":1,"createUsername":"","updateUsername":"","avatarUrl":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002Fdefault.jpg!1","createTime":"2021-05-12 18:07:03","updateTime":"2021-05-12 18:07:03","lastLoginTime":"2021-05-12 18:07:03"},{"id":null,"communityId":209,"username":"sysdzw","userNickname":"无·法","roleCode":2,"status":1,"createUsername":"community_91","updateUsername":"","avatarUrl":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002F45dcec50fd694b578374e7167ff7914a_sysdzw.jpg!1","createTime":"2021-06-16 17:59:42","updateTime":"2021-06-16 17:59:42","lastLoginTime":"2021-06-16 17:59:42"}],"communityConfig":{"scoreType":0,"scoreItems":{"0":"给本帖投票","1":"锋芒小试,眼前一亮","2":"潜力巨大,未来可期","3":"持续贡献,值得关注","4":"成绩优异,大力学习","5":"贡献巨大,全力支持"}},"shouldApply":false,"subscribeAble":false,"operatorAble":false,"commentNeedJoinCommunity":false},"default2014LiveRoom":[{"itemType":"","description":"高峰论坛","title":"2022 技术英雄会","url":"https:\u002F\u002Flive.csdn.net\u002Froom\u002Fiframe\u002Fcsdnnews\u002FfsNR5NWp?chat=1&title=1&footer=1","images":["https:\u002F\u002Fimg-home.csdnimg.cn\u002Fimages\u002F20221016050009.png"],"ext":{"time":"9:00","liveRoomUrl":"https:\u002F\u002Flive.csdn.net\u002Froom\u002Fcsdnnews\u002FfsNR5NWp"}}]},"isGooglebot":false,"canonical":"https:\u002F\u002Fwww.csdn.net\u002Ftopics\u002F391813052","openUrl":"","isApp":false,"localUrl":"https:\u002F\u002Fbbs.csdn.net\u002Ftopics\u002F391813052","typeId":"index","hasIndex":false,"hasHeader":true},"CFG":{"ALIPLAYER_VERSION":"v4","ALIPLAYER_H5_VERSION":"mobile_v1","ENV":"prod","ROOT_URL":"https:\u002F\u002Fcms-mall.csdn.net\u002F","VUE_APP_API_URL_SERVER":"http:\u002F\u002Fcms-community-api.internal.csdn.net\u002F","VUE_APP_API_URL":"https:\u002F\u002Fcms-api.csdn.net\u002F","LOGIN_URL":"https:\u002F\u002Fpassport.csdn.net\u002Faccount\u002Flogin","VUE_APP_DOMAIN_SKILL":"https:\u002F\u002Fedu.csdn.net\u002F","VUE_APP_DOMAIN_PATH":"https:\u002F\u002Fedu.csdn.net\u002F","VUE_APP_COMMUNITY_API_URL":"https:\u002F\u002Fcommunity-api.csdn.net\u002F","VUE_APP_CCLOUD_API_URL":"https:\u002F\u002Fbizapi.csdn.net\u002Fcommunity-cloud\u002Fv1\u002F","VUE_APP_SKILL_API_URL":"https:\u002F\u002Fbizapi.csdn.net\u002Fskilltree\u002Fapi\u002F","VUE_APP_SEARCH_PLUGIN_API_URL":"https:\u002F\u002Fbizapi.csdn.net\u002Fsearchplugin\u002F","VUE_APP_COMMUNITY_ASK_API_URL":"https:\u002F\u002Fmp-ask.csdn.net\u002F","VUE_APP_ME_URL":"https:\u002F\u002Fme.csdn.net\u002F","VUE_APP_CCLOUD_RESUME":"https:\u002F\u002Fbizapi.csdn.net\u002Fjob-api\u002F","VUE_APP_CCLOUD_MAIN":"https:\u002F\u002Fwww.csdn.net\u002F","VUE_APP_CCLOUD_UC":"https:\u002F\u002Fwww.csdn.net\u002F","VUE_APP_CCLOUD_BZP_API_URL":"https:\u002F\u002Fbizapi.csdn.net\u002F","VUE_APP_CCLOUD_START_API_URL":"https:\u002F\u002Fmp-action.csdn.net\u002F","VUE_APP_PRACTIVE":"https:\u002F\u002Fbizapi.csdn.net\u002Fdaily-practice\u002F","VUE_APP_CCLOUD_HOSTPATH":"https:\u002F\u002Fbbs.csdn.net\u002F"},"queries":{"pageId":[],"domain":["ccloud.csdn.net\u002Fccloud\u002Fdetail1"],"id":["391813052"],"deviceType":"pc","isSpider":"","hostname":["bbs.csdn.net"]},"basePath":"bbs.csdn.net\u002Fccloud\u002Ftopics\u002F391813052","hrefUrl":"https:\u002F\u002Fbbs.csdn.net\u002Ftopics\u002F391813052","active":0,"navBarFixed":false,"title":"求提供给我js代码弹出右下角对话框,对话框里的内容为某个url的内容,谢谢,本人不会js太多","isLive":false,"contentType":{"text":"text","picture":"picture","link":"link","video":"video","vote":"vote","live":"live","blog":"blog","long_text":"long_text","task_text":"task_text"},"liveUrl":"https:\u002F\u002Flive.csdn.net\u002Froom\u002Fiframe\u002F","spmExtra":{"id":209,"topicId":391813052},"keywords":"","description":"以下内容是CSDN社区关于求提供给我js代码弹出右下角对话框,对话框里的内容为某个url的内容,谢谢,本人不会js太多相关内容,如果想了解更多关于JavaScript社区其他内容,请访问CSDN社区。","mounted":false,"infoNoticeData":{"src":"","href":"","spm":"","delay":5},"showDialogInfoNotice":false};</script><script type="text/javascript" src="https://csdnimg.cn/release/cmsfe/public/js/runtime.b9884f01.js"></script><script type="text/javascript" src="https://csdnimg.cn/release/cmsfe/public/js/chunk/common.5d3e3f67.js"></script><script type="text/javascript" src="https://csdnimg.cn/release/cmsfe/public/js/chunk/tpl/ccloud-detail/index.cbc72838.js"></script></body> <!----> <script> window.csdn.sideToolbar = { options: { qr: { isShow: true, data: [ { imgSrc: 'https://csdnimg.cn/release/cmsfe/public/img/ewm.9010d6e5.png', desc: "关注公众号" }, ] }, help: { isShow: false, }, contentEl: document.getElementsByClassName("cloud-maintainer")[0] }, }; </script> <script src="https://g.csdnimg.cn/side-toolbar/2.9/side-toolbar.js" ></script> <!----> <!----> <!----> <script src="https://csdnimg.cn/release/blog_editor_html/release1.7.5/ckeditor/plugins/codesnippet/lib/highlight/highlight.pack.js"></script> <script src="https://g.csdnimg.cn/lib/editor-page-detail/v2.2.0/js/runDetail.min.js"></script> <!----> <!----> <!----> <!----> <!----> <!----> <script src="https://g.csdnimg.cn/collection-box/2.1.0/collection-box.js"></script> <!----> <!----> <!----> <!----> <script src="https://g.csdnimg.cn/common/csdn-cert/csdn-cert.js"></script> <!----></html>