`
erichua
  • 浏览: 516571 次
  • 性别: Icon_minigender_2
  • 来自: 远方
社区版块
存档分类
最新评论

JQuery读书笔记--Log函数

阅读更多
/**
 * @author erich
 */
(function($){
    var PREFIX_DEBUG = "DEBUG";
    var PREFIX_ERROR = "ERROR";

	
    $.debug = function(type,msg){
        chooseLogger(type, msg, PREFIX_DEBUG);
    };
    $.error = function(type,msg){
        chooseLogger(type, msg, PREFIX_ERROR);
    };
    
    var chooseLogger = function(type, msg, lever){
        switch (type) {
            case 'popup':
                //do popup logger
                popupLogger(msg, lever);
                break;
            case 'document':
                writeLogger(msg, lever);
                break;
            case 'console':
                consoleLogger(msg, lever);
                break;
            case 'alert':
                alertLogger(msg, lever);
                break;
        }
        
    };
    // loggers
    var popupLogger = function(pMessage, pLevel){
    
        var winName = "sb_log";
        var winAtt = "width=420,height=320,scrollbars=1,status=0,toolbars=0,resizable=1";
        var errorAlert = "The sb log window was blocked";
        var logTableId = "logTable";
        var logTableElement = "<table width='100%' id='" +
        logTableId +
        "'><tr><th align='left'>Time</th><th width='100%' colspan='2' align='left'>Message</th></tr></table>";
        
        // check if the window is already open
        if (!this._window || !this._window.document) {
        
            // open the window
            this._window = window.open("", winName, winAtt);
            if (!this._window) {
                alert(errorAlert);
                return;
            }
            if (!this._window.document.getElementById(logTableId)) {
                this._window.document.writeln(logTableElement);
                this._window.document.close();
            }
        };
        
        // add log message to window
        var tbl = this._window.document.getElementById(logTableId);
        var row = tbl.insertRow(-1);
        
        var cell_1 = row.insertCell(-1);
        var cell_2 = row.insertCell(-1);
        var cell_3 = row.insertCell(-1);
        cell_1.style.fontSize = "12px";
        cell_1.style.fontWeight = "bold";
        cell_1.style.paddingRight = "6px";
        cell_2.style.fontSize = "12px";
        cell_3.style.fontSize = "12px";
        cell_3.style.whiteSpace = "nowrap";
        cell_3.style.width = "100%";
        
        if (tbl.rows.length % 2 == 0) {
            row.style.backgroundColor = "#eeeeee";
        }
        
        var date = new Date();
        var hour = date.getHours();
        if (hour < 10) {
            hour = "0" + hour;
        }
        var minute = date.getMinutes();
        if (minute < 10) {
            minute = "0" + minute;
        }
        var second = date.getSeconds();
        if (second < 10) {
            second = "0" + second;
        }
        var date = (date.getMonth() + 1) + "/" + date.getDate() + "/" +
        date.getFullYear() +
        "&nbsp;-&nbsp;" +
        hour +
        ":" +
        minute +
        ":" +
        second;
        
        cell_1.innerHTML = date
        cell_2.innerHTML = pLevel;
        cell_3.innerHTML = pMessage;
    };
    var writeLogger = function(pMessage, pLevel){
        document.writeln(pLevel + "&nbsp;-&nbsp;" + pMessage + "<br/>");
    };
    
    var consoleLogger = function(pMessage, pLevel){
        if (jQuery.browser.mozilla) {
            console.log(pLevel + " - " + pMessage);
        }
    };
    
    var alertLogger = function(pMessage, pLevel){
        alert(pLevel + " - " + pMessage);
    };
})(jQuery);

分享到:
评论

相关推荐

    jquery笔记-达内培训

    ### jQuery基础知识及应用 #### 一、jQuery简介与特点 1. **定义**:jQuery是一种广泛使用的开源JavaScript库,它简化了HTML文档遍历、事件处理、动画制作以及与Ajax的交互等操作。 2. **起源与发展**:jQuery由...

    Ajax和jQuery学习笔记

    ### Ajax和jQuery学习笔记 #### 一、Ajax基础与原理 **1.1 什么是Ajax?** Ajax(Asynchronous JavaScript and XML,异步JavaScript和XML)是一种用来创建快速动态网页的技术,通过在后台与服务器进行少量数据...

    达内学习笔记----PHP基础+MYSQLS基础+JS笔记整理.docx

    总结,这份学习笔记涵盖了PHP的基础语法、数学和日期处理、字符串操作,以及MySQL和JavaScript/jQuery的基本知识,是一份全面的Web开发学习资料。通过深入理解和实践这些内容,开发者可以提升自己的Web开发技能。

    jquery学习笔记

    **jQuery学习笔记** jQuery是一个广泛使用的JavaScript库,它极大地简化了HTML文档遍历、事件处理、动画设计和Ajax交互。由于其简洁的API和强大的功能,jQuery成为了前端开发中的首选工具之一。 ### 1. jQuery核心...

    自学jquery笔记库

    - **事件绑定**:jQuery 支持多种方式绑定事件处理函数。 - 使用 `.click()` 或 `.bind()` 等方法直接绑定事件。 - 使用 `.on()` 方法动态绑定事件。 - **示例**: ```javascript $("#btn").click(function() { ...

    Jquery_基础学习笔记

    - 使用匿名函数包裹代码块,其中`$`指向`jQuery`。 - 如果jQuery在其他库之前导入,则可以直接使用`jQuery`代替`$`。 ### 13. 判断元素是否存在 - **功能**:检查页面中是否存在特定ID的元素。 - **示例**:判断...

    jquery和javascript讲解笔记

    ### JavaScript与jQuery全面讲解 #### 一、JavaScript基础概述 **JavaScript** 是一种广泛用于网页浏览器的脚本语言,它让网页变得动态且交互性更强。尽管名字中有 "Java",但实际上两者并没有直接关联。...

    JQueryEasyUI学习笔记(十一)源码

    在本篇jQuery EasyUI的学习笔记中,我们将深入探讨如何实现右键菜单以及冻结列的功能,这对于构建用户交互丰富的Web应用程序至关重要。jQuery EasyUI是一个基于jQuery的UI库,它提供了大量的预定义组件,使得开发者...

    Java学习笔记-个人整理的

    {12.7}组函数}{158}{section.12.7} {12.7.1}group by}{159}{subsection.12.7.1} {12.7.2}having}{160}{subsection.12.7.2} {12.8}子查询}{161}{section.12.8} {12.9} 授权与回收权限}{161}{section.12.9} {...

    JQuery笔记

    通过本篇笔记的学习,我们深入了解了JQuery中的`$(document).ready()`函数及其几种常见的写法,并探讨了如何利用JQuery进行图片的加载、预加载和事件监听等操作。这些技术点不仅有助于提升网页的性能,还能改善用户...

    jQuery笔记

    **jQuery笔记** jQuery 是一个广泛使用的 JavaScript 库,它极大地简化了HTML文档遍历、事件处理、动画设计和Ajax交互。本笔记将深入探讨jQuery的核心概念和常用功能,旨在帮助开发者快速掌握并有效利用jQuery。 #...

    jquery操作ul的一些操作笔记整理(干货)

    在这篇《jquery操作ul的一些操作笔记整理(干货)》中,作者分享了关于jQuery操作HTML文档中无序列表元素的技巧和代码示例。以下为详细知识点整理: 1. jQuery基础知识 - jQuery是一个快速、小巧且功能丰富的...

    jquery笔记1

    4. **事件处理(Events)**:jQuery的事件处理函数比原生JavaScript更加简洁,如`$("#button").click(function() { ... })`。 **二、jQuery AJAX** jQuery的AJAX功能是其亮点之一,大大简化了异步数据请求。在提供...

    jquery学习笔记之无new构建详解

    然而,如果直接在jQuery构造函数中使用`new`,会导致递归调用,因为`Jquery`函数内部再次调用了`new Jquery()`,形成无限循环。 为了解决这个问题,jQuery引入了一个初始化函数`init`。原来的`Jquery`构造函数被...

    李炎恢JavaScript-pdf文档笔记

    5. **JavaScript框架与库**:笔记可能提及了流行的JavaScript库如jQuery,以及框架如React、Vue.js、Angular,介绍它们的基本用法和设计理念。 6. **ES6新特性**:ECMAScript 6(简称ES6)引入了许多新特性和语法糖...

    jQuery学习笔记之toArray()

    通过`call()`函数,我们可以改变`slice()`方法的调用上下文,使其能够作用于jQuery对象。`call()`方法允许我们将任何对象作为`slice()`方法的`this`值,这样`slice()`就会在这个新的上下文中运行。 `slice()`方法...

    jQuery学习笔记之 Ajax操作篇(三) - 过程处理

    在本篇jQuery学习笔记中,我们将深入探讨如何在Ajax操作过程中进行处理,包括观察Ajax事件、错误处理以及JSONP的使用。 1. **观察Ajax事件** jQuery提供了`ajaxStart`和`ajaxStop`这两个观察函数,用于监听Ajax...

    jQuery学习笔记之jQuery.extend(),jQuery.fn.extend()分析

    在jQuery库中,`jQuery.extend()` 和 `jQuery.fn.extend()` 是两种非常重要的方法,它们用于扩展和合并对象的属性。这两个方法在开发自定义插件或进行jQuery对象的定制时非常常见。 `jQuery.extend()` 用于合并一个...

Global site tag (gtag.js) - Google Analytics