【Web】GASで公開したHTMLページ(Webアプリ)のブラウザ表示画面を更新する【Google Apps Script】

投稿日:2021年3月13日
最終更新日:2021年3月13日

GASのHTMLページをコードで操作して更新したい

先日web1weekというイベントに参加してGoogle Apps Script上にHTMLを置いてWebアプリを公開したのだが、クライアント(ユーザーのブラウザ)側のJavaScriptのコードで、画面を更新するのに意外と手間取ったので方法をメモしておく。

 

サーバ側gsコード上で取得する

HTMLをJavaScriptで制御してブラウザ更新するにはlocation.reload()やlocation.href()がよく使われるが、GASの仕様的に制限がかかっていうまく動かないらしい。色々と試してうまくいったのは、以下のwindow.openを使った方法。urlの部分にString型で更新したいHTMLのurlを入れてやればOK。

window.open(url, '_top')

ただ、GASのHTMLをWebアプリとしてデプロイするとき、デプロイするたびにURLが変わってしまうので、事前に手打ちでURLを設定しておくことは難しい。そのため、私はこちらの記事で書いたURLの取得方法でURLをJavaScript上で取得して、それをwindow.openに渡して更新する方法をとった。

 

サンプルコード

html上でボタンをクリックすると、ブラウザを更新するサンプルコードを以下に置いておく。html上でボタンを押したときに、gs上のgetScriptUrlを呼び出し、呼び出しが成功したらwithSuccessHandlerでブラウザ更新を実行している。

まずhtmlコード。

次にgasコード。

これをデプロイするとブラウザに以下の更新ボタンが表示されて、クリックするとブラウザ更新される。

もっと良い方法がありそうな気はするが、参考になれば。

 

GASでLINEのボットとかつくってます

GASでLINEのボットをつくった過程を日記としてまとめてます。興味があればぜひのぞいてみてください。

【Web】Google Apps ScriptでリマインダーLINE botをつくろう日記

0

投稿者: wakky

映画と旅行が大好きなエンジニア。お酒、ゲーム、読書も好き。

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください