在本文中,将探讨一个JavaScript脚本,该脚本旨在提高在Gmail中查看带有图片附件的邮件的速度。通过安装这个程序,它会在Internet Explorer的上下文菜单中添加一个名为"Gmail Image Viewer"的选项。当在查看一个包含图片附件的Gmail邮件时,选择这个菜单项,脚本将运行并内联所有图片,这样就不必点击每张图片来查看它了。
这个脚本的核心功能是向IE的上下文菜单添加一个项目。这是通过在注册表中添加一个新的键来实现的:
HKCU\Software\Microsoft\Internet Explorer\MenuExt\
这个注册表键的名称将是新的上下文菜单项的名称,其默认值指向一个HTML文件,当用户点击菜单项时,该文件将被解析。
由于代码非常简短,将在这里完整地展示它(一个版本):
通过访问window.external.menuArguments
元素,程序获取了调用页面的访问权限。然后,程序获取了文档中所有的链接,并定义了两个正则表达式,分别对应Gmail邮件附件中的查看和下载链接(希望他们不会很快改变链接方案)。
然后,程序继续遍历文档中的所有链接,并搜索一个查看链接后跟一个下载链接。如果找到了一对,则下载链接的outerHTML
将附加上下载的链接。(一个单独的循环在替换链接之前隐藏所有缩略图)。
图片的onclick
和oncontextmenu
事件被移除,因为它们导致电脑崩溃(猜测是因为IE5.5/NT的bug - 在其他平台上运行良好)。