Google API 的客户端库不会执行回调

Google API's client library does not execute callback

本文关键字:执行 回调 API 客户端 Google      更新时间:2023-09-26

所有Google API描述都提到,在加载Javascript客户端库后,这应该触发它提供给?onload的函数

这是我编写的测试代码,但 myFunc 没有被激活。有人可以帮忙吗?

<!DOCTYPE html>
<html>
<head>
<title> Test </title>
<meta charset='utf-8' />
<script>
 function myFunc(){
 
	document.write( "Hi" );
 }  
</script>
 
<script type="text/javascript" src="https://apis.google.com/js/client.js?onload=myFunc"></script>
 
</head>
<body>
</body>
</html>

Firefox在控制台中说:

从异步加载的外部脚本对 document.write(( 的调用被忽略。

Chrome说类似的话:

无法在"文档"上执行"写入":除非显式打开,否则无法从异步加载的外部脚本写入文档。

尝试使用document.write以外的其他东西。

<script>
 function myFunc(){
 
	document.body.innerHTML='oh yeah';
 }  
</script>
 
<script type="text/javascript" src="https://apis.google.com/js/client.js?onload=myFunc"></script>
 


  • 不建议使用 document.write,因为如果在加载文档后执行,它会替换整个文档。
  • 了解如何调试 JavaScript。

函数被执行问题出现在文档.write((;它在Chrome控制台上生成以下错误

无法在"文档"上执行"写入":除非显式打开,否则无法从异步加载的外部脚本写入文档。

你只是有一些引号混乱。尝试在脚本位置的末尾加上引号,从 src 属性中删除onload。然后将 onload 属性设置为带括号myFunc()

<!DOCTYPE html>
<html>
<head>
<title> Test </title>
<meta charset='utf-8' />
<script>
 function myFunc(){
 
	document.write( "Hi" );
 }  
</script>
 
<script type="text/javascript" 
        src="//apis.google.com/js/client.js" 
        onload="myFunc()"></script>
 
</head>
<body>
</body>
</html>