ymPrompt,jcs缓存架构

 

 

 


jcs.auxiliary.LTCP=org.apache.jcs.auxiliary.lateral.socket.tcp.LateralTCPCacheFactory
#jcs.auxiliary.LTCP.attributes=org.apache.jcs.auxiliary.lateral.LateralCacheAttributes
jcs.auxiliary.LTCP.attributes=org.apache.jcs.auxiliary.lateral.socket.tcp.TCPLateralCacheAttributes
jcs.auxiliary.LTCP.attributes.TransmissionTypeName=TCP
jcs.auxiliary.LTCP.attributes.TcpServers=localhost:8080
jcs.auxiliary.LTCP.attributes.TcpListenerPort=1112
jcs.auxiliary.LTCP.attributes.PutOnlyMode=true

jcs.auxiliary.DC=org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheFactory
jcs.auxiliary.DC.attributes=org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheAttributes
jcs.auxiliary.DC.attributes.DiskPath=c:/tcstest
# new disk cache parameter.
jcs.auxiliary.DC.attributes.maxKeySize=100000
jcs.auxiliary.DC.attributes.optimizeAtRemoveCount=300

#配置文件改动时查看web-inf/classes/下配置文件改动没
#超限(时间,数量)的对象将被保存到硬盘上,下次仍可继续使用,使用后再次超时又会被保存至硬盘上
jcs.region.myJCS4=DC   
#jcs.region.myJCS4=
jcs.region.myJCS4.cacheattributes=org.apache.jcs.engine.CompositeCacheAttributes
#如果MaxObjects设置为3,当添加第三个对象时会把以前的对象全部清空,如果之后再次添加第三个对象同样会把以前的清空
jcs.region.myJCS4.cacheattributes.MaxObjects=3
jcs.region.myJCS4.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory.lru.LRUMemoryCache
jcs.region.myJCS4.cacheattributes.UseMemoryShrinker=true
#对象存活时间,从空闲开始计算
jcs.region.myJCS4.cacheattributes.MaxMemoryIdleTimeSeconds=1000
#属性表示对在缓存中的对象,多长时间检查一次
jcs.region.myJCS4.cacheattributes.ShrinkerIntervalSeconds=3
jcs.region.myJCS4.elementattributes=org.apache.jcs.engine.ElementAttributes

jcs.region.myJCS4.elementattributes.IsEternal=false

#jcs.region.myJCS3.elementattributes.MaxLifeSeconds=20

#jcs.region.myJCS3.elementattributes.IdleTime=5

1、默认的内存缓存:
该cache.ccf配置文件是放置到web-inf/classes/目录下的! 同时如果配置文件内没有指定特定的缓冲区的属性,所有缓冲区都会根据默认属性来构建。
Jcs.default=
Jcs.default.cacheattributes=
org.apache.jcs.engine.CompositeCacheAttributes
jcs.default.cacheattributes.MaxObjects=1000
jcs.default.cacheattributes.MemoryCacheName=
org.apache.jcs.engine.memory.lru.LRUMemoryCache

在上面的配置中,MaxObject 指定缓冲区的大小是存放1000个对象,1000个缓冲对象是指的每个缓冲区的大小为存放1000个对象,而不是指所有的缓冲区总容量。
其中 jcs.default=? 用来指定默认缓冲区对应的辅助缓冲区的名称!cacheattributes :设定使用的 cache 属性管理类别
MemoryCacheName 表示 内存缓冲区使用LRUMemoryCache对象。
2、如果需要加上缓存有效期限制,需要加上如下内容 接着上面的配置文件按(if you want to add memory shrinking then you can add these lines ):
jcs.defalut.cacheattritues.UserMemoryShrinker=true
jcs.default.cacheattributes.MaxMemoryIdleTimeSeconds=3600
jcs.default.cacheattributes.ShrinkerIntervalSeconds=60
jcs.default.MaxSpoolPerRun=500
jcs.default.elementattributes=org.apache.jcs.engine.ElementAttributes
jcs.default.elementattributes.IsEternal=false

