0

ここに示すように、Google+ バッジを持つ小さな Google App Script を作成しようとしています。このために、そのページに示されているように、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 に答える