首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未定义外部文件中的函数[JS]

未定义外部文件中的函数[JS]
EN

Stack Overflow用户
提问于 2020-09-15 19:29:02
回答 1查看 94关注 0票数 0

你好,我有一个关于JavaScript函数的问题。

我有3个外部JS文件,它们包含在我的JS文件中,如下所示:

代码语言:javascript
复制
var badgeJs = document.createElement('script');
badgeJs.type = 'text/javascript';
badgeJs.src = 'url'
document.head.appendChild(badgeJs);

所以这里的问题是我需要使用3个函数,但有时我收到错误Refference error: functionName is not defined,之后我刷新页面,第一个函数工作,但第二个没有,每次刷新时,一些函数没有定义。

我不知道问题出在哪里,为什么会发生这种情况?任何建议都将不胜感激。

我不知道这是否会有帮助,但是JS代码是为shopify-app编写的

如何调用函数

代码语言:javascript
复制
var content = 'function1(param);function2(param1, param2, param3, [10, 25]);function3(param1, param2);';
(function() { var script = document.createElement('script'); script.text = content; var body = document.querySelector('body'); body.append(script);})();
EN

回答 1

Stack Overflow用户

发布于 2020-09-15 19:35:13

您的文件包含在您试图调用函数的模拟时间运行。由于文件包含需要时间来加载您的文件,因此您需要在加载函数之前调用它们。您必须手动将脚本添加到HTML中:

代码语言:javascript
复制
<script type="text/javascript" src="/to/your/file.js">

然后在加载DOM后运行函数:

代码语言:javascript
复制
document.addEventListener("DOMContentLoaded", function(event) {
    // Your code to run since DOM is loaded and ready
});

如果您不能更改HTML,那么动态包含您的文件,并确保在加载文件时调用您的函数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63900871

复制
相关文章

相似问题

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