-2

我目前正在开发一个网站,该网站严重依赖于小部件的大块 javascript。其中一些是要求苛刻的过程,例如运行计时器或时钟,所以我只希望这些脚本在其相应的小部件被激活时激活。我提出的解决方案是注释掉这些脚本块中的每一个,并在小部件处于活动状态时“取消注释”它们。

例如,如果我有一个倒数计时器小部件,我希望将我的小部件代码完全注释掉,直到用户单击该小部件。当用户打开小部件时,我希望相应的脚本成为“未注释”并执行。

有什么方法可以以编程方式即时向 Javascript 代码添加或删除注释标记?我正在寻找一些我可以使用的方法或命令;不是需要我物理更改代码的东西。

我在 Google I/O 会议演示文稿中看到了这一点,所以我想知道是否有人知道怎么做。

4

1 回答 1

4

有一个更好的方法来解决它。如果您担心阻塞事件循环:确保小部件无法访问事件循环,但必须通过您的框架才能访问它。这允许您“休眠”一个小部件,停止它的所有事件。

要记住的另一件事是,当小部件被删除时,您还必须清理它们安排的任何事件,否则您将遇到“死”代码。因此,必须通过您的框架安排所有事件,以便在卸载小部件时清理它们。


代码被读取并加载到 JavaScript 引擎中,在此之后修改代码将无济于事。

于 2013-05-22T00:17:17.490 回答