Archive for June, 2009

 

ant21 on Jun 18th, 2009Greasemonkey 技巧

Greasemonkey 会把对象包裹起来返回 XPCNativeWrapper,写 JS 的时候需要留心。下面这些要点来自 Greasemonkey Hacks。
1. 调用函数
12345//工作
window.setTimeout(my_func, 1000)

//不工作
window.setTimeout("my_func()", 1000)
2. 事件处理
12345678910//工作
var elmLink = document.getElementById(’somelink’);
elmLink.addEventListener("click", my_func, true);

//不工作
var elmLink = document.getElementById(’somelink’);
elmLink.onclick = my_func;

var elmLink = document.getElementById(’somelink’);
elmLink.onclick = ‘my_func(this)’;
3. 命名表单和表单元素
1234<!–假如有表单–>
<form id="gs">
    <input name="q" type="text" value="foo" />
</form>
1234567//工作
var form = document.forms.namedItem("gs");
var input = form.elements.namedItem("q");
var q = input.value;

//不工作
var q = document.gs.q.value;
4. 自定义属性
1234567//工作
var elmFoo = document.getElementById(’foo’);
elmFoo.setAttribute(’myProperty’, ‘bar’);

//不工作
var elmFoo = document.getElementById(’foo’);
elmFoo.myProperty [...]

ant21 on Jun 8th, 2009Peterzahlt Auto Click

Peterzahlt 很不错,天下竟然有免费的午餐。不过现在学精了,会在中途插播广告(人家也要吃饭的嘛),过了 10 分钟以后,会随机出现 5、6 次广告,如果在 30 秒之内不点击的话就自动切断,够狠啊。这样就必须一直紧盯着它广告,万一漏点就要重新排队,很长很长的队哦。
不过还好有强大的 Firefox,再加上 Greasemonkey,那么这件非常不人性化的事情就可以由机器代劳了。
假设你已经装好 Greasemonkey,那么点击安装就可以了。代码很简单。
12345678910111213// ==UserScript==
// @name           Peterzahlt Auto Click
// @namespace      http://userscripts.org/users/ant21
// @description    Auto click Peterzahlt ads and you can lie on bed to call.
// @include        http://www.peterzahlt.de/*
// ==/UserScript==

window.detect = function()
{
    location.href = "javascript:void(clickbanner(0));"; //click banner
}

window.setInterval(detect, 10000);