1

Google Apps スクリプトで Html Services API を使用して Web ページを作成しました。スクリプトには、1 つの Google スクリプト (.gs) ファイルと 2 つの html ファイル (.html) があります。このスクリプトはウェブ上で公開されています。Web で html ファイルを表示するには、.gs ファイルで次の関数を使用しました。

function doGet() {   //Published on web
  return HtmlService.createTemplateFromFile('<htmlFile_1>').evaluate();
}

function doProcess() {
  return HtmlService.createTemplateFromFile('<htmlFile_2>').evaluate();
}

doGet() は、Web 上でこの Html ファイルを返しています。ここで、このファイルを置き換えて別の Html ファイルを表示したいと考えています。したがって、htmlFile_1 で次のように使用しました。

//htmlFile_1.html

<html>
  <head>
  <script>
    function loadMainHtmlPage(){
       google.script.run.doProcess();     //calling another function in .gs file
       setTimeout(function(){hello()},4000);

    }

    function hello(){
    alert("hiii");
     document.getElementById("loading").style.display="none";}

  </script>
</head>

<body onload="loadMainHtmlPage();">
   <div id="loading" style="display:block;">
      <img src="http://commondatastorage.googleapis.com/kickoff/loading.gif"/>
 </div>
  </body>

</html>

この htmlFile_1 は、htmlFile_2 を返す doProcess() を呼び出していません。これを実装するための提案はありますか?

4

1 に答える 1

2

このコード行に onSuccess (およびオプションで onFailure) ハンドラーを含める必要があります。

google.script.run.doProcess();

下記参照

Server code
function getSuperHero() {
  return {name: "SuperGeek",  catch_phrase: "Don't worry ma'am, I come from the Internet" };
}

Client code
<script>
  function onSuccess(hero) {
    alert (hero.catch_phrase);
  }
  google.script.run.withSuccessHandler(onSuccess).getSuperHero();
</script>
于 2012-12-18T12:38:36.693 に答える