javascript - 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)。
我试图解决这个问题的一些事情:
- 与我们内部的 JS 开发人员交谈,但他们无法解决这个问题。不幸的是,他们并不精通 Animate CC。
- 使用其他版本的 Animate CC,直至并包括 Animate CC 2019。
- 在不同的 (PC) 计算机上测试文件。结果是一样的。
- 在 Firefox 中打开已发布的 HTML 文件。结果是一样的。
还应注意的是,HTML5 广告素材在尝试自行发布之前可以正常打开。
我使用此模板的总体目标是尝试找到影响 HTML5 广告素材的问题的解决方案。问题是所有 HTML5 广告素材在 iDevice 和 Safari(桌面)上以大约 50% 的预期帧速率运行,直到用户与广告素材交互(即点击它)。我相信使用 gskinner 的 AdHelper 库中的 Timesync 函数可以解决这个问题,但在我能够获得一个正常工作的创意之前,我无法确定!
我很惊讶我所描述的上述问题并没有被更多人问到,更令我惊讶的是,我找不到任何可靠的话题来说明为什么 Apple 似乎会限制 iDevices 上的 HTML5 Canvas 内容。这无疑给许多 HTML5 创意设计师和动画师带来了痛苦,尤其是那些技术不熟练的人。
非常感谢任何帮助,如果需要,我会发布任何其他信息。
这是我正在使用的模板的直接下载链接。
解决方案
在 Animate CC 的未来更新中(自 2017 年起),他们在函数lib
内创建了该变量init()
,使得该变量无法用于文档底部的 adhelper 代码。
解决方案是将变量移动到函数外部的lib
打开脚本标记之后。init()
如果您使用 adhelper 模板文件,请将命令移动$CREATE_LOADER
到开始脚本标记之后提到的位置。然后一切都应该再次正常工作。
请注意,不要使用 GSAP 3。Adhelper 是为 GSAP 2 或更低版本编写的。
推荐阅读
- python - 如何使用网格从数据集中采样点?
- c# - Navigation.PushAsync 方法后的 Xamarin Forms MessagingCenter 不填充列表视图
- r - 直接在 R 中保存 ggplotGrob 时,它可以工作,但是在 R markdown knit 中运行此保存时,缺少 x 轴标签
- azure-devops - 如何在两个不同的 Azure DevOps 2019 云环境之间导出和重新导入通过继承模型获得的自定义流程模型?
- qt - 带有两个 QOpenGLWidget 和 QPainter 小部件的 Qt 双窗口程序
- scala - 编写代码,显示每个部门中收入最高的员工与其他员工之间的工资差异
- amazon-web-services - 替代 aws lambda 来运行 sql 查询执行以降低成本
- python-3.x - 查找谁调用了 AWS Lambda 函数
- azure-iot-hub - 查询 Device Twins@IOTHub 的 Reported/Desired 状态
- android - Android ActionMenuView 如何设置菜单项图标的大小