技巧清单

[提示]

当您在本书中看到技巧或者警告时,您可以点击前面的提示小图标,然后跳转到此页。

  1. 您可以在Greasemonkey脚本库,找到许多用户脚本。尽管没人要求您必须把脚本放到那儿去,但是实际上,您可以把您的脚本共享到任何地方,这样别人就可以安装它了。甚至您根本不需要一台网络服务器,因为你可以从本地文件中安装用户脚本。 1.3. 安装用户脚本

  2. 元数据可以以任意次序排列。笔者推荐使用@name@namespace@description@include,最后是@exclude,但是其它的顺序也没关系。 2.2. 用元数据描述您的用户脚本

  3. 在“管理用户脚本”对话框中,点击Edit,您正在“动态”修改脚本的副本,它在 Firefox 的个人配置文件夹中。我形成了一个习惯,每“动态”修改完毕,又回到编辑器,选择文件(F)另存为(a)...,把用户脚本保存到另一个文件夹中。尽管这不是必须的(Greasemonkey 只会用您配置文件夹中的那个脚本),但是我喜欢在完成全部修改后把脚本在其它文件夹里保存一个“原本”。 2.4. 修改用户脚本

  4. 在错误控制台中可以用右键(Mac用户用 control-click)点击任意行选中,然后选择复制(C),将信息复制到剪贴板。 3.2. 用 GM_log 记日志

  5. 如果已有一个元素的引用(例如 thisElement),可以用 thisElement.nodeName 来判断它的 HTML 标签。如果页面被当作 text/html 类型,标签名称就总是大写,不论它在原始页面是如何定义的。如果页面被当作 application/xhtml+xml类型,那么标签名称就总是小写的。我总是用 thisElement.nodeName.toUpperCase() 这样我就可以不用管这些了。 4.6. 操作所有有特定属性的元素

  6. 即使 someExistingElement 是它的父元素的最后一个孩子(在它之后没有下一个元素),仍然可以在 someExistingElement.nextSibling 之前插入新内容。在这种情况下,someExistingElement.nextSibling 将返回一个空值,insertBefore 函数将把新内容追加到最后。(以许这对你来说没有太大意义,但我想让您知道的是,尽管这种方法似乎是不太对,但它却总是有效的。) 4.8. 在元素后插入内容

  7. 如果要移除广告,比起写用户脚本来,更容易的办法是安装 AdBlock 然后导入 最新的过滤列表4.9. 删除元素

  8. 使用 data: URI kitchen 来建立您自己的 data: URLs。 4.12. 在没有服务器的情况下添加图片

  9. 可以使用 addGlobalStyle 函数样式化插入到页面中的元素或者部分原页面中已有的元素。然而,如果要样式化已有的元素,应该在您定义的每条规则上使用 ! important 关键字,保证您的样式覆盖原页面中已定义的规则。 4.13. 添加 CSS 样式

  10. 删除和替换 document.body.innerHTML 并不会更改页面。原页面在 <head> 中定义的所有内容仍然是有效的,包括页面的标题,CSS 样式,以及脚本。可以分开修改或者移除。 4.16. 处理已渲染的页面

  11. 正常情况下,当用户提交一个表单时,例如,点击表单中的 提交 按钮或者按 回车键),都会触发 submit 事件。但是,当脚本调用 aForm.submit() 提交表单时,却不会触发 submit 事件。因此,您必须做两件事来捕获表单的提交事件:给 submit 事件增加事件监听,并且修改 HTMLFormElement 类的原型来重定向 submit() 方法到您的自定义函数上。 4.22. 覆盖内建的 Javascript 方法

  12. 访问 about:config,然后再过滤器中填 greasemonkey.scriptvals ,就可以查看已存储的配置值。 GM_getValue

  13. 当您在本书中看到“参考资料”链接列表时,您可以点“参考资料”的标题就可以跳转到这个所有参考资料链接清单。 参考资料”链接清单

  14. 当您在本书中看到技巧或者警告时,您可以点击前面的提示小图标,然后跳转到此页。 技巧清单

  15. 当您在本书中看到视频的链接时,点击提示 小图标,可以跳转到全部视频清单。 步骤清单

←  “参考资料”链接清单
实例清单 →