gpt4 book ai didi

javascript - 在脚本标签上调用 JS 函数

转载 作者:行者123 更新时间:2023-12-04 09:02:46 25 4
gpt4 key购买 nike

我正在尝试将 Trulioo 实现到 React 应用程序。他们的文档告诉放置一个 <script>页面上的标签,这将呈现他们的申请表:

<div id="trulioo-embedid"></div>

<!-- This script renders the form for the div above -->
<script type="text/javascript" src="https://js.trulioo.com/latest/main.js"></script>

<!-- Initialize your form here with your Frontend (FE) key -->
<script>
// Handle the response of EmbedID after form submits
function handleResponse(e) {
console.log('handleResponse', e);
}

const publicKey = 'Trial Key (FE)_OR_Live Key (FE)'; // Public Key
// const accessTokenURL = 'http://localhost:8080/trulioo-api/embedids/tokens';
new TruliooClient({
publicKey,
// accessTokenURL,
handleResponse
});
</script>
我以 React 的方式实现了它:
import React, { useEffect } from 'react';
import truliooConfig from '../../../config/tuliooConfig';

export default function CustomerSignup() {
function handleResponse(e) {
console.log(e);
}
const { publicKey, accessTokenURL } = truliooConfig;

useEffect(() => {
const script = document.createElement('script');
script.src = 'https://js.trulioo.com/latest/main.js';
script.async = true;

document.body.appendChild(script);

/*new TruliooClient({
publicKey,
accessTokenURL,
handleResponse,
});*/

return () => {
document.body.removeChild(script);
};
}, []);

return <div id="trulioo-embedid" />;
}
脚本加载正常,并附加到 DOM,但我需要调用 new TruliooClient({})与认证参数。
我不知道如何称呼它,因为它没有在 React 中定义。
我该如何解决这个问题?
提前致谢
编辑:添加
script.onload = function () {
new TruliooClient({ publicKey: publicKey, accessTokenURL: accessTokenURL, handleResponse });
};
也不行,因为 TruliooClient未定义,即使它已在脚本中定义

最佳答案

好的,对于任何寻找同一问题答案的人,我可以让它发挥作用。
我必须创建一个函数来在脚本加载后执行:

    function scriptLoaded() {
new window.TruliooClient({
publicKey,
accessTokenURL,
handleResponse,
});
}
我在 useEffect 中调用了它:
    useEffect(() => {
const script = document.createElement('script');
script.src = 'https://js.trulioo.com/latest/main.js';
script.async = true;
script.onload = () => scriptLoaded();

document.body.appendChild(script);

return () => {
document.body.removeChild(script);
};
}, []);

关于javascript - 在脚本标签上调用 JS 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63528602/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com