首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么有些Javascript代码可以在小型静态网站上运行,而不能在Wordpress中运行

为什么有些Javascript代码可以在小型静态网站上运行,而不能在Wordpress中运行
EN

Stack Overflow用户
提问于 2018-12-19 06:08:52
回答 1查看 64关注 0票数 0

Here是一个包含Bodymovin After Effects插件生成的.js代码的测试页面。

然而,在开发中的Wordpress站点上,当我将它包含在</body>标记之前时,相同的代码会产生以下错误。

代码语言:javascript
复制
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事件...

代码语言:javascript
复制
window.addEventListener("load",function(event) { MY CODE },false);

但是,仍然会生成相同的错误。

我想可能有一些Javascript代码冲突,所以我关闭了Wordpress中的所有插件,没有区别。

还有什么其他原因可以让代码在一个网站上工作,但在另一个网站上却不能呢?

编辑:两个站点都在同一台服务器上。此外,我将页面源代码复制到另一个超文本标记语言页面上,并从其中提取了所有<script>标记。没什么区别。

任何帮助都是非常感谢的,我已经开始拔头发了!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-19 06:30:51

js代码看起来非常自包含。我不认为依赖关系在起作用。将调试重点放在以下几个方面:

  1. 您的html中是否包含包装器标记<div id="lottie"></div>
  2. 是否将js包含在包装器标记之后?
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53841813

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档