Chinaunix首页 | 论坛 | 博客
  • 博客访问: 616840
  • 博文数量: 718
  • 博客积分: 4000
  • 博客等级: 上校
  • 技术积分: 4960
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-17 13:24
文章分类

全部博文(718)

文章存档

2011年(1)

2008年(717)

我的朋友

分类:

2008-10-17 13:37:20

以下是引用片段:
snap_preview_added="no">操作系统。
var detect = navigator.userAgent.toLowerCase();
var OS,browser,version,total,thestring;
function getBrowserInfo() {
       if (checkIt(´konqueror´)) {
            browser = "Konqueror";
            OS = "html" class="wordstyle">asp?typeid=60" snap_preview_added="no">Linux";
       }
       else if (checkIt(´safari´)) browser = "Safari"
       else if (checkIt(´omniWeb´)) browser = "OmniWeb"
       else if (checkIt(´opera´)) browser = "Opera"
       else if (checkIt(´Webtv´)) browser = "WebTV";
       else if (checkIt(´icab´)) browser = "iCab"
       else if (checkIt(´msie´)) browser = "Internet Explorer"
       else if (!checkIt(´compatible´)) {
             browser = "Netscape Navigator"
            version = detect.charAt(8);
       }
       else browser = "An unknown browser";
       if (!version) version = detect.charAt(place + thestring.length);
       if(!OS) {
            if (checkIt(´linux´)) OS = "Linux";
            else if (checkIt(´x11´)) OS = "Unix";
            else if (checkIt(´mac´)) OS = "Mac"
            else if (checkIt(´win´)) OS = "Windows"
            else OS = "an unknown operating system";
       }
}
function checkIt(string) {
        place = detect.indexOf(string) + 1;
        thestring = string;
        return place;
}
下面看一下网页加载时需要添加的方法。有关网页加载和初始化方法代码如下:
//网页加载调用initialize和getBrowserInfo方法
Event.observe(window, ´load´, initialize, false);
Event.observe(window, ´load´, getBrowserInfo, false);
//未加载时清空缓存
Event.observe(window, ´unload´, Event.unloadCache, false);
//初始化方法
function initialize(){
        //调用该方法为该页添加覆盖层和高亮显示层
        addLightboxMarkup();
        //为每个可高亮显示的元素创建lightbox对象
        lbox = document.getElementsByClassName(´lbOn´);
        for(i = 0; i < lbox.length; i++) {
                    valid = new lightbox(lbox[i]);
        }
}
// 使用Dom方法创建覆盖层和高亮层
function addLightboxMarkup() {
        bod = document.getElementsByTagName(´body´)[0];
        overlay = document.createElement(´div´);
        overlay.id = ´overlay´;
        lb = document.createElement(´div´);
        lb.id = ´lightbox´;
        lb.className = ´loading´;
        lb.innerHTML = ´´ +
                                           ´

Loading

´ +
                                           ´
´;
        bod.appendChild(overlay);
        bod.appendChild(lb);
}
封装lightbox类
初始化数据时,为每个可高亮显示的链接创建了lightbox对象。该类的代码具体实现如下:
var lightbox = Class.create();  
lightbox.prototype = {
       yPos : 0,
       xPos : 0,
      //构造方法,ctrl为创建该对象的元素
       initialize: function(ctrl) {
              //将该元素的链接赋值给this.content
              this.content = ctrl.href;
              //为该元素添加onclick事件activate方法
              Event.observe(ctrl, ´click´, this.activate.bindAsEventListener(this), false);
              ctrl.onclick = function(){return false;};
       },
       //当单击链接时
       activate: function(){
              if (browser == ´Internet Explorer´){//判断为IE浏览器
                     this.getScroll();
                     this.prepareIE(´100%´, ´hidden´);
                     this.setScroll(0,0);
                     this.hideSelects(´hidden´);//隐藏所有的