首页 > 解决方案 > GSAP + AdHelper 模板导致“未定义 lib”

问题描述

使用Animate CC 2017 的 GSAP 模板时,在Animate CC 2017.5中发布和测试广告素材时,Chrome 的控制台选项卡中出现错误:

Uncaught ReferenceError: lib is not defined
at e.t.timeSync (GSAP_AdStarter_2017.html?20878:169)
at handleComplete (GSAP_AdStarter_2017.html?20878:131)
at init (GSAP_AdStarter_2017.html?20878:63)
at onload (GSAP_AdStarter_2017.html?20878:155)

这是在尝试发布没有更改的GSAP_AdStarter_2017.fla文件时;只需打开文件并使用 Control > Test (Ctrl/CMD+Enter)。

我试图解决这个问题的一些事情:

还应注意的是,HTML5 广告素材在尝试自行发布之前可以正常打开。

我使用此模板的总体目标是尝试找到影响 HTML5 广告素材的问题的解决方案。问题是所有 HTML5 广告素材在 iDevice 和 Safari(桌面)上以大约 50% 的预期帧速率运行,直到用户与广告素材交互(即点击它)。我相信使用 gskinner 的 AdHelper 库中的 Timesync 函数可以解决这个问题,但在我能够获得一个正常工作的创意之前,我无法确定!

我很惊讶我所描述的上述问题并没有被更多人问到,更令我惊讶的是,我找不到任何可靠的话题来说明为什么 Apple 似乎会限制 iDevices 上的 HTML5 Canvas 内容。这无疑给许多 HTML5 创意设计师和动画师带来了痛苦,尤其是那些技术不熟练的人。

非常感谢任何帮助,如果需要,我会发布任何其他信息。

这是我正在使用的模板的直接下载链接。

标签: javascriptjquery-animategsap

解决方案


在 Animate CC 的未来更新中(自 2017 年起),他们在函数lib内创建了该变量init(),使得该变量无法用于文档底部的 adhelper 代码。

解决方案是将变量移动到函数外部lib打开脚本标记之后。init()

如果您使用 adhelper 模板文件,请将命令移动$CREATE_LOADER到开始脚本标记之后提到的位置。然后一切都应该再次正常工作。

请注意,不要使用 GSAP 3。Adhelper 是为 GSAP 2 或更低版本编写的。


推荐阅读