在“用于服务器端应用程序的 Google+ 登录”帮助页面上,在“第 3 步:在您的页面上包含 Google+ 脚本”中建议使用以下代码段:
<!-- The top of file index.html -->
<html itemscope itemtype="http://schema.org/Article">
<head>
<!-- BEGIN Pre-requisites -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js">
</script>
<script type="text/javascript">
(function () {
var po = document.createElement('script');
po.type = 'text/javascript';
po.async = true;
po.src = 'https://plus.google.com/js/client:plusone.js?onload=start';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(po, s);
})();
</script>
<!-- END Pre-requisites -->
</head>
<!-- ... -->
现在,第二个 SCRIPT 似乎在做什么:
- 使用静态源创建一个新的 SCRIPT 标签
- 在文件中的第一个 SCRIPT 标记之前立即插入它。
现在,我的问题是什么?我的意思是,不会这样做:
<!-- The top of file index.html -->
<html itemscope itemtype="http://schema.org/Article">
<head>
<!-- BEGIN Pre-requisites -->
<script async src="https://plus.google.com/js/client:plusone.js?onload=start"></script>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<!-- END Pre-requisites -->
</head>
<!-- ... -->
达到同样的目的?为什么这个额外的包装函数插入脚本?