上面的配置 中:
UserMemoryShrinker 属性设定是否使用冗余内存清除程序,true表示是
MaxMemoryIdleTimeSeconds 属性:表示 将UserMemoryShrinker 设为true时,jcs对缓冲的对象的最大滞留缓存中的时间,如果一个对象在缓冲区内停留的时间操作这个时间,就会被认为是“不新鲜的”而不清理掉或者存入磁盘 此次表示 3600秒则过期。
ShrinkIntervalSeconds 属性表示 对在缓存中的对象,多长时间检查一次,如果在检查的过程中发现有 驻留缓存大于 MaxMemoryIdleTimeSeconds 的,就将做过期处理。
Elementattributes 属性用来设定 element属性类别。

IsEternal 属性:用来设定 element 属性 是否会过期,(单词Eternal永久的意思)
= false  表示 不永久,就是会过期。
jcs.default.elementattributes.MaxLifeSeconds=2100 :设定 element 建立后能存活多久,IsEternal=false时有效
jcs.default.elementattributes.IdleTime=1800: 设定 element 可闲置的时间,IsEternal=false时有效
3.设置硬盘索引缓冲区(辅助缓冲区)
jcs.auxiliary.DC =
org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheFacory
jcs.auxiliary.DC.attributes=
org.apache.jcs.auxiliary.dis.indexed.IndexedDiskCacheAttributes
jcs.auxiliary.DC.attributes.DiskPath=g:/dev/jcs/raf

3、如果想将这个辅助硬盘索引缓冲区绑定到默认的缓冲区上,需要
修改默认缓冲区定义的第一条记录为
jcs.default =DC 即可,这样 所有未指定属性的缓冲区都会自己使用一个硬盘缓冲区,缓冲文件以缓冲区的名字来命名。存放到指定目录下。
4、如果想预定义一个具体的region缓冲区,比如叫做 testCache1,那么可以增加下面的配置:
jcs.region.testCache1=DC (此处知名 辅助缓冲区,如果没有则说明没有辅助缓冲区)
jcs.region.testCache1.cacheattributes=
org.apache.jcs.engine.CompositeCacheAttributes
jcs.region.testCache1.cacheattributes.MaxObjects=1000
jcs.region.testCache1.cacheattributes.MemoryCacheName=
org.apache.jcs.engine.memory.lru.LRUMemoryCache
jcs.region.testCache1.cacheattributes.UseMemoryShrinker=true
jcs.region.testCache1.cacheattributes.MaxMemoryIdleTimeSeconds=3600
jcs.region.testCache1.cacheattributes.ShrinkerIntervalSeconds=60
jcs.region.testCache1.cacheattributes.MaxSpoolPerRun=500
jcs.region.testCache1.elementattributes=org.apache.jcs.engine.ElementAttributes
jcs.region.testCache1.elementattributes.IsEternal=false

5、完整的 配置文件如下(来自官方英文版pdf,加了点注释):
# DEFAULT CACHE REGION (默认缓冲区)jcs.default=DC,LTCP  -- 指明辅助缓冲区
jcs.default.cacheattributes=
org.apache.jcs.engine.CompositeCacheAttributes
jcs.default.cacheattributes.MaxObjects=1000
jcs.default.cacheattributes.MemoryCacheName=
org.apache.jcs.engine.memory.lru.LRUMemoryCache

