不到十分钟前我决定为Greasemonkey编写我的第一个脚本。我没有经验。此外,我的JavaScript有点生疏,因为我上次编写代码已经有一段时间了。但我无法弄清楚为什么Greasemonkey给我这个错误:
Line: 9
Char: 2
Error: 'document' is undefined
Code: 800A1391
Source: Microsoft JScript runtime error
这是我的脚本:
// ==UserScript==
// @name Easier WatchSeries
// @namespace n/a
// @include http://www.watch-series.com/episode/*
// ==/UserScript==
function thing()
{
document.body.setAttribute('onload', show_links(document.getElementById('idepisod').value));
}
thing();
我想要做的就是在body标签上添加一个onLoad属性。当我转到“管理新用户脚本” - >“编辑”时,我收到此错误。除此之外,脚本什么都不做,显然有些不对劲。
我正在运行Firefox 3.6.13。
几件事:
c:\Windows\System32\notepad.exe
应该适用于大多数Windows系统。
您可能需要重新启动Firefox。unsafeWindow
to call a page's JS functions,像show_links()
。try - catch
块中。@include
指令中。总而言之,您的脚本将成为:
// ==UserScript==
// @name Easier WatchSeries
// @namespace n/a
// @include http://www.watch-series.com/episode/*
// @include http://watch-series.com/episode/*
// ==/UserScript==
function my_func()
{
try
{
unsafeWindow.show_links(document.getElementById('idepisod').value);
}
catch (zError)
{
alert (zError); //-- Use console.log() in place of alert(), if running Firebug.
}
}
window.addEventListener ("load", my_func, false);