存档

作者存档

在Opera的UserJS里查看可用的事件类型

2012年1月25日 没有评论

最这在研究Opera的UserJS发现资料少的可怜,于是只能自己琢磨。
Opera的UserJS提供了许多事件触发点,可以帮用户做许多事,可如果才能知道页面触发了哪些事件呢?
经过我3天的研究,发现可以将页面打开过程中,所触发的事件都打印到控制台,还是挺方便的,代码如下:

window.opera.addEventListener("AfterEvent",function(e){
    console.info(e.event);
},false);

AfterEvent是在事件触发后触发你的代码,代码里的e.event是把事件的所有内容完整的打印出来,这就可以在控制台查到这个事件的type,如‘type “readystatechange”’。
找到你需要的事件,再使用AfterEvent.type就可以准确的对事件进行响应了。
关于Opera提供的事件触发点还有很多,可看我以前的文章

分类: 编程技术 标签: ,

如何使用 UserJS

2012年1月25日 没有评论

什么是 UserJS?

UserJS 是 User Javascript 的简称,即用户脚本。所谓脚本,就是运行于客户机上的一段程序,可以帮助用户完成特定的任务。
当用户浏览网页时,会从服务器上下载脚本,并在本地运行,这种脚本我们会称之为网页脚本。与网页脚本不同的,用户脚本本身就在客户机上,不需要下载,而且如果不对其做限制,可用在所有网页上。
一般用户脚本是扩展名为 .js 的文本文件,如果是 GM 脚本,那么名字的后缀必须是 .user.js 。

UserJS 能做什么?

通过编写用户脚本,可以很大程度上提高上网体验,也可以省去一系列上网时的繁琐操作。对于不规范的网站,还可以编写用户脚本对其进行修复。
举些例子,使用 UserJS 可以实现网页自动翻页、文字翻译、页面预读、看图增强等等有用、有趣功能。UserJS 本身灵活多变,但毕竟只是一个工具,最重要还得看你的想象力^ ^

UserJS 不能做什么?

UserJS 虽然很自由很强大,但出于安全性原因,UserJS 不能操作文件,不能操作剪贴板,不能跨域访问。

UserJS 怎么获得?

有能力的朋友可以自行编写脚本。而对于普通用户,可以在一些网站上获得,比如 extendopera.org,甚至火狐 GM 脚本库里的一些脚本也能用于 Opera 中。
如果找到的脚本是以代码形式给出,比如下面这段代码:

// ==UserScript==
// @include http://www.hiapk.com/bbs/*
// ==/UserScript==

window.opera.defineMagicVariable(‘announcementScroll’, function () { return 0; }, null );
那么可以自行新建一个扩展名为 .js 的文本文件(如果是 GM 脚本,还必须是以 .user.js 为后缀),然后将此段代码粘贴进去,并以 utf-8 without BOM 编码保存。

UserJS 怎么使用?

全局使用
我们可以在磁盘任何地方新建一个文件夹,为了管理方便,我们将文件夹建在opera程序目录里,比如 D:\Opera10.5\profile\script。然后我们在 Opera 中指定。选中菜单的“工具”、“首选项”(在 Opera 10.5 中,是左上角红色按钮的“设置”、“首选项”)打开首选项对话框,在“高级”、“内容”中允许“使用 Javascript”,并在“Javascript 选项”中设置 Javascript 文件夹,如下图(假定 Javascript 文件夹是 D:\Opera10.5\profile\script),然后将脚本放进这个目录里就能使用了。

特殊网页单独使用
对于一些特殊网页要单独使用用户脚本的,可以在站点首选项里进行设置,该设置优先权高于全局。可在特殊网页上点击右键,或者在菜单“工具”、“快速参数”(在 Opera 中,点击左上角菜单按钮,选中“设置”、“快速参数”)中选中“编辑站点首选项”,打开站点首选项对话框后,在“脚本”面板中勾选“允许使用 Javascript”,并指定 Javascript 文件夹,如下图,然后将脚本放进这个文件夹内即可:

注:无论是全局还是单独设置,Javascript 文件夹都可设置多个,用逗号进行分隔,比如D:\Opera\profile\script\1,D:\Opera\profile\script\2
使用地址栏或 Opera 命令调用 UserJS
对于一些脚本可能需要通过人们手动开启执行,可在地址栏中敲入以 javascript: 开头的字串,冒号后面的内容根据脚本的不同而具体编写。对于这种开启方式,UserJS 作者一般会给出按钮或菜单,只要点击即可,不再需要在地址栏中敲入代码。Opera 命令一般可以是 Go to page, “javascript: xxxx”。

Opera 如何使用火狐的 GM 脚本
现在的脚本越来越趋于标准化,一些 GM 脚本也能用在 Opera 中。在 Opera 中使用 GM 脚本,文件全名必须以 .user.js 结尾,然后放入到相应的 Javascript 文件夹中即可使用。

你在使用 UserJS 时可能会遇到的问题

说明
由于每个网站的结构大都不相同,加上网页也经常进行改版调整,脚本使用不当可能会造成一些问题(页面排版错乱甚至严重的可能会导致 opera 崩溃或无法响应),因此用户使用脚本时最好先确认脚本是可靠稳定的,并及时更新脚本。 另外,不同脚本间也可能会造成冲突,使用前请先了解脚本的功能及作用范围。

我的 UserJS 为何无效?
首选确认你所获得的 UserJS 是可用的,你可以向脚本的作者或他人询问相关信息,在脚本确实可用的情况下,请检查脚本文件的编码格式,如果脚本内包含了非 ASCII 字符,如中文汉字,此时使用 ANSI 编码会导致脚本失效,你可以将脚本保存为 UTF-8 编码格式。推荐使用 Windows 自带之外的第三方编辑器保存脚本为 UTF-8 without BOM 格式。

