【发布时间】:2011-10-04 16:35:09
【问题描述】:
感谢您的帮助。
我有一个用于 Firefox 的 autoclick Greasemonkey 脚本,当有工作进入时,它会自动点击我工作的网站上的链接。脚本是这样的:
var BEEP_URL = 'file:///C:/Users/Home/beep.html'; //local url to beep.html for example 'file:///C:/deploy/html/beep.html'
var REFRESH_DELAY = 8; // in seconds
var CLICK_DELAY = 0; // in seconds
var LENGTH_MIN = 15 // min length of audio in minutes
var LENGTH_MAX = 600 // max length of audio in minutes
function init() {
var refreshTimer = window.setTimeout(function() {
location.reload();
}, REFRESH_DELAY * 1000);
if(!$('a:contains(Read now)').length){
href = false;
$('a:contains(Start)').each(function() {
time = parseInt($(this).parents('td').nextAll('td').contents('small').html());
if (!href && time >= LENGTH_MIN && time <= LENGTH_MAX) {
GM_openInTab(BEEP_URL);
href = this.href;
clearTimeout(refreshTimer);
window.setTimeout(function() {
top.location.href = href;
}, CLICK_DELAY * 1000);
}
})
}
}
if (window.addEventListener) {
window.addEventListener('load', init, false);
} else {
document.attachEvent('onload', init);
}
我工作的网站上的重要页面如下所示:
<tr>
<td><a title = 'Job'>Job</a></td>
<td>4</td>
<td><i>Group</i></td>
<td>3/10/2011</td>
<td><a href=http://www.site.com>Start</a></td>
<td><a href='/sound/job_sound.mp3' ><img border=0 src=/images/audio.gif title='79 min uploaded 3/10/2011 7:39:31 AM' ></a><br /><small>80 min <br />7:39:31 AM</small></TD>
<td> </td>
</tr>
如您所见,该脚本会刷新页面,如果有一个作业带有“开始”链接以及表中small 标记中LENGTH_MIN 和LENGTH_MAX 变量的正确分钟数(倒数第二个td 单元格),然后脚本将单击“开始”链接。
然而,最近,该网站稍微改变了页面结构,现在看起来像这样:
<tr>
<td><a title = 'Job'>Job</a></td>
<td>4</td>
<td><i>Group</i></td>
<td>3/10/2011</td>
<td><a href=http://www.site.com>Start</a></td>
<td><small>Audio 1: </small><a href='/sound/job_sound.mp3' ><img border=0 src=/images/audio.gif title='Audio 1: 39 min uploaded 10/4/2011 7:13:06 AM' alt='Audio 1 39 min uploaded 10/4/2011 7:13:06 AM'></a><small>40 min 7:13:06 AM</small><BR><small>Audio 2: </small><a href='/audio/job_sound2.mp3' ><img border=0 src=/images/audio.gif title='Audio 2: 40 min uploaded 10/4/2011 7:15:19 AM' alt='Audio 2 40 min uploaded 10/4/2011 7:15:19 AM'></a><small>41 min 7:15:19 AM</small><br> <br></TD>
<td> </td>
</tr>
如您所见,调用 LENGTH_MIN 和 LENGTH_MAX 变量的位已更改(至少,我认为这是问题所在),现在脚本不再工作了。现在页面上显示了两个或多个音频文件,时间插入到small 标签中。有什么可以在那里看到我可以在脚本中更改以使其与此页面一起使用的内容吗?似乎它被包裹在small 标签中的页面中的数据调用,并且该站点已经更改了导致脚本问题的表格该部分的布局方式。我不确定要在脚本中进行哪些调整以使其仍然单击“开始”链接。
非常感谢您的帮助。非常感谢。
【问题讨论】:
标签: javascript firefox firefox-addon greasemonkey