4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【2021年9月1日で】GASでリダイレクトする方法【使えなくなった】

Last updated at Posted at 2020-12-18

※追記(2021-09-02)本記事の内容は、昨日(2021-09-10)から使えなくなりました。ChromeのCORS対策のようです。詳細はコメント欄を参照ください。代替案はわかりません。スミマセン。

GAS(Google Apps Script)でWebアプリを作るとき、SUBMITしたらホームページに戻るようにしたい。

ぼくは同じHTMLを、部分的に<DIV>タグを使ってhidden属性を有効化/無効化して、擬似的に複数のページに見せている。
SUBMITを行ったら、URLパラメーターを使ってdoget()関数で取得して操作(スプレッドシートの更新など)を行う。

これまではSUBMITの飛び先を(擬似的な)ホームページにしていたのだが、そうするとアドレスバーにURLパラメーターが丸見えなので、ENTERやF5を押すとまた更新動作が走るという問題があった。

そこで、URLパラメーターをクリアするために、(擬似的な)ホームページにリダイレクトしたいと思った。
いわゆる<META>タグにrefreshを使うと、コンピューターが困った顔みたいなアイコンが出て「Connection Refused」と言われる。
JavaScriptを使ってリダイレクトしても同じ現象が起こる。

いろいろググって試行錯誤の末、このやり方ならうまくいった。

function doGet() {
  return HtmlService.createHtmlOutput(
    "<script>window.top.location.href='https://開発中のWEBアプリ';</script>"
  );
}

原理はよく分からない。
相変わらずひどくてスミマセン。

参考:
https://stackoverflow.com/questions/11315521/automatically-redirecting-to-a-page

(この後おわり)

4
3
5

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?