如何对 UserJS 设置黑白名单?
白名单即脚本可起作用的网站列表,相反,黑名单即脚本不起作用的网站列表。设置黑白名单可以有效防止脚本可能会带来的问题,因此黑白名单作用非常大。
我们可以在脚本的开头写入下面代码:

// ==UserScript==
// @include http://xxx.xxx.xxx/*
// @exclude http://zzz.zzz.zzz/*
// ==/UserScript==

其中以 include 标注的即白名单,exclude的为黑名单,可以设置多条。

为什么我的黑白名单无效?
Windows 自带的记事本保存的 UTF-8 为 UTF-8 with BOM,此时会导致黑白名单失效,请使用其他编辑器保存脚本为 UTF-8 without BOM 格式。

为什么我用 UserJS 控制不了前/后台打开标签?
Opera 默认没有打开控制标签前/后台的开关,你可以在“首选项”、“高级”、“内容”里点开“Javascript 选项”,将相应的“允许将窗口提到最前”或“允许将窗口提到最后”勾上。

分类: 使用技巧 标签: ,

Opera里的UserJS

2012年1月25日 没有评论

这里有两篇介绍文章,对Opera的用户还是挺珍贵的
如何使用 UserJS
UserJS 语法介绍

安装hostapd

2012年1月20日 没有评论

用apt-get安装hostapd很简单,
但装完后,并没有在/etc/hostapd目录下生成hostapd.conf,需要自己生成

vim /etc/hostapd/hostapd.conf

然后将官方配置文件内容COPY进入就可以了
具体的配置就不记录,网上很多

分类: 使用技巧 标签: , ,

Debian下关闭CF卡的DMA模式

2012年1月20日 没有评论

前段时间在CF卡装linux,启动的时候总是碰到IDE的DMA模式报错,上网找了许多方法都无法解决,也看了许多网友写的文章,有了些思路,但文章基本上都写的不清不楚的,没有实际可操作性。
于是经过几天的研究终于解决了这个问题。
关闭DMA模式的关键是机器启动设置,也就是grub的设置。
有网友提到设置”libata.dma=0″可以解决问题,可又没说在哪里设置,根本跟没说一样!
查看了grub的相关设置文档看,知道新的grub版本的设置文件位置已经变了,这可能也是网上许多方法不起作用的原因。
在Debian6下grub的配置文件被放在了/etc/default下,是一个叫“grub”的文件,注意没有后缀。
打开这个文件,加入

GRUB_CMDLINE_LINUX="libata.dma=0"

,像这样

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
 
GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX="libata.dma=0"
......

然后运行“update-grub”更新一下grub的启动设置,再启动的时候就不会再有DMA报错了。

分类: 使用技巧 标签: , ,

如何确定一款无线网卡是否能被hostpad支持

2012年1月20日 没有评论

以ubuntu10.04为例

执行
sudo aptitude install iw
安装无线配置工具iw

执行iw list,如果在下面的结果中出现AP字样,那么就表示这款网卡支持hostapd

Supported interface modes:

* IBSS

* managed

* AP

* AP/VLAN

* WDS

* monitor

* mesh point

分类: 使用技巧 标签:

Opera里的window onload事件

2011年8月15日 没有评论

Opera里的用户脚本可以根据页面事件来做反应,今天想实际一个功能即在一个页面里所有内容都处理完成后(包括脚本),触发一个函数。
开始使用window的onload事件

1
2
3
window.onload = function(){
......
}

结果发现window的onload事件,是在窗口载入完成后就会被触发,这时DOM对象并没有处理完成,换句话说就是脚本还没有运行完成。
回去重看了Opera手册,里面说不建议使用window.onload=function(){}这种方法加入事件,推荐使用addEventListener方法。
于是在网上找了半天,终于找到写法

1
2
3
window.addEventListener('load',function(){
......
}

结果程序不运行,怀疑是事件对应的不正确,经过google和测试,发现应该使用‘DOMContentLoaded’事件

1
2
3
window.addEventListener('DOMContentLoaded',function(){
......
}

这样程序就可以正确的在页面所有DOM处理完成后,即脚本运行完成时,触发自定义函数了。

财富,不能改变一个人的个性,但可以展现一个人的本性

2011年7月7日 没有评论
分类: 铭言 标签:

双色球中奖概率统计

2011年6月17日 没有评论
玩法 中奖号码 奖金 中奖概率
一等奖 ●●●●●● 奖池<1亿 高等奖金70%+奖池
奖池>=1亿 高等奖金50%+奖池
高等奖金20%
0.000005642994%
二等奖 ●●●●●●○ 高等奖金30% 0.00008464492%
三等奖 ●●●●●○ 3000元 0.0009141651%
四等奖 ●●●●●○○ 200元 0.01371248%
●●●●○○ 0.02971037%
五等奖 ●●●●○○○ 10元 0.4456555%
●●●○○○ 0.3301152%
六等奖 ●●○○○○ 5元 1.485518%
●○○○○○ 2.733354%
○○○○○○ 1.670383%
分类: 彩票 标签:

到底谁更快?

2011年6月17日 没有评论

公司服务器CPU占用率一到100%,就想方设法的调程序、找原因。
可人的工作总是往上加,尽管已经很忙了,但仍然加,为什么呢?因为可以加班!
有趣的事,真正处理效率很强的CPU,总是担心它太忙了!而处理效率差很多的人,却总是担心它不够忙!

要是给人加个资源监视器,实时显示状态就好了!错!大错!特错!真正的关键是:CPU说不干还就真不干了!你还真不能怎么着它!

分类: 问世录 标签:

Cuile's Blog is Stephen Fry proof thanks to caching by WP Super Cache