我正在尝试调用我的第 3 方要求我包含的外部 JS 函数,以便使用他们的 API,但无法按预期工作。
根据我读到的内容,我应该在包含 extFn() 的 index.html 中包含外部 JS 后使用 window.extFn() ,如下所示
...并且应该像这里的回答一样使用它:从 react 组件调用外部Javascript函数,无论所述函数是在文件内部还是简单地在index.html部分中定义。这适用于我为测试而创建的 JS 文件。
//File: test.js
function test() {
return "Hello";
}
...像往常一样导入带有 script 标签的 JS 文件,并在我的 React 组件的 render() 中使用 console.log(window.test()) 返回 Hello。
我尝试将导入从 body 移至 HTML head,反之亦然,但我仍然遇到的错误是:
TypeError: window.extFn is not a function
QuickCheckout.render
....
22 | }
23 |
24 | render() {
> 25 | window.extFn({
26 |
View compiled
▶ 20 stack frames were collapsed.
当我查看浏览器控制台时,由于某种原因我有(这似乎是关键问题)
Uncaught SyntaxError: Unexpected token < external.js:1
上面的 test.js 文件在我的实验中有效,生成 Unexpected token < error
以及在我的控制台中...
从本地源导入JS:
<script type="text/javascript"language="javascript"src="../src/external.js"></script>
这是external.js的示例
function Initialize() {
try {
if (abc !== null) {
}
/* if
provide the call backs */
abcd = new DEGD(
a,
b,
c,
d
displayProgress('Initializing web socket...');
} catch (e) {
alert("Initialization Failed" + e);
}
}
最佳答案
可以在chrome devtools中查看源码,检查external.js文件是否导入成功
关于javascript - ReactJS - 外部 JS 函数 “is not a function”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60682374/