作者birdhackor (夜残狼)
看板Ajax
标题[问题] greasemonkey脚本
时间Sun Mar 20 06:27:50 2011
最近好像都是问脚本的居多!?
先抱歉
我自己是最近才开始尝试写脚本
以往也很少写复杂的javascript
所以有些东西我概念可能不是很正确
要麻烦各位了
我脚本内是引入jQuery做编写
问题是这样的
我本来是想说
要达成某个功能的话
我就让程式直接模拟人为操作
我如果是按下某个按钮来达成功能
就让程式去触发click事件就好
所以就写
.....吃光
$(this).trigger('mouseover');
$(this).children('a.mute.delete').trigger('click');
.....吃光
想说这样子应该会触发到onmouseover事件跟click事件
结果出错了
错误讯息是
错误: uncaught exception: [Exception... "Component is not available"
nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)" location: "JS frame ::
file:///C:/Users/birdhackor/AppData/Roaming/Mozilla/Firefox/Profiles/yw69h0fe.default/extensions/%7Be4a8a97b-f2ed-450b-b12d-ee082ba24781%7D/components/greasemonkey.js
:: <TOP_LEVEL> :: line 399" data: no]
我自己去查了一下
认为似乎是因为安全性的问题 (其实我不是很确定究竟是不是)
greasemonkey不允许脚本直接存取原页面的变数与函数
所以可能用这种方式没有办法触发事件
要解决的话似乎要用unsafewindow
但是就算要这样写
也得要知道网站本身到底是去触发了哪个function才有办法照写
可是网站的js档压缩过
看到程式码就涌出无力感= =
所以想请问一下
有没有办法直接让脚本模拟人的操作?
让脚本去按下页面中的按钮呢?
刚写完一个脚本
给朋友试用他又想到写新功能
花好多时间了= =
连续熬夜好多天 快挂了.....
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.171.127.188
※ 编辑: birdhackor 来自: 118.171.127.188 (03/20 06:33)