Ext中文学习文档.doc_第1页
Ext中文学习文档.doc_第2页
Ext中文学习文档.doc_第3页
Ext中文学习文档.doc_第4页
Ext中文学习文档.doc_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Ext类addBehaviors( Object obj ) : void 对选择的元素 应用事件侦听器,事件名以附加在结尾,例如addBehaviors(/ id=foo下所有的a标签加入click事件 #foo aclick : function(e, t) / do something , / 用,分隔多个选择器 #foo a, #bar span.some-classmouseover : function() / do something );apply( Object obj, Object config, Object defaults ) : Object从config拷贝所有的属性到obj,如果有defaults参数,也将拷贝其属性到objapplyIf( Object obj, Object config ) : Object从config拷贝所有属性至obj(如果obj未定义相应属性)decode(Object obj) : String编码一个对象/数组或其它值为一个json格式字符串(支持对象,数组,日期,字符串)destroy( Mixed arg1, Mixed (optional), Mixed (optional) ) : void尝试去移除每个传入的对象,包括DOM,事件侦听者,并呼叫他们的destroy方法(如果存在)each( Array/NodeList/Mixed array, Function fn, Object scope ) : void利用array中的每个元素迭代调用fn.直到fn返回假,调用格式fn.call(scope | arrayi, arrayi, i, array);encode(String json) : Object 将一个json格式字符串反序列化为对象escapeRe( String str ) : String为字符串正则编码将.在*+?$()|/字符前加extend( Object subclass, Object superclass, Object overrides ) : void从superclass类继承subclass,overrides参数是要重载的方法列表,详见overridefly( String/HTMLElement el, String named ) : Element得到全局共享的一个浮动元素el,如果有多个浮动元素可以使用命名以避免潜在的冲突get( Mixed el ) : Element得到一个Element对象,参数可以是id或DOM节点或已存在的Element对象getBody() : Element得到当前文档的body对象getCmp( String id ) : Component通过id得到一个Component对象getDoc() : Element得到当前文档getDom( Mixed el ) : HTMLElement通过id或节点或Element对象返回一个DOM节点id( Mixed el, String prefix ) : String为对象el生成一个惟一id,如果对象本身已有id,将不会被改变(可以使用前导符prefix)isEmpty( Mixed value, Boolean allowBlank ) : Boolean判断值是否为空,null, undefined或空字符串将返回真,如果allowBlank定义为真,空字符串将不被视为空namespace( String namespace1, String namespace2, String etc ) : void创建一个命名空间,例Espace(Company, Company.data);Company.Widget = function() . Company.data.CustomStore = function(config) . num( Mixed value, Number defaultValue ) : Number将value转为数值,如果value不是合法的数值类型,将返回defaultValue,其实defaultValue并不一定要求是数值类型,只要你愿意onReady( Function fn, Object scope, boolean override ) : void当文档准备好了之后引发fn,发生在page的onload事件之前,并且图片此时都还没有载入,scope定义执有者,override定义scope是否有默认的选择override( Object origclass, Object overrides ) : void利用overrides重写origclass的方法,例Ext.override(MyClass, newMethod1: function() / etc. , newMethod2: function(foo) / etc. );query( String path, Node root ) : Array 通过path,在root中选择节点数组,path可以是以下四种选择器之一元素选择器 例:* 任意节点 E 一个E标签元素 E F 祖先节点为E的F节点 E F 或 E/F 父节点为E的F节点E + F 前一个兄弟节点为E的F节点 E F 前面的兄弟节点中有E的F节点属性选择器 例: Efoo 有foo属性的E节点 Efoo=bar 有foo属性值为bar的E节点 Efoo=bar foo属性以bar开始的E节点 Efoo$=bar foo属性以bar结尾的E节点Efoo*=bar foo属性中有bar字符串的E节点 Efoo%=2 foo属性能被2整除的E节点Efoo!=bar foo属性值不为bar的E节点 伪类选择器 例:E:first-child E节点是父节点中第一个子节点 E:last-child E节点是父节点中最后一个子节点E:nth-child(n) E是父节点中每n个节点 E:nth-child(odd) E是父节点中的奇数节点E:nth-child(even) E是父节点中的偶数节点 E:only-child E是父节点中惟一的子节点E:checked checked属性为真的节点 E:first 子孙节点中的第一个E节点E:last 子孙节点中的最后一个E节点 E:nth(n) 子孙节点中的第n个E节点E:odd E:nth-child(odd)的简写 E:even E:nth-child(even)的简写E:contains(foo) innerHTML属性中含有foo的E节点 E:nodeValue(foo) E节点中包含一个值为foo的文本节点E:not(S) 不匹配简单选择器S的E节点 E:has(S) 有能匹配简单选择器S的子节点的E节点E:next(S) 下一个兄弟节匹配简单选择器S的E节点 E:prev(S) 前一个兄弟节匹配简单选择器S的E节点type( Mixed object ) : String 判断对象类型,如果不是下列值之一将返回false样式选择器 例:Edisplay=none display属性值为none的E节点 Edisplay=none display属性值以none开始的E节点Edisplay$=none display属性值以none结束的E节点 Edisplay*=none display属性值含有none子字串的E节点Edisplay%=2 display属性值能被2整除的E节点 Edisplay!=none display属性值不等于none的E节点select( String/Array selector, Boolean unique, HTMLElement/String root ) :CompositeElementLite/CompositeElement在root内通过样式选择器或元素数组selector选择元素或元素列表,unique指示是否只选择惟一值urlDecode( String string, Boolean overwrite ) : Object将url格式字符串string解码为json对象,overwrite参数指示是否不重写已存在的对象,例Ext.urlDecode(foo=1&bar=2); /返回 foo: 1, bar: 2 Ext.urlDecode(foo=1&bar=2&bar=3&bar=4); /返回 foo: 1, bar: 4.Ext.urlDecode(foo=1&bar=2&bar=3&bar=4, true); /返回 foo: 1, bar: 2, 3, 4.urlEncode( Object o ) : String将json对象编码为url格式字符串,参见urlDecode type( Mixed object ) : String得到object类型,如果不为以下列举值之一则返回falseArray类indexOf( Object o ) : Numberobject是否在数组中,找不到返回-1;找到返回位置remove( Object o ) : Array从数组中删除指定的对象object,如果找不到object则数组无变化Number类constrain( Number min, Number max ) : Number检查数值是否介于min与max之间, 如果大于max 返回max,如果小于min返回min, 否则返回当前值String类escape( String string ) : String 将string中的和替换为 format( String string, String value1, String value2 ) : String格式化字符串,例:var cls = my-class, text = Some text;var s = String.format(1, cls, text);/ 结果 Some textleftPad( String string, Number size, String char ) : String以char将string补齐为size长度,char默认定义空格toggle( String value, String other ) : String 交换值,如果当前值等于value,则被赋值other,反之等于value,例:sort = sort.toggle(ASC, DESC);trim() : String 去除开头或结尾多余的空格Date类Date.parseDate( String input, String format ) : Date将字符串string依指定的格式format转换为时间,其中格式定义详见format方法例:dt = Date.parseDate(2006-01-15 3:20:01 PM, Y-m-d h:i:s A ); add( String interval, Number value ) : Date增加时间段,String interval在Data类中已定义Date.MILLI = ms; Date.SECOND = s; Date.MINUTE = mi; Date.HOUR = h; Date.DAY = d;Date.MONTH = mo; Date.YEAR = y; 例var dt2 = new Date(10/1/2006).add(Date.DAY, -5); between( Date start, Date end ) : Boolean 是否在两个指定的时间之间clearTime( Boolean clone ) : Date 清除时间信息,如果clone为真,则克隆自已并返回新Date,本身的值并不改变,反之则修改自身的值clone() : Date 克隆format( String format ) : String格式化时间d 两位数的日期01 至 31 D 三字母的星期名Mon 至 Sun j 一位数的日期1 至 31 l 完整的星期名Sunday 至 Saturday S 日期的英文顺序刻词尾,两个字符st, nd, rd or th.w 一周中的第几天0 (星期天) 至 6 (星期六) z 一年中的第几天0 至 364 (闰年365 ) W ISO-8601 星期数, 周一算一个星期的开始 1 至 53F 月的完整英文名January 至 December m 月,以0前导01 至 12 M 三字母的简写月名Jan 至 Dec n 月1 至 12t 本月有多少天28 至 31 L 是否闰年1/0Y 完整的年份例: 1999 或 2003 y 年的后两位例: 99 或 03a 上午/下午小写am 或 pm A 上午/下午大写AM 或 PM g 小时/12小时制1 至 12 G 小时/24小时制0 至 23h 小时/12小时制01 至 12 H 小时/24小时制00 至 23i 分钟00 至 59 s 秒 00 至 59u 毫秒001 至 999 O 时区,与格林威治标准时间之差例: +0200T 时区简写例: EST, MDT . Z 时区间距-43200 至 50400其中Date类内置了几种格式Date.patterns = ISO8601Long:Y-m-d H:i:s, ISO8601Short:Y-m-d, ShortDate: n/j/Y, LongDate: l, F d, Y, FullDateTime: l, F d, Y g:i:s A, MonthDay: F d, ShortTime: g:i A, LongTime: g:i:s A, SortableDateTime: Y-m-dTH:i:s, UniversalSortableDateTime: Y-m-d H:i:sO, YearMonth: F, Y;当然ISO8601Long和ISO8601Short还是非常招人喜欢的 例:dt.format(Date.patterns.ISO8601Long);dt.format(Y-m-d H:i:s);getDayOfYear() : Number 一年中的第几天,从0开始getDaysInMonth() : Number 本月有多少天,getElapsed( Date date ) : Number 当前日期对象与date之间相差的毫秒数getFirstDateOfMonth() : Date 本月的第一天getFirstDayOfMonth() : Number 本月第一天是星期几getGMTOffset() : String 时区信息(见格式定义中的O)getFirstDateOfMonth() : Date 本月最后一天 getFirstDayOfMonth() : Number 本月最后一天是星期几getSuffix() : String 日期后导符(见格式定义中的S)getTimezone() : String 时区(见T) getWeekOfYear() : Number 一年中的第几周(见W)isLeapYear() : Boolean 是否闰年 Function类createCallback(/*args.*/) : Function 创建回叫方法createDelegate( Object obj, Array args, Boolean/Number appendArgs ) :创建委托这两个记法除了传参方式不同,看不出有什么差异都是调用method.apply,createCallback可以看作一个简化版的createDelegatecreateCallback=return method.apply(window, args);createDelegate=return method.apply(obj | window, callArgs);前者参数比较简单,直接传过去了,后者的规则比较复杂点,如果appendArgs为真,args将附加在参数列表之后,如果是数值,args将在参数列表的appendargs位置插入,其它情况下原参将不起作用 例:var fn = func1.createDelegate(scope, arg1,arg2, true) /fn(a,b,c) = scope.func1(a,b,c,arg1,arg2); var fn = func1.createDelegate(scope, arg1,arg2) /fn(a,b,c) = scope.func1(arg1,arg2); var fn = func1.createDelegate(scope, arg1,arg2, 1) /fn(a,b,c) = scope.func1(a,arg1,arg2,b,c); var fn = func1.createCallback(arg1, arg2); /fn() = func1(arg1, arg2) createCallback : function(/*args.*/) createInterceptor( Function fcn, Object scope ) : Function 创建阻断方法,如果fcn返回false,原方法将不会被执行createSequence( Function fcn, Object scope ) : Function 创建组合方法,执行原方法+fcndefer( Number millis, Object obj, Array args, Boolean/Number appendArgs ):Number 定时执行,隔millis毫秒后执行原方法Ext.DomQuery类 selector语法详见Ext类compile( String selector, String type ) : Function编写一个选择器或xpath查询到一个方法以方便重用,type取select(默认)或simple值之一filter( Array el, String selector, Boolean nonMatches ) : Array过滤el中的元素,保留符合selector的,如果nonMatches为真,结果相反is( String/HTMLElement/Array el, String selector ) : Boolean 验证el是否匹配selectorselect( String selector, Node root ) : Array 从root中选择匹配selector的对象数组selectNode( String selector, Node root ) : Element 返回root中第一个匹配selector的对象selectNumber( String selector, Node root, Number defaultValue ) : Number返回root中第一个匹配selector的对象的节点值,转换为整数或浮点数selectValue( String selector, Node root, String defaultValue ) : void返回root中第一个匹配selector的对象的节点值,如果为null,用默认值defaultValue代替Ext.DomHelper类append( Mixed el, Object/String o, Boolean returnElement ) : HTMLElement/Ext.Element创建一个新的DOM元素并添加到el 参数 o 是一个DOM对象或一个原始html块applyStyles( String/HTMLElement el, String/Object/Function styles ) : void应用样式styles到对象el, 样式的对象表示方法见Ext.ElementcreateTemplate( Object o ) : Ext.Template 由o创建一个新的Ext.Template对象,详见 Ext.TemplateinsertAfter( Mixed el, Object o, Boolean returnElement ) : HTMLElement/Ext.ElementinsertBefore( Mixed el, Object/String o, Boolean returnElement ) : HTMLElement/Ext.Element创建一个新的DOM对象o并将他们挺入在el之后/之前insertFirst( Mixed el, Object/String o, Boolean returnElement ) :创建一个新的DOM元素并做为第一个子节点添加到el (看了这个insertFirst,建议将append取一个别名insertLast:)insertHtml( String where, HTMLElement el, String html ) : HTMLElementwhere 可选值beforeBegin/afterBegin/beforeEnd/afterEnd 将html代码插入到el附近,markup( Object o ) : String 返回DOM对象o对应的html代码overwrite( Mixed el, Object/String o, Boolean returnElement ) :创建一个新的DOM元素o并用它重写el的内容 Ext.Template类Template类主要是功能是生产html片断,例var t=new Ext.Template(,name:trimvalue:ellipsis(10),);t.append(some-element, id: myid, cls: myclass, name: foo, value: bar);公用方法:Template( String/Array html ) 构造一个Ext.Template对象,参数可以是字符串形式的html代码或它们组成的数组,Template.from( String/HTMLElement el, Object config ) : Ext.Template 能过el的value(优先)或innerHTML来构造模板append( Mixed el, Object values, Boolean returnElement ) : HTMLElement/Ext.ElementinsertAfter( Mixed el, Object values, Boolean returnElement ) : HTMLElement/Ext.ElementinsertBefore( Mixed el, Object values, Boolean returnElement ) : HTMLElement/Ext.ElementinsertFirst( Mixed el, Object values, Boolean returnElement ) : HTMLElement/Ext.Element这组方法提供由 value产生的html 代码,并添加到dom 做为el的最后一个子节点/下一个兄弟节点/前一个兄弟节点/第一个子节点values解释参见applyTemplateapply() : void applyTemplate( Object values ) : Stringapply是applyTemplate的简写,如果参数是数字values可以是一个数组,或者一个象 id: myid, cls: myclass, name: foo, value: bar这样的json对象compile() : Ext.Template 编译模板,替换掉模板中的= ,rn|n=n, =,主要是为了js自己处理方便overwrite( Mixed el, Object values, Boolean returnElement ) :利用values生成html替换el的内容 set( String html, Boolean compile ) : Ext.Template设置模板的html,如果compile为真将调用compile方法Ext.Element类Element( String/HTMLElement element, Boolean forceNew ) 由id或DOM节点创建Element对象Element.fly( String/HTMLElement el, String named ) : Element由id或DOM节点创建一个全局共享的活动元素,可由named命名以避免可能的冲突Element.get( Mixed el ) : Element 由id或DOM节点或已存在的Element得到一个Ext.Element对象addClass( String/Array className ) : Ext.Element 为元素添加一个或多个css类名addClassOnClick( String className ) : Ext.Element 为点击事件添加和移除css类addClassOnFocus( String className ) : Ext.Element 为得到和失去焦点添加和移除css类addClassOnOver( String className, Boolean preventFlicker ) : Ext.Element为鼠标移入移出事件添加和移除css类(该方法未实际使用preventFlicker参数)addKeyListener( Number/Array/Object/String key, Function fn, Object scope ) : Ext.KeyMap为对象添加按键侦听 key由数值或字符串或key: (number or array), shift: (true/false), ctrl: (true/false), alt: (true/false)这样的对象或他们的数组组成addKeyMap( Object config ) : Ext.KeyMap 功能同addKeyListener,只是传参方式不同例:el.addKeyMap(key : ab,ctrl : true,fn: fn,scope:el );和el.addKeyListener(key:ab,ctrl:true,fn,el);是等价的,都是在 按下ctral+a或ctrl+b后呼叫fnaddListener( String eventName, Function fn, Object scope, Object options ) : void定义事件侦听,eventName:事件名,fn:事件处理方法,scrope:范围,其中options的定义比较复杂,可以包含以下属性scope Object : 处理fn的范围 delegate String : 一个简单选择器(过滤目标或寻找目标的子孙节点)stopEvent Boolean : 阻止事件,等于preventDefault+stopPropagationpreventDefault Boolean : 阻止默认活动 stopPropagation Boolean : 阻止事件冒泡normalized Boolean :设为flase将允许浏览器事件替代Ext.EventObjectdelay Number : 延时多少毫秒后发生 single Boolean : 只运行一次buffer Number : 在Ext.util.DelayedTask中预定事件 当然,还可能自定义参数以传入functionalignTo( Mixed element, String position, Array offsets, Boolean/Object animate ) : Ext.Element将el对齐到element,positon,指示对齐的位置,可选以下定义tl 左上角(默认) t 上居中 tr 右上角 l 左边界的中央 c 居中 r 右边界的中央bl 左下角 b 下居中 br 右下角 position还可以使用?约束移动不能超出窗口 offsets 偏移量,以象素为单位animate 详见animate定义例:div1.alignTo(div2,c-bl?,20,0,true); 采用默认动画将div1的最中央对齐到div2的左下角,并右移20个象素,且不能超出窗口anchorTo( Mixed element, String position, Array offsets, Boolean/Object animate, Boolean/Number monitorScroll, Function callback ) : Ext.Element 功能和alignTo类似,只是当窗口重定义大小的时候也会引发重对齐事件monitorScroll参数说明是否需要监视滚动条行为,如果定义为数值则是定义的延时,单位为毫秒,默认是50ms,callback定义了animate完成后的回叫方法animate( Object args, Float duration, Function onComplete, String easing, String animType ) : Ext.Element执行动画. args:目标 duration:时间间隔.默认是0.35 Function:完成后的回叫方法easing:行为方法 默认值是:easeOut,可选值在ext_base中找到,但没有说明,以下内容从yahoo ui中找到的easeNone:匀速 easeIn:开始慢且加速 easeOut:开始快且减速 easeBoth:开始慢且减速 easeInStrong:开始慢且加速,t的四次方easeOutStrong:开始快且减速,t的四次方 easeBothStrong:开始慢且减速,t的四次方elasticIn: elasticOut: elasticBoth: backIn: backOut: backBoth: bounceIn: bounceOut: bounceBoth: 太多,慢慢体会吧animType:定义动画类型,默认值run 可选值:color/motion/scrollappendChild( String/HTMLElement/Array/Element/CompositeElement el ) : Ext.Element 添加子元素el(el须已存在)appendTo( Mixed el ) : Ext.Element 将当前元素添加到elapplyStyles( String/Object/Function styles ) : Ext.Element应用样式,styles是width:100px这样的字符串或width:100px这样的对象,function是指返回这样的字串和对象的函数,这是一个没有用的批示,因为任何传参的地方都可以是返回要求类型的function.另见setStyleautoHeight( Boolean animate, Float duration, Function onComplete, String easing ) : Ext.Element自适应高度,参数都是老相识了,惟一需要注意的是这个方法使用了setTimeout,高度不会马上变更blur() : Ext.Element 失去焦点,忽略所有的异常boxWrap( String class ) : Ext.Element 一个指定样式class的div将当前元素包含起来,class默认值为x-boxcenter( Mixed centerIn ) : voidalignTo的简华版.相当于alignTo(centerIn | document, c-c),当前元素的中心对齐到centerIn元素的中心child( String selector, Boolean returnDom ) : HTMLElement/Ext.Element依selector选择子孙节点,依returnDom不同批示返回html元素还是ext元素,未定义或false时返回Ext.Elementclean( Boolean forceReclean ) : void 清除无用的空白文本节点(我喜欢这个想法)clearOpacity() : Ext.Element清除当前元素样式中不通用元素,清除ie中的filter,清除FF中的opacity/-moz-opacity/-khtml-opacityclearPositioning( String value ) : Ext.Element 清除定位,恢复到默认值,相当于this.setStyle(left: value,right: value,top: value,bottom: value,z-index: ,position : static);clip() : Ext.Element 裁剪溢出部分,用unclip()恢复contains( HTMLElement/String el ) : Boolean 当前元素中是否存在elcreateChild( Object config, HTMLElement insertBefore, Boolean returnDom ) : Ext.Element创建一个新的子节点config :DomHelper元素对象,如果没有特别指明tag,将使用div做默认tag,详情参见DomHelper,如果未定义insertBefore,则追加createProxy( String/Object config, String/HTMLElement renderTo, Boolean matchBox ) : Ext.Element创建一个代理元素 config:代理元素的类名或DomHelper config对象 renderTo:将要绘制代理元素的html element或id matchBox:是否对齐createShim() : Ext.Element 在当前元素之前创建一个classname为ext-shim的iframe,有什么用?down( String selector, Boolean returnDom ) : HTMLElement/Ext.Element通过样式选择器selector选择子孙节点 enableDisplayMode( String display ) : Ext.Element setVisibilityMode的简便方法findParent( String selector, Number/Mixed maxDepth, Boolean returnEl ) : HTMLElement通过简单选择器selector寻找祖先节点 ,直到maxDepth(元素maxDepth默认为10,也可以是指定的DOM 节点),找不到返回nullfindParentNode( String selector, Number/Mixed maxDepth, Boolean returnEl ) : HTMLElement从父元素开始使用简单选择器selector选择DOM节点first( String selector, Boolean returnDom ) : Ext.Element/HTMLElement得到第一个符合selector条件的子节点,跳过文本节点focus() : Ext.Element 得到焦点getAlignToXY( Mixed element, String position, Array offsets ) : Array得到当前元素按position规则对齐到element时的XY坐标值 position/offsets参数参见alignTo方法getAnchorXY( String anchor, Object size, Boolean local ) : Array得到当前元素锚点指定的坐标值 anchor定义参见alignTo方法,默认为cgetAttributeNS( String namespace, String name ) : String 得到使用了命名空间namespace的属性name之值,getBorderWidth( String side ) : Number得到side指定的边框之和,side可以是t, l, r, b或他们的任意组合,比如getBorderWidth(lr)就是得到左边框和右边框之和getBottom( Boolean local ) : Number 得到当前元素的底部纵坐标,元素纵坐标+元素高度getBox( Boolean contentBox, Boolean local ) : Object 得到当前元素的box对象:x,y,width,heightgetCenterXY() : Array 如果当前元素要居中对齐时的横纵坐标值,等价getAlignToXY(document, c-c)getColor( String attr, String defaultValue, String prefix ) : void得到当前元素指定attr的颜色值,如果没指定,返回defualtValue,比较郁闷的是明明不是void为什么api中批示是一个void?应该是个字符串getComputedHeight() : Number 得到计算过的高度,得到offsetHeight或css中定义的height值之一,如果使用了padding/borders,也会计算进去getComputedWidth() : Number 见getComputedHeightgetFrameWidth( String sides ) : Number 得到sides定义的border宽度和padding定义的宽度之和,side定义见getBorderWidthgetHeight( Boolean contentHeight ) : Number 返回元素的offsetHeightgetLeft( Boolean local ) : Number 得到横坐标getMargins( String sides ) : Object/Number如果没有定义sides,则返回一个含有left,top,width,height对象,反之返回side指定

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论