CPHog for Internet Explorer






4.54/5 (7投票s)
2005年6月10日
2分钟阅读

71236

224
对 Shog9 的 GreaseMonkey 脚本的翻译,可在 Internet Explorer 中与 Trixie 一起使用。
引言
Shog[^] 创建了一个漂亮的小脚本,该脚本使用 GreaseMonkey[^] 为通过 FireFox 浏览的 CodeProject 体验提供额外的功能。 我特别感兴趣的是它添加到 CodeProject 留言板的“快速回复”功能。 可以在 此处[^] 找到他的原始脚本。
需要插件
尽管如此,它在 Internet Explorer 中不起作用。 好奇之下,我查看了一下是否有 Internet Explorer 的 GreaseMonkey 等效物。 碰巧有一些,但 Trixie[^] 看起来是我找到的最可靠的。 您必须下载并安装它(或类似的东西)才能在此文章中使用此脚本。
更新 - 2005 年 6 月 14 日:此链接[^] 表明 Trixie 不再处于开发阶段,取而代之的是 Turnabout[^],它非常适用于此脚本。
修改后的脚本
附加到本文的脚本没有重大更改,除了那些使 Shog 的 GreaseMonkey 脚本与 Trixie 一起在 Internet Explorer 中运行所必需的更改。 下载脚本,并使用 Trixie 提供的说明复制安装它。 享受它,如果您创建了任何改进或发现了错误,请告诉我。
如果您想探索代码,请对 JavaScript 文件进行比较。 您会发现我插入了代码以替换 GreaseMonkey 的 GM_GetValue
和 GM_SetValue
函数。 另外,由于 IE 不支持 document.evaluate
,我不得不将它们替换为一系列循环和“if
”语句,这些语句处理来自 getElementsByTag
和 getAttribute
的结果。(我确实找到了可以实现 document.evaluate
的 JavaScript 代码,但它并没有处理所有内容,而且加载 CP Lounge 页面非常慢。)
您还会注意到一个“hack”,旨在防止快速回复链接和其他功能的多次插入。 基本上,我们在文档的顶部添加了一个标签。 如果标签尚不存在,我们会执行插件需要做的所有事情。 如果标签已经存在,它会避免重复相同的工作。 如果您希望事情正常运行,这一点非常重要。(请注意,我没有找到这是否是仅 Trixie 的问题。)
更新
- 2005 年 6 月 10 日 - 修复了在文章和 CodeProject 的某些其他部分中使用 CPHog 时的多重插入问题。
- 2005 年 6 月 14 日 - 添加了指向 Turnabout 的链接,并编写了关于使 Shog 的脚本在 Internet Explorer 中工作的所需更改的描述。
- 2005 年 6 月 17 日 - 进行了更改,希望防止 PJ Arends 发现的错误归因引用问题。