# PRE-DEFINED CACHE REGIONS (预定义的region缓冲区(不是默认的,可以通过名称获取名称是 testCache1))jcs.region.testCache1=DC,LTCP
jcs.region.testCache1.cacheattributes=
org.apache.jcs.engine.CompositeCacheAttributes
jcs.region.testCache1.cacheattributes.MaxObjects=1000
jcs.region.testCache1.cacheattributes.MemoryCacheName=
org.apache.jcs.engine.memory.lru.LRUMemoryCache
jcs.region.testCache1.cacheattributes.UseMemoryShrinker=true
jcs.region.testCache1.cacheattributes.MaxMemoryIdleTimeSeconds=3600
jcs.region.testCache1.cacheattributes.ShrinkerIntervalSeconds=60
jcs.region.testCache1.cacheattributes.MaxSpoolPerRun=500
jcs.region.testCache1.elementattributes=org.apache.jcs.engine.ElementAttributes
jcs.region.testCache1.elementattributes.IsEternal=false

# AVAILABLE AUXILIARY CACHES (硬盘索引辅助缓冲区和横向式的并行缓冲LTCP)jcs.auxiliary.DC=
org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheFactory
jcs.auxiliary.DC.attributes=
org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheAttributes
jcs.auxiliary.DC.attributes.DiskPath=g:/dev/jcs/raf
jcs.auxiliary.DC.attributes.maxKeySize=100000
jcs.auxiliary.LTCP=
org.apache.jcs.auxiliary.lateral.LateralCacheFactory
jcs.auxiliary.LTCP.attributes=
org.apache.jcs.auxiliary.lateral.LateralCacheAttributes
jcs.auxiliary.LTCP.attributes.TransmissionTypeName=TCP
jcs.auxiliary.LTCP.attributes.TcpServers=localhost:1111
jcs.auxiliary.LTCP.attributes.TcpListenerPort=1110


依赖jar包

jcs-1.3.jar

concurrent-1.3.4.jar

     public void jcsTest()throws Exception{
      String key = req.getParameter("key");
      JCS jcs = JCS.getInstance("myJCS4");
      jcs.put(key, "myJCSMessage"+key);
      System.out.println("****jcsTest****"+key);
     }
     public void getJCS()throws Exception{
      String key = req.getParameter("key");
      JCS jcs = JCS.getInstance("myJCS4");
      System.out.println(" ********myJCS "+jcs.get(key)+" ******"+key);
     }
     public void clearJCS()throws Exception{
      System.out.println("enter getJCS");
      JCS jcs = JCS.getInstance("myJCS4");
      jcs.clear();
      jcs.dispose();
      System.out.println(" ********myJCS "+jcs.get("my2")+" ");
     }

 

 

 

 

 

1、在页面中引入ymPrompt.js。如:<script type="text/javascript" src="ymPrompt.js"></script>

2、在页面中引入对应的皮肤文件的CSS,如:<link rel="stylesheet" type="text/css" href="skin/qq/ymPrompt.css" />

3、自定义组件的默认配置信息(此步骤可选,该方法可以在任意时间调用)

页面的js中通过ymPrompt.setDefaultCfg(cfg)方法修改组件部分或全部的默认属性。

如:ymPrompt.setDefaultCfg({maskAlpha:0.2,maskAlphaColor:'#00f'})

 

组件的默认配置(对于没有设定的项将采用该配置项的默认值):

{

titleBar:true, //显示标题栏

fixPosition:true, //随滚动条浮动

dragOut:false, //不允许拖出页面

autoClose:true, //点击按钮后自动关闭页面

maskAlphaColor:'#000', //遮罩透明色

maskAlpha:0.1, //遮罩透明度

winAlpha:0.8, //拖动窗体时 窗体的透明度,默认为0.8

 

title: '标题', //消息框标题

message: '内容', //消息框按钮

width: 300, //宽

height: 185, //高

iframe:false,

btn:null,

icoCls:'',

handler: function(){} //回调事件

 

showMask: true, //是否显示遮罩

winPos: 'c', //弹出窗口默认位置

closeBtn:true, //是否显示关闭按钮

//按钮文本,可通过自定义这些属性实现本地化

closeTxt: '关闭',

okTxt:' 确 定 ',

cancelTxt:' 取 消 '

}

