0

我一直在尝试编写一个带有 Google+ 徽章的小型 Google App 脚本,如此处所示。为此,我有一个纯 HTML 文件,其中包含了该页面上显示的 HTML。HTML页面如下:

 <html>
<body>
 <div class="g-plus" data-href="{Page-Link}" data-rel="publisher"></div>
  
<script type="text/javascript">
  (function() {
    var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
    po.src = 'https://apis.google.com/js/plusone.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
    alert("Added Badge!");
  })();
</script>

</body>
</html>

结果是空白页。页面中没有添加徽章。我认为这是因为 javascript 函数没有运行(我添加了一个警报并且没有任何弹出窗口)。我无法弄清楚为什么该函数没有运行。

任何帮助表示赞赏。

4

1 回答 1

0

不幸的是,我对 Javascript 不太熟悉,所以我在这里猜测。前段时间我在coffeescript中编程过,它的编译器会自动将生成的代码包装在一个匿名函数中,就像在你的代码中一样。这个函数是这样调用的:

(function() {//...}).call(this);

也许这行得通。

或者,您可能希望将警报测试移至徽章生成之上。这将显示 javascript 是否完全运行。也许错误在于您的徽章创建代码。

我的最终想法是命名您的函数并将其注册为 body.onload 上的回调。让浏览器在访问 dom 之前加载页面总是一个好主意

于 2012-10-13T15:30:34.247 回答