fiag
管理员
管理员
  • UID1188
  • 注册日期2004-12-21
  • 最后登录2025-08-20
  • 发帖数4681
  • 经验686枚
  • 威望0点
  • 贡献值402点
  • 好评度51点
阅读:3434回复:1

《深入浅出 Greasemonkey》Greasemonkey API 参考补充

楼主#
更多 发布于:2007-05-12 13:49
《深入浅出 Greasemonkey》Greasemonkey API 参考

被扩展的API

GM_registerMenuCommand

用户脚本可以调用 GM_registerMenuCommand(commandName, commandFunc, accelKey, accelModifiers, accessKey) 在 工具 > Greasemonkey > 用户脚本命令子菜单中添加菜单项。前两个参数是必须的;其他的可选。

commandName
    菜单项上显示的名称
commandFunc
    调用的函数
accelKey
    单字符(例如:'g')或者键盘码,用来触发命令
accelKey
    字符串,列出了必须与 accelKey 同时按下的修饰键。如果多于一个功能键,用空格分开。例如,'shift' 或者 'ctrl alt'。可用的功能键有:shift, alt, meta, control 和 accel。
accessKey
    单字符(例如:'g')当菜单打开时用来跳转到命令。它最好是commandName 中的一个字母。

调用示例:
GM_registerMenuCommand( "Hello world!", hello, "e", "control", "h" );
GM_registerMenuCommand( "Hello world! (again)", hello2, "e", "shift alt", "w" );
GM_registerMenuCommand( "Hello world (simple)", helloSimple );


GM_log(message, level)

允许脚本作者简单的访问错误控制台并记录信息。调试时非常有用。level 是可选的,默认值是0。其有效的值有:0 - 信息、1 - 警告、2 - 错误。

GM_log("Hello, World!")


补充上书中没有记载的几个GM API

GM_openInTab(url)

在新标签中打开指定的 URL。

GM_openInTab("http://greasemonkey.mozdev.org/")


GM_addStyle(css)

给页面添加样式。

GM_addStyle("body { color:red; }");


unsafeWindow

对内容文档的 javascript window 对象的引用。包含了内容文档的全局变量和定义的函数。

// 列出全局范围的所有变量
for (var p in unsafeWindow) {
  GM_log(p + ": " + unsafeWindow[p] + "\n");
}


提示:访问 unsafeWindow 域中的任意变量就可以控制页面脚本。这也意味着它们可以访问用户脚本的源代码。

参考: http://greasemonkey.mozdev.org/authoring.html

修改记录: 已经将上面的函数API加到《深入浅出 Greasemonkey》中了。
hnstxx
千年狐狸
千年狐狸
  • UID1952
  • 注册日期2005-01-09
  • 最后登录2013-05-14
  • 发帖数4977
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
1楼#
发布于:2007-05-12 13:49
努力加强学习中......
MM:你是个外表冷酷,内心却很甜蜜的男人。
游客

返回顶部