从另一个文件访问js文件的函数时遇到问题。
我已经创建了一个名为“test.js”的新文件,路径与main.js文件相同。
在test.js中,我只有一个函数:
function HelloWorld(){
console.log("hi user");
}
现在我想在main.js中调用这个函数。在main.js中,我有附加test.js的script标记的代码。
var script = document.createElement('script');
script.type = 'module';
script.src = './test.js';
document.head.appendChild(script);
console.log("head=",head.document)
HelloWorld();
在浏览器的控制台中,我可以看到脚本标记已成功添加。
但是当我想调用test.js函数HelloWorld()时;它抛出一个"HelloWorld" is not defined
的期望值。
我错过了什么?
2条答案
按热度按时间qxgroojn1#
你有两个问题:
1.当前脚本尚未完成运行,因此其他脚本不可能已运行,因此不可能已及时创建函数
1.另一个脚本是作为模块加载的,因此它创建的函数无论如何都不在全局作用域中
正确地使用模块,而不是试图使用DOM和全局变量来伪造它们。
以及
0mkxixxg2#
试试这个