我正在尝试将动态加载的自定义javascript访问到onSubmit
事件处理程序中。
所以基本上代码是这样的
onSubmitHandler() {
var script1 = document.createElement("script");
var script2 = document.createElement("script");
script1.type = "text/javascript";
script1.src = "file1.js";
document.getElementsByTagName('head')[0].appendChild(script1)
script1.onload = function () {
script2.type = "text/javascript";
script2.src = "file2.js";
document.getElementsByTagName('head')[0].appendChild(script2);
}
script2.onload = function () {
secondScriptFn() // This function is inside script2
}
}
现在,问题是,当我尝试创建处理程序时,它会自动指出未定义secondScriptFn
。
我的目标是仅在加载secondScriptFn()
时触发file2.js
。
有什么想法吗? 我做错了吗?
注意:我正在Gatsby Framework上进行开发,因为我试图将JS脚本移植到React中,导致直接加载脚本不起作用。
谢谢大家! :)
答案 0 :(得分:1)
只要不理你的小子。该代码将按预期运行。
还可以写一些短毛猫(只是句法糖):
window["secondScriptFn"]()