在互联网的早期,浏览器扩展工具是提升用户体验的重要手段。尽管随着时间的推移,这些工具的重要性有所下降,但它们仍然是学习和探索浏览器技术的好方法。本文将介绍如何为Internet Explorer(IE)浏览器开发扩展工具,包括一些实用的功能实现和开发过程中的注意事项。
在IE4 Power Toys时期,浏览器扩展工具的热潮达到了顶峰。然而,随着IE5的发布,这种热情似乎有所减退。尽管如此,仍然决定将这些想法付诸实践,并在MSDN文章的帮助下,为IE浏览器创建了一些有用的扩展工具。
这些扩展工具完全基于HTML和JavaScript实现,并且利用了IE浏览器能够获取当前加载文档的只读副本的特性。这意味着这些扩展工具在确定页面结构方面非常有用。
通过以下JavaScript代码,可以访问文档对象:
var win = external.menuArguments;
var doc = win.document;
这些代码行允许像处理普通文档对象一样处理doc
。例如,“显示/隐藏表格边框”页面的实现可以简化为以下JavaScript代码:
<SCRIPT>
var win = external.menuArguments;
var doc = win.document;
for (i = 0; i < doc.all.tags("TABLE").length; i++) {
if (doc.all.tags("TABLE")[i].border == 0)
doc.all.tags("TABLE")[i].border = 1;
else
doc.all.tags("TABLE")[i].border = 0;
}
</SCRIPT>
在开发过程中,可能会遇到一些问题:
document.location
这样的属性就是这种情况(不过可以使用URL代替)。HTML文件可以放在任何地方,但通常放在%systemroot%\web
(例如c:\windows\web
或c:\winnt\web
),上下文菜单则来自注册表项HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt
。每个项目可以应用于不同的上下文(有关实现细节,请参考MSDN文章)。
选择使用Visual Studio .NET创建Windows Installer包(之前使用的是.inf
文件)。这将把HTML文件复制到c:\IEExtensions
并创建适当的注册表项。选择这个文件夹位置是因为没有在安装程序中添加基于操作系统的条件!