所有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>