石头兔的城堡 » 日志 » 表情图标的Greasemonkey脚本
表情图标的Greasemonkey脚本
石头兔 发表于 2006-04-28 23:27:18
今天又花了点儿时间,把之前说的Greasemonkey的脚本写出来了。方便那些使用了ff和Greasemonkey的,并且不愿意,或记不住表情代码的人。
一开始,走了一些弯路。之前做的给回复框加表情图标的时候,其实就是用innerHTML直接修改其中的一个单元格的内容。这没什么问题。不过今天做这个脚本,可是费了不少功夫。直接用innerHTML对其中一个单元格的内容修改,会造成含有<form>的表格内部的代码重排,而夹在两个<tr>之间的<form>会被自动关闭。导致的结果是,点击提交,也可以正常进行连接,但是,编写的内容全部丢失。
想尽办法也没有解决,只好放弃这种修改的方式,改用插入的方式。不允许我修改表格单元,那我就新建一行,然后再新建两个表格单元,然后再初始化成我希望的内容就可以了。试验之后,确实没问题。不过,在IE Tab中不能使用。大概是因为Greasemonkey无法处理IE Tab吧。
效果图:

代码如下:
转载、引用请注明出处,谢谢
保存成一个js文件,例如:yculblogsmileyreplyer.user.js
然后安装到Greasemonkey就可以了。
代码的注释说明就不写了,和之前的那个大同小异。
-------------------
终于厚着脸皮把这个东西发到http://userscripts.org/上边去了
这里http://userscripts.org/scripts/show/3958
--------------
发现这个东西在我的Ubuntu下的Firefox中会显示乱码,虽然只是“表情”两个字的乱码。估计是和脚本文件的编码有关。
一开始,走了一些弯路。之前做的给回复框加表情图标的时候,其实就是用innerHTML直接修改其中的一个单元格的内容。这没什么问题。不过今天做这个脚本,可是费了不少功夫。直接用innerHTML对其中一个单元格的内容修改,会造成含有<form>的表格内部的代码重排,而夹在两个<tr>之间的<form>会被自动关闭。导致的结果是,点击提交,也可以正常进行连接,但是,编写的内容全部丢失。
想尽办法也没有解决,只好放弃这种修改的方式,改用插入的方式。不允许我修改表格单元,那我就新建一行,然后再新建两个表格单元,然后再初始化成我希望的内容就可以了。试验之后,确实没问题。不过,在IE Tab中不能使用。大概是因为Greasemonkey无法处理IE Tab吧。
效果图:

代码如下:
转载、引用请注明出处,谢谢
// ==UserScript==
// @namespace http://booker.yculblog.com
// @name Yculblog Smiley Replyer
// @description Add smileys to the reply form in admin area.
// @include http://www.yculblog.com/editfollowup.php?*
// ==/UserScript==
var urlBase = "http://booker.yculblog.com/images/smiley/1/";
var picName = new Array("1", "2", "3", "4", "5", "6", "7", "8", "10", "11", "19", "20");
var smileyCode = new Array("[:-)]", "[:-(]", "[XD]", "[;-)]", "[*^_^*]", "[:-O]", "[o_O]", "[T_T]", "[-_-b]", "[:-D]", "[#_#]", "[^.^]");
var s2="";
var i;
for(i=0; i < picName.length; i++){
s2 = s2 + "<img src='" + urlBase+picName[i] + ".gif' alt='' style='cursor:pointer;' onclick='document.getElementsByTagName(\"textarea\")[1].value = document.getElementsByTagName(\"textarea\")[1].value + \"" + smileyCode[i] + "\";' />";
}
var tbs = document.getElementsByTagName("table");
var trs = tbs[1].insertRow(7);
if(trs){
var tds = trs.insertCell(-1);
if(tds){
tds.innerHTML="<b>表情</b>";
tds.setAttribute("align","right");
}
var td = trs.insertCell(-1);
if(td){
td.innerHTML=s2;
}
}
保存成一个js文件,例如:yculblogsmileyreplyer.user.js
然后安装到Greasemonkey就可以了。
代码的注释说明就不写了,和之前的那个大同小异。
-------------------
终于厚着脸皮把这个东西发到http://userscripts.org/上边去了
这里http://userscripts.org/scripts/show/3958
--------------
发现这个东西在我的Ubuntu下的Firefox中会显示乱码,虽然只是“表情”两个字的乱码。估计是和脚本文件的编码有关。
相关日志:
收藏:
QQ书签
del.icio.us
订阅:
Google
抓虾
最新评论
-
2006-04-27 19:57:27
以后有什么电脑上的疑难杂症就来问兔子拉,呵呵~
欢迎欢迎
-
2006-05-01 19:25:22 http://yyzz0584.ycool.com/
偶滴叶子是人鱼做滴...又从她那看到另一个强人...
以后有什么多帮忙..谢拉!不强不强
不谢不谢
[:-D] -
2006-05-01 20:40:18
[T_T]您这个不强.那我不是菜到家拉..
恩恩......
以后还要多多请教你呢..呵呵!!![-_-b]
尽管来问吧 -
2006-05-04 23:53:28
自从我使用 工具-“新建用户脚本”的方法安装了一个错误的脚本之后,这个“新建用户脚本”的命令就失效了,点下去一点反应都没有。兔兄救我~~
你用那个“Manage User scripts”把错误脚本删掉试试。
实在不行,就重装这个扩展吧。
另外你可以找找扩展安装的目录,修改这个Greasemonkey的config.xml。不过这个目录具体在什么地方,我记不太清楚了 -
2006-05-05 18:42:49
实在不行啊兔兄。那个错误脚本在管理里面根本没影儿,Greasemonkey也被我重装了,情况依旧。最惨的是打开用户脚本的操作变成了下载。。。于是我现在是用非常非常麻烦的方法才可以安装用户脚本。。[T_T][T_T][T_T]
这个我就没办法了。
-
2007-02-23 00:19:22 匿名 121.10.*.*
[^.^]
来的时候看到访问人数是:0022222~
如此格致的数字被我抢到了!~[:-D][:-D]恭喜恭喜
-
2007-02-24 22:48:44 匿名 221.229.*.*
[>___
-___________-
-
2008-03-21 11:43:59 匿名 121.201.*.* http://www.17173.com

-
2009-05-19 17:55:15
我想修改歪酷的回复图标 怎么改呢?很遗憾,很抱歉,我已经不再弄这个了。
如果你非要改的话,要么参考我的文章,自己想办法,要么向小歪提意见吧。




