xWin之JS版(2-26更新)
更新时间:2007年01月16日 00:00:00 作者:
xWin由三个文件组成:
页面文件:
[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]
JS:
支持属性: int left, int top, int width, int height 支持方法: Close(), Destroy(), Max([bolean Variable]), Min([bolean Variable]), MoveTo(int x, int y), ResizeTo(int x, int y), SetContent(string Variable | htmlObject Variable) SetTitle(string Variable), ShowHide() */ //**载入CSS***** var xWinCssFilePath="sp\/css\/xwin.css"; document.write(""); //**检测浏览器种类***** var BROWSERNAME=""; switch(navigator.appName.toLowerCase()){ case "netscape": BROWSERNAME="ns"; break; case "microsoft internet explorer": default: BROWSERNAME="ie"; break; } //**设置初始化变量****** switch(BROWSERNAME){ case "ns": window.addEventListener("load",_xWin_init,false); break; case "ie": default: window.attachEvent("onload",_xWin_init); } //**设置全局定时器****** if(typeof(__xSeriaTimer__)=="undefined"){ var __xSeriaTimer__={ events:new Array(), objs:new Array(), handle:null, exec:function(){ for(var i=0;i<__xSeriaTimer__.events.length;i++){ try{ with(__xSeriaTimer__.objs[i]){ eval(__xSeriaTimer__.events[i]); } }catch(e){} } }, pop:function(i){ __xSeriaTimer__.events[i]=null; __xSeriaTimer__.objs[i]=null; }, push:function(strV,obj){ for(var i=0;i<__xSeriaTimer__.events.length;i++){ if(__xSeriaTimer__.events[i]==null){ __xSeriaTimer__.events[i]=strV; __xSeriaTimer__.objs[i]=obj; return(i); } } __xSeriaTimer__.events[i]=strV; __xSeriaTimer__.objs[i]=obj; return(i); }, start:function(){ __xSeriaTimer__.stop(); __xSeriaTimer__.handle=setInterval(__xSeriaTimer__.exec,30); }, stop:function(){ clearInterval(__xSeriaTimer__.handle); } }; __xSeriaTimer__.start(); } //**初始化函数****** function _xWin_init(){ var allTheWindows=document.getElementsByTagName("div"); for(var i=0;i
[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]
CSS:
[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]
这个破东西终于可以算是告一段落了,俺在兼容性方面也学到了不少,哈哈哈
发现bug欢迎回帖告诉我,请多多指教
ps:
加上那个DOCTYPE和不加的区别真大啊,通过了验证好高兴啊呵呵
补充说明:
1. 可以通过在CSS中自定义背景图片的方式来更改xWin的外观效果. 预留了.xWinTitleCloseButton, .xWinTitleMinButton, .xWinTitleMaxButton 用于自定义按钮图片
2. 页面初始化用的是window的attachEvent/addEventListener, 如果页面xWin脚本后有重定义window.onload=xxx可能造成无法初始化。建议所有需要初始化的脚本都采用attachEvent/addEventListener避免冲突
3.目前较HTC版的改进:
3.1兼容了FF 1.5
3.2修改了窗口最大化时的滚动条问题
3.3修改了窗口最小化时的位置问题
最新评论