Here是一个包含Bodymovin After Effects插件生成的.js代码的测试页面。
然而,在开发中的Wordpress站点上,当我将它包含在</body>
标记之前时,相同的代码会产生以下错误。
Uncaught TypeError: Cannot read property 'appendChild' of undefined
at SVGRenderer.configAnimation (globe_2.js:formatted:4724)
at AnimationItem.configAnimation (globe_2.js:formatted:6533)
at AnimationItem.setParams (globe_2.js:formatted:6444)
at Object.n [as loadAnimation] (globe_2.js:formatted:6281)
at Object.loadAnimation (globe_2.js:formatted:1319)
at globe_2.js:formatted:17169
编辑:如果我在header.php中的wp_head();
后面包含代码,我会得到同样的错误。
当我调试代码时,我可以看到这是因为动画的wrapper
变量未定义。这是因为context
变量未定义。
查看堆栈溢出中的similar question表明,如果DOM未完全加载,则可能会发生这种情况,因此我通过将所有内容包装在以下代码中来附加到window.onLoad
事件...
window.addEventListener("load",function(event) { MY CODE },false);
但是,仍然会生成相同的错误。
我想可能有一些Javascript代码冲突,所以我关闭了Wordpress中的所有插件,没有区别。
还有什么其他原因可以让代码在一个网站上工作,但在另一个网站上却不能呢?
编辑:两个站点都在同一台服务器上。此外,我将页面源代码复制到另一个超文本标记语言页面上,并从其中提取了所有<script>
标记。没什么区别。
任何帮助都是非常感谢的,我已经开始拔头发了!
发布于 2018-12-19 06:30:51
js代码看起来非常自包含。我不认为依赖关系在起作用。将调试重点放在以下几个方面:
<div id="lottie"></div>
?https://stackoverflow.com/questions/53841813
复制相似问题