2011年12月23日 星期五

jQuery Plugin flog - Formatted Log

flog 意思為 Formatted Log

由此篇文章得到靈感。
http://blog.darkthread.net/blogs/darkthreadtw/archive/2008/12/31/jquery-logging-plugin.aspx

沒有 Firebug 時,會自動忽略此功能。
並導入了 Console.log 的 Format 字串 與 無限參數個數。
外加判斷,若第一個參數為 Format 字串 且 選擇對象為 使用者選擇之目標,則將 Format 字串後加入 ": %o" 以顯示 使用者選擇目標。

原始碼:

/*
* jQuery Formatted Log Plugin v1.0.0 @ 20111223
*
* Print formatted log to console.log with smart object display.
*
* Copyright (c) 2011 Firch Tsai
*
* Licensed under the GPL v2 licenses.
*/
jQuery.flog = jQuery.fn.flog = function(msg) {

if (typeof console != "undefined")
{
var arguments_array = [];

for (var i in arguments)
{
arguments_array[i] = arguments[i];
}

var first_arg = arguments_array.shift();

if(typeof first_arg == "string" && this.selector != $.selector)
{
first_arg += ': %o';
arguments_array.push(this);
}

arguments_array.unshift(first_arg);


var logfn = console.log;
logfn.apply(this, arguments_array);
}

return this;
};


使用範例:

item = "Book";
$.flog("This is a %s !", item);

將輸出:
This is a Book !


使用範例:

tag_name = "Links";
$('a').flog("These %s are Formatted", tag_name );

將輸出:
These Links are Formatted: +[a... , a...]


0 意見: