基于 jQuery 的 Plurk 表情猴子脚本(Greasemonkey)
最近研究 jQuery 小有收获,感觉这玩意儿真是方便,于是到处找实习机会。
昨天,土豆王在 Plurk 上发布了一个 用 AutoHotkey 写的自动插入表情的小程序,感觉想法非常不错,只是需要记住表情的代码,有点麻烦。我想最好能弹出窗口让用户点击选择表情,这样既直观又方便,而且不用记忆表情代码。
于是研究了一下ahk的gui部分,未果。今天偶然想到之前 Eddie 推荐的 Greasemonkey,据说这玩意儿很强大,而且脚本是用javascript,用这东西把表情整合到 Plurk 页面再合适不过了,于是诞生了下面的脚本(代码是 version 1.0 的, 新版本的源码可以看这里):
PLAIN TEXT >> JAVASCRIPT:
-
// ==UserScript==
-
// @name Plurk Smile
-
// @namespace http://phpz.org/
-
// @description Easy to insert Smile
-
// @include http://www.plurk.com/user/*
-
// ==/UserScript==
-
-
// jQuery 1.2.6 pack
-
// 这里是 jQuery 脚本
-
-
// My Script
-
var phpzOrgPlurkFaceCount = new Array();
-
-
phpzOrgPlurkFaceCount.push(new Array('http://ipx6.cn/plotion/onion/',
-
new Array('ah.gif','ah2.gif','ah3.gif','angry.gif','angry2.gif','angry3.gif',
-
'angry4.gif','angry5.gif','baby.gif','bath.gif','buddha.gif','bye.gif',
-
'circle.gif','cold.gif','cold2.gif','cold3.gif','cold4.gif','comfortable.gif',
-
'cool.gif','cry.gif','cry2.gif','cry3.gif','cry4.gif','dizzy.gif','faint.gif',
-
'ghost.gif','glasses.gif','hand.gif','happiness.gif','hope.gif','idea.gif',
-
'ill.gif','knife.gif','lol.gif','look.gif','love.gif','lovely.gif','music.gif',
-
'nose.gif','oh2.gif','orz2.gif','pia.gif','question.gif','redcard.gif','runcry.gif',
-
'shrug.gif','shy.gif','shy2.gif','shy3.gif','sleep.gif','smile.gif','smoke.gif',
-
'soccer.gif','soccer2.gif','soccer3.gif','speed.gif','star.gif','sweat.gif',
-
'sweatlove.gif','think.gif','vomit.gif','w.gif','wall.gif','wind.gif',
-
'wind2.gif','wow.gif','xd.gif','yawn.gif','yellowcard.gif')));
-
-
var phpzOrgPlurkImageArea = $('
-
');
-
var phpzOrgPlurkShowSmile = $('<a href="javascript:void 0;">Show Smile></a>');
-
-
$(phpzOrgPlurkFaceCount).each(function(item)
-
{
-
phpzOrgPlurkAppendImage(this);
-
});
-
-
$(function()
-
{
-
var curInput = $('#input_big');
-
var in_big = $('#input_big');
-
$('#input_big').add('#input_small').bind('focus', function()
-
{
-
curInput = $(this);
-
});
-
phpzOrgPlurkShowSmile.insertAfter(in_big)
-
.css('font-size', '12px')
-
.toggle(function()
-
{
-
$(this).html('Hide Smile <');
-
phpzOrgPlurkImageArea.slideDown('slow');
-
},
-
function()
-
{
-
$(this).html('Show Smile>');
-
phpzOrgPlurkImageArea.slideUp('slow');
-
});
-
phpzOrgPlurkImageArea.insertAfter(in_big)
-
.hide()
-
.css('background-color', '#fff')
-
.find('img')
-
.css({'width':'27px', 'margin':'2px'})
-
.bind('click', function()
-
{
-
curInput.val(curInput.val() + ' ' + this.src + ' ').focus();
-
});
-
});
-
-
function phpzOrgPlurkAppendImage(arr)
-
{
-
var baseUrl = arr[0];
-
$(arr[1]).each(function()
-
{
-
var _url = baseUrl + this;
-
phpzOrgPlurkImageArea.append('<a href="javascript:void 0;"><img src="'+_url+'" alt="'+this+'" /></a>');
-
});
-
}
脚本页面:version 1.0 version 2.0 version 4.6,点击 “install this script”,提示安装成功后刷新 Plurk 页面就能看到效果了。


