我的index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="google-signin-client_id" content= "my_client_id.apps.googleusercontent.com">
<meta name="google-signin-scope" content="profile email">
<script src="https://apis.google.com/js/client:platform.js?onload=start" async defer></script>
<script>
function start() {
console.log('script running')
gapi.load('auth2', function() {
auth2 = gapi.auth2.init({
client_id: 'my_client_id.apps.googleusercontent.com',
scope: 'profile email'
});
});
}
</script>
<title>React App</title>
</head>
<body>
<div id="root"></div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
在该start()函数中,我打印到控制台以查看其运行时间。
当我加载页面时,经常start()会在 react组件之后加载。
Login.js
componentDidMount() {
console.log(gapi.auth2.getAuthInstance())
}
Run Code Online (Sandbox Code Playgroud)
在调试器中,您可以看到脚本正在组件之后加载:
如果我刷新页面几次,则可以正常工作。但是有时它起作用,有时却不起作用。
为什么?