预取链接的内容

时间:2011-08-26 10:31:47

标签: javascript firefox-addon

我正在开发一个firefox插件。我想显示一个工具提示,其中包含用户鼠标悬停链接时目标页面的预览。

这很简单,但有时间要求。此过程应在1秒之前完成(用户将鼠标悬停在链接之后。)

关于从哪里开始的任何想法?

2 个答案:

答案 0 :(得分:0)

您应该创建一个加载项,在加载页面后(即收到DOMContentLoaded事件时)扫描内容文档DOM中的锚标记。旧式的方法是使用XUL叠加层。据推测,使用内容脚本可以使用Addon SDK完成同样的事情。

然后,您必须将每个链接加载到隐藏的iframe中(例如,将高度设置为零),并按照此处所述创建屏幕截图:https://developer.mozilla.org/en/drawing_graphics_with_canvas#Rendering_Web_Content_Into_A_Canvas。请注意,Mozilla Developer站点现在出现故障,因此代码示例未正确显示(至少在我正在服务的镜像上)。我认为这将很快修复,因为它是一个严重的问题。

正如弗拉迪米尔所说,加载每个链接页面并制作屏幕截图可能需要相当长的时间,因此如果用户将鼠标悬停在链接之前,那么我会a)显示throbber和“Loading ...”文本而不是屏幕截图和b)优先加载该链接,以便尽快显示屏幕截图。

答案 1 :(得分:0)

使用Firefox非常简单。只需使用以下元素,浏览器就会预先加载您的内容。一旦加载了整个当前页面,内容就会在后台预加载。

<link rel="prefetch" href="/images/nextimage.jpg" />

有关详情,请参阅this