1

我正在开发一个在网站上扩展的 chrome 扩展(添加额外的菜单项等等)。我希望内容脚本在绘制 DOM 之前运行,否则用户会以一种相当显着的方式看到内容弹出。

我已经在清单中设置了run_at,它会在它绘制之前加载 using document_start,问题是我需要访问 DOM,并且在它存在之前触发。

也许更简单的说法是我正在寻找一种在加载(或加载它的特定部分)之后但在渲染之前修改dom的方法。

4

3 回答 3

0

您的脚本可以侦听 DomContentLoaded 事件,然后使用加载的 DOM 进行操作。请参阅如何创建此类事件处理程序的示例。

于 2013-09-13T13:06:28.967 回答
0

一个可能的想法是使用 JQuery hover 这样菜单是不可见的,除非它们悬停在某个 DOM 元素上?

YouTube 上的这个人真的很聪明,你可能会发现他的幻灯片动画教程很有用:

http://www.youtube.com/watch?v=WKf6i4VspF0

于 2013-09-13T20:21:33.787 回答
0

试图挤进接收 DOM 节点和它被渲染之间的间隙可能是没有希望的。

一种可能的解决方案是在 DOM 加载时添加整页覆盖(纯不透明的白色或更多信息,如“加载”)document_start以屏蔽页面,然后插入 DOM,$(document).ready()然后删除覆盖。

于 2016-09-26T14:54:26.373 回答