4、根据您的需要调用相应的消息函数(两种参数传入方式):

ymPrompt.alert(参数) //消息提示类型

ymPrompt.succeedInfo(参数) //成功信息类型

ymPrompt.errorInfo(参数) //错误信息类型

ymPrompt.confirmInfo(参数) //询问消息类型

ymPrompt.win(参数) //自定义窗口类型

 

参数传入方式包含两种:

第一种即传统的参数传入,按照顺序传入相应的参数值即可(一定要按照顺序),对于不需要设定的值请传入null。如ymPrompt.alert('内容',null,null,'标题')

参数顺序:message,width,height,title,handler,maskAlphaColor,maskAlpha,

iframe,icoCls,btn,autoClose,fixPosition,dragOut,titleBar,showMask,winPos,winAlpha

 

(推荐)第二种即JSON的传入方式,需要指定字段名,没有顺序,根据需要设定相关属性。如ymPrompt.alert({title:'标题',message:'内容'})

 

五个方法的参数意义完全相同(所有参数均为可选,不传入则使用默认参数值),具体含义如下:

message:消息组件要显示的内容,默认为“内容”。

width:消息框的宽度,默认为300。

height:消息框的高度,默认为185。

title:消息组件标题,默认为“标题”

handler:回调函数。当确定/取消/关闭按钮被点击时会触发该函数并传入点击的按钮标识。如ok代表确定,cancel代表取消,close代表关闭

maskAlphaColor:遮罩的颜色,默认为黑色。

maskAlpha:遮罩的透明度,默认为0.1。

 

fixPosition:设定是否弹出框随滚动条一起浮动,保持在屏幕的固定位置,默认为true

dragOut:设定是否允许拖出屏幕范围,默认为false。

autoClose:设定用户点击窗口中按钮后自动关闭窗口,默认为true(设定为false后程序中可以通过调用close方法关闭)。

titleBar:是否显示标题栏,默认显示。注意,如果没有标题栏需要自己在程序中控制关闭。

showMask:是否显示遮罩层,默认为true

winPos:弹出窗口的位置,支持8种内置位置(c,l,t,r,b,lt,rt,lb,rb)及自定义窗口坐标,默认为c。

各参数意义:c:页面中间,l:页面左侧,t:页面顶部,r:页面右侧,b:页面顶部,lt:左上角,rt:右上角,lb:左下角,rb:右下角

winAlpha:弹出窗体拖动时的透明度,默认为0.8

 

//以下三个参数主要用于win方法(当然你也可以通过设定这些覆盖前面四个消息类型的默认属性)。

iframe:是否使用iframe方法加载内容,该属性如果为true或者object,组件则尝试将message内容作为url进行加载(如果属性值为一个object,则将object的内容添加为iframe的属性,如iframe:{id:'myId',name:'myName',src:'http://www.baidu.com'}则iframe的id为myId,name为myName,src为http://www.baidu.com)。默认为false。

icoCls:图标类型。传入的内容为className,具体写法可以参考ymprompt.css中对图标的定义方式。默认为空。

btn:按钮定义。传入的是数组形式。每个按钮的格式为['按钮文本','按钮标识'],

如[['确定','ok'],['取消','cancel'],['关闭','close']]等。

注意单个按钮应该是这样的:[['确定','ok']]

 

closeBtn:是否显示关闭按钮,默认为true(显示)。

//以下参数可用于对组件语言本地化,如用于英文等系统中

okTxt:确定按钮的文本描述,默认为“确定”

cancelTxt:取消按钮的文本描述,默认为“取消”

closeTxt:关闭按钮的文本描述(鼠标放在关闭按钮上时显示),默认为“关闭”

 

5、操作接口:

属性:

version:当前版本号 如:alert(ymPrompt.version)

pubDate:当前版本的发布日期 如:alert(ymPrompt.pubDate);

cfg:组件的当前的默认配置

 

方法:

setDefaultCfg(cfg):设定组件的默认属性,设定后的所有弹出均默认采用cfg中的设置。

如:ymPrompt.setDefaultCfg({maskAlpha:0.2,maskAlphaColor:'#00f'}); //设定遮罩层颜色为蓝色,透明度0.2

 

getPage():在iframe窗口模式下,获取到iframe的dom对象。

如:alert(ymPrompt.getPage().contentWindow.document.body.outerHTML); //获取iframe页面的html内容

 

resizeWin(w,h):通过程序动态修改窗口的大小。参数:w:宽度,h:高度

如:ymPrompt.resizeWin(400,300); //修改弹出框宽度为400px,高度为300px

 

doHandler(sign,autoClose):模拟触发某个按钮的点击事件。参数sign:传给回调函数的标识,autoClose:是否自动关闭窗口(默认采用全局配置)

如:ymPrompt.doHandler('ok',false); //触发确定按钮的点击事件,并且执行完回调函数后不关闭窗口

 

getButtons():获取当前弹出窗口的所有按钮对象,返回结果是一个对象集合(数组)。

如:var btnID=ymPrompt.getButtons()[0].id; //获取第一个按钮的id

 

close():关闭当前弹出的窗口 如:ymPrompt.close()

 

6、其他说明:如果觉得“对象.方法”的调用方式比较麻烦,可以采用如下方式简化调用:

在调用之前设定var Alert=ymPrompt.alert。之后就可以使用Alert()的方式进行

 

 

 

 

 

 

组件调用方式1(传统参数传入方式): 示例 调用方法
ymPrompt.alert('http://www.qq.com',null,null,'确认要提交吗?',handler)
ymPrompt.succeedInfo($('txt').innerHTML,400,260,null,handler2)
ymPrompt.errorInfo('操作失败!',null,null,null,handler)
ymPrompt.confirmInfo('信息确认框功能测试',null,null,null,handler)
ymPrompt.win('<div class=\'myContent\'>普通弹出窗口</div>',300,200,'普通弹窗测试')
ymPrompt.win('http://www.163.com',500,300,'网易官方网站',handler,null,null,{id:'a'})
组件调用方式2(JSON方式): 示例 源码
ymPrompt.alert({message:'http://www.qq.com',slideShowHide:false,title:'确认要提交吗?',handler:handler})
ymPrompt.succeedInfo({message:$('txt').innerHTML,width:400,height:260,handler:handler2})
ymPrompt.errorInfo({message:'操作失败!',handler:handler})
ymPrompt.confirmInfo({message:'信息确认框功能测试',handler:handler})
ymPrompt.win({message:'普通弹出窗口',width:300,height:200,msgCls:'myContent',title:'普通弹窗测试'})
ymPrompt.win({message:'http://www.163.com',width:500,height:300,title:'网易官方网站',handler:handler,maxBtn:true,minBtn:true,iframe:true})
其他使用方式演示: 示例 源码
ymPrompt.alert()
ymPrompt.alert('消息内容')
ymPrompt.alert({title:'我的标题',message:'我的内容'})
ymPrompt.win({title:'iframe模式',fixPosition:true,maxBtn:true,minBtn:true,iframe:{id:'myId',name:'myName',src:'http://www.baidu.com'}})
ymPrompt.alert({title:'fixPosition使用演示',message:'我不会随滚动条一起滚动',fixPosition:false})
ymPrompt.alert({title:'dragOut使用演示',message:'我可以拖出到窗口可见区域以外',dragOut:true})
ymPrompt.alert({title:'autoClose使用演示',message:'程序控制关闭',autoClose:false,handler:autoClose})
ymPrompt.win({message:'<br><center>无标题栏</center>',handler:noTitlebar,btn:[['关闭我']],titleBar:false})
ymPrompt.win({message:'<br><center>无关闭按钮</center>',btn: ['OK'],closeBtn:false})
ymPrompt.alert({message:'不显示遮罩',title:'不显示遮罩',showMask:false})
ymPrompt.alert({message:'右下角弹出',title:'右下角弹出',winPos:'rb'})
ymPrompt.alert({message:'自定义弹出位置',title:'右下角弹出',winPos:[200,1000]})
ymPrompt.win({message:'自定义按钮',title:'自定义按钮测试',handler:testHd,btn:[['是','yes'],['否','no'],['取消','cancel']]})
ymPrompt.alert({message:'拖动窗体时的透明度为0.5',title:'自定义按钮测试',winAlpha:0.5})
ymPrompt.alert({message:'显示窗体阴影',title:'显示阴影',showShadow:true})
ymPrompt.alert({message:'窗体淡入淡出',title:'淡入淡出',useSlide:true,handler:slideHd})
ymPrompt.alert({message:'自定义淡入淡出',title:'淡入淡出',useSlide:true,slideCfg:{increment:0.1,interval:100},handler:slideHd})
ymPrompt.alert({message:'显示最大化最小化按钮',title:'最大化最小化',minBtn:true,maxBtn:true})
ymPrompt.win({message:'自定义内容样式',title:'自定义内容样式',msgCls:'customCls'})
ymPrompt.alert({message:'允许在消息框中使用右键',title:'允许右键',allowRightMenu:true})
ymPrompt.alert({message:'允许选择消息框中内容',title:'允许选择',allowSelect:true})
ymPrompt.confirmInfo({icoCls:'',msgCls:'confirm',message:'请输入您的姓名:<br><input type='text' id='myInput' onfocus='this.select()' />',title:'请输入您的名字',height:150,handler:getInput,autoClose:false})" />
组件方式及属性调用演示: 示例 源码
ymPrompt.win('<div class="fmt">版本号:'+ymPrompt.version+'<br>发布日期:'+ymPrompt.pubDate+'<br>组件当前配置信息:'+json2str(ymPrompt.cfg)+'</div>',250,500)
ymPrompt.win({message:'iframe.html',width:500,height:300,title:'getPage测试',handler:handlerIframe,autoClose:false,iframe:true})
ymPrompt.alert({message:'一秒钟后我的大小改为[400,300]',height:200,width:250});
setTimeout(function(){ymPrompt.resizeWin(400,300)},1000);
ymPrompt.alert({message:'两秒钟后自动点击确定按钮',handler:handler});
setTimeout(function(){ymPrompt.doHandler('ok')},1000);
ymPrompt.alert({message:'点击确定显示按钮的内容',autoClose:false,btn:[['是','yes'],['否','no']],handler:getButtons})
ymPrompt.alert({message:'悬浮右下角,模拟qq',fixPosition:true,winPos:'rb',showMask:false})
ymPrompt.alert({message:'窗口状态控制',width:400,autoClose:false,btn:[['最大化','max'],['最小化','min'],['正常态','normal'],['关闭','close']],handler:stateHd})
en();ymPrompt.alert({message:'英文化成功'})
cn();ymPrompt.alert({message:'中文化成功'})

--------------------------------------------------------------------------------

调用方法及参数说明
1.在页面中引入ymPrompt.js。如:<script type="text/javascript" src="ymPrompt.js"></script>
2.在页面中引入对应的皮肤文件的CSS,如:<link rel="stylesheet" type="text/css" href="skin/qq/ymPrompt.css" />
3.自定义组件的默认配置信息(此步骤可选,该方法可以在任意时间调用)
页面的js中通过ymPrompt.setDefaultCfg(cfg)方法修改组件部分或全部的默认属性。
如:ymPrompt.setDefaultCfg({maskAlpha:0.2,maskAlphaColor:'#00f'})

组件的默认配置(对于没有设定的项将采用该配置项的默认值):
{
   message: '内容', //消息框按钮
   width: 300, //宽
   height: 185, //高
   title: '标题', //消息框标题
   handler: function() {}, //回调事件
   maskAlphaColor: '#000', //遮罩透明色
   maskAlpha: 0.1, //遮罩透明度

   iframe: false, //iframe模式
   icoCls: '', //图标的样式
   btn: null, //按钮配置
   autoClose: true, //点击关闭、确定等按钮后自动关闭
   fixPosition: true, //随滚动条滚动
   dragOut: false, //不允许拖出窗体范围
   titleBar: true, //显示标题栏
   showMask: true, //显示遮罩
   winPos: 'c', //在页面中间显示
   winAlpha:0.8, //拖动窗体时窗体的透明度
   closeBtn:true, //是否显示关闭按钮
   showShadow:false, //不显示阴影,只对IE有效
   useSlide:false, //不使用淡入淡出
   slideCfg:{increment:0.3,interval:50}, //淡入淡出配置

   //按钮文本,可通过自定义这些属性实现本地化
   closeTxt: '关闭',
   okTxt:' 确 定 ',
   cancelTxt:' 取 消 ',
   msgCls:'ym-content' //消息内容的样式
   minBtn:false, //不显示最小化按钮
   minTxt:'最小化',
   maxBtn:false, //不显示最大化按钮
   maxTxt:'最大化'
   allowSelect:false, //是否允许选择消息框内容,默认不允许
   allowRightMenu:false //是否允许在消息框使用右键,默认不允许
}
4.根据您的需要调用相应的消息函数(两种参数传入方式):
■ymPrompt.alert(参数) //消息提示类型
■ymPrompt.succeedInfo(参数) //成功信息类型
■ymPrompt.errorInfo(参数) //错误信息类型
■ymPrompt.confirmInfo(参数) //询问消息类型


■ymPrompt.win(参数) //自定义窗口类型

参数传入方式包含两种:
■第一种即传统的参数传入,按照顺序传入相应的参数值即可(一定要按照顺序),对于不需要设定的值请传入null。如ymPrompt.alert('内容',null,null,'标题')
参数顺序上面的默认配置中参数顺序一致


■(推荐)第二种即JSON的传入方式,需要指定字段名,没有顺序,根据需要设定相关属性。如ymPrompt.alert({title:'标题',message:'内容'})

五个方法的参数意义完全相同(所有参数均为可选,不传入则使用默认参数值),具体含义如下:
■message:消息组件要显示的内容,默认为“内容”。
■width:消息框的宽度,默认为300。
■height:消息框的高度,默认为185。
■title:消息组件标题,默认为“标题”
■handler:回调函数。当确定/取消/关闭按钮被点击时会触发该函数并传入点击的按钮标识。如ok代表确定,cancel代表取消,close代表关闭
■maskAlphaColor:遮罩的颜色,默认为黑色。
■maskAlpha:遮罩的透明度,默认为0.1。


■fixPosition:设定是否弹出框随滚动条一起浮动,保持在屏幕的固定位置,默认为true
■dragOut:设定是否允许拖出屏幕范围,默认为false。
■autoClose:设定用户点击窗口中按钮后自动关闭窗口,默认为true(设定为false后程序中可以通过调用close方法关闭)。
■titleBar:是否显示标题栏,默认显示。注意,如果没有标题栏需要自己在程序中控制关闭。
■showMask:是否显示遮罩层,默认为true
■winPos:弹出窗口的位置,支持8种内置位置(c,l,t,r,b,lt,rt,lb,rb)及自定义窗口坐标,默认为c。
  各参数意义:c:页面中间,l:页面左侧,t:页面顶部,r:页面右侧,b:页面顶部,lt:左上角,rt:右上角,lb:左下角,rb:右下角
■winAlpha:弹出窗体拖动时的透明度,默认为0.8

//以下三个参数主要用于win方法(当然你也可以通过设定这些覆盖前面四个消息类型的默认属性)。
■iframe:是否使用iframe方法加载内容,该属性如果为true或者object,组件则尝试将message内容作为url进行加载(如果属性值为一个object,则将object的内容添加为iframe的属性,如iframe:{id:'myId',name:'myName',src:'http://www.baidu.com'}则iframe的id为myId,name为myName,src为http://www.baidu.com)。默认为false。
■icoCls:图标类型。传入的内容为className,具体写法可以参考ymprompt.css中对图标的定义方式。默认为空。
■btn:按钮定义。传入的是数组形式。每个按钮的格式为['按钮文本','按钮标识'],
如[['确定','ok'],['取消','cancel'],['关闭','close']]等。
注意单个按钮应该是这样的:[['确定','ok']]
■closeBtn:是否显示关闭按钮,默认为true(显示)。


■showShadow:是否启用弹出框阴影效果(IE Only),默认为false
■useSlide:f是否启用弹出框的渐显渐隐效果,默认为false
■slideCfg:渐变效果的配置信息,参数格式为object,属性包括incerment:透明度每次增加的值,interval:变化的速度。例如:{incerment:0.3,interval:50}。该参数仅在useSlide为true时有效

//以下参数可用于对组件语言本地化,如用于英文等系统中
■okTxt:确定按钮的文本描述,默认为“确定”
■cancelTxt:取消按钮的文本描述,默认为“取消”
■closeTxt:关闭按钮的文本描述(鼠标放在关闭按钮上时显示),默认为“关闭”
■minTxt:最小化按钮的文本描述,默认为“最小化”
■maxTxt:最大化按钮的文本描述,默认为“最大化”


■minBtn:是否显示最小化按钮,默认为false
■maxBtn:是否显示最大化按钮,默认为false


■allowSelect:是否允许选择消息框内容,默认为false
■allowRightMenu:是否允许在消息框中使用右键,默认为false
5.操作接口:


属性:
version:当前版本号 如:alert(ymPrompt.version)
pubDate:当前版本的发布日期 如:alert(ymPrompt.pubDate);
   cfg:组件的当前的默认配置
方法:
setDefaultCfg(cfg):设定组件的默认属性,设定后的所有弹出均默认采用cfg中的设置。
如:ymPrompt.setDefaultCfg({maskAlpha:0.2,maskAlphaColor:'#00f'}); //设定遮罩层颜色为蓝色,透明度0.2


getPage():在iframe窗口模式下,获取到iframe的dom对象。
如:alert(ymPrompt.getPage().contentWindow.document.body.outerHTML); //获取iframe页面的html内容


resizeWin(w,h):通过程序动态修改窗口的大小。参数:w:宽度,h:高度
如:ymPrompt.resizeWin(400,300); //修改弹出框宽度为400px,高度为300px


doHandler(sign,autoClose):模拟触发某个按钮的点击事件。参数sign:传给回调函数的标识,autoClose:是否自动关闭窗口(默认采用全局配置)
如:ymPrompt.doHandler('ok',false); //触发确定按钮的点击事件,并且执行完回调函数后不关闭窗口


getButtons():获取当前弹出窗口的所有按钮对象,返回结果是一个对象集合(数组)。
如:var btnID=ymPrompt.getButtons()[0].id; //获取第一个按钮的id


close():关闭当前弹出的窗口 如:ymPrompt.close()


max():最大化弹出窗口。


min():最小化弹出窗口


normal():窗口普通弹出状态

6.其他说明:如果觉得“对象.方法”的调用方式比较麻烦,可以采用如下方式简化调用:
在调用之前设定var Alert=ymPrompt.alert。之后就可以使用Alert()的方式进行调用。
hello!01r初始化弹出二,
我可以最大化最小化

 

 

 

 

 

 

 

posted @ 2014-01-17 14:09  苍天一穹  阅读(349)  评论(0编辑  收藏  举报