行至水穷处,坐看云起时

  • rss
  • 博客首页
  • 音乐故事
  • 摄影相册
  • 站点导航
  • 与我联络

写了一个CU论坛用的FX的GreaseMonkey的帖子自动保存/恢复插件

2007-09-17 | 18:37

时常有时候遇到什么非法提交,或者正繁忙,或者是来路不明的提示~~~ dz论坛在ie下有个帖子提交后恢复数据的功能,我看了下cu的,在ie下可以正确显示,其源代码js中也写了关于moz/firefox的支持部分,理论上在fx下也应该是可以正常工作的,但是在我的fx 2.0.0.x下偏偏却不行呢~~~???

所以我就自己简单地写了一个,由于GreaseMonkey不熟悉,fx下的js代码部分又有不少和ie有差异,因此这个程序写得尽量比较简单,就是提交的时候获取提交按钮的onclick属性并把当前的文本记录到gm内部的一个变量里,如果需要恢复,选旁边的恢复按钮(用js生成的)就提取出来。比较遗憾的由于能力原因和钻研精神不足,对Ctrl+Enter的提交方式,会导致帖子内容不被记录,因此也就不能恢复了~~~脚本很简单,稍作修改也能用于其他的论坛或者需要的地方~~~用着fx的朋友,如果有兴趣的用用看吧?

// ==UserScript==

// @name restore content for CU

// @namespace
bbs.chinaunix.net

// @include http://bbs.chinaunix.net/*

var theButton;
var the_My_Form = new Array();
//取得提交按钮
theButton = document.getElementById('postsubmit');

//取得文本框的数组,由于在页面里只有一个文本框,所以下面只用到了该数组的[0]成员
the_my_Form = document.getElementsByTagName('textarea');

if (theButton) {
//为了测试是否脚本无错,我设置了将默认的提交按钮变成黄色,不喜欢可以将这行去掉
theButton.style.color = "yellow";

//给提交按钮添加一个onClick属性,方便我们加入自己的保存文本函数
theButton.addEventListener('click', event_save, false);

//生成一个新的按钮,下面几行是这个按钮的type、class、id、value、onClick属性,由于GM是utf-8编码,和cu的gbk编码不一致,所以按钮的显示文字无法用中文
newElement = document.createElement('input');
newElement.type = "button";
newElement.className = "lightbutton";
newElement.id="restoredata";
newElement.value="Restore_Data";
newElement.addEventListener('click', event_restore, false);

//这个新的按钮的添加位置为原来的提交按钮之前
theButton.parentNode.insertBefore(newElement, theButton);
}

function event_save(evt){

//将输入的文本框内容提交到GM内置变量cu_lastcontent中(关闭浏览器也可保存),由于编码原因,先将内容编码后再存入GreaseMonkey的内置存储空间,GM_setValue和GM_getValue为GM 0.3版本以上支持
GM_setValue('cu_lastcontent',encodeURI(the_my_Form[0].value));

}

function event_restore(evt){

if (confirm ("Do you want restore content?")) {

//将取出的内容解码后,显示在文本框内
the_my_Form[0].value = decodeURI(GM_getValue('cu_lastcontent'));
}
}

标签:CU, script, tor, unix, 朋友, 脚本

相关日志

  • ubuntu 6.10 的安装以及修改美化 (0)
  • 音乐故事 (1)
  • 由加工一张photo引起的一连串事务(最后用ImageMagick搞定) (0)
  • 我写的一个emule下载完后自动关机的vbs脚本 (0)
  • 对FireFox的搜索进行了加强和更新 (1)
  • 在cu的奥运之春摄影比赛里,取得了DC组的第一名,呵呵 (1)
  • 利用Trixie精简CU浏览页面 (1)
  • pure-ftp 使用puredb建立虚拟账户服务器 (0)
  • linux可设置ip协议参数说明及个人杂语(二) (0)
  • Gmail高级搜索 (0)
Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网
分类
心得分享
Tags
CU, script, tor, unix, 朋友, 脚本
订阅RSS留言
订阅RSS留言
Trackback
Trackback

« 锐捷S3670遗忘密码解决 新新BT下载工具——奔流Benliud »

留言

你可以使用这些标记 : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

点击取消回复
rss 订阅RSS留言 valid xhtml 1.1 design by jide powered by Wordpress get firefox