xWin之JS版(2-26更新)
更新時間:2007年01月16日 00:00:00 作者:
xWin由三個文件組成:
頁面文件:
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
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(); } //**初始化函數(shù)****** function _xWin_init(){ var allTheWindows=document.getElementsByTagName("div"); for(var i=0;i
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
CSS:
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
這個破東西終于可以算是告一段落了,俺在兼容性方面也學到了不少,哈哈哈
發(fā)現(xiàn)bug歡迎回帖告訴我,請多多指教
ps:
加上那個DOCTYPE和不加的區(qū)別真大啊,通過了驗證好高興啊呵呵
補充說明:
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修改了窗口最小化時的位置問題