質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

1846閲覧

GASで作成したwebページ(HTML+javascript )で、ページのオープン時に別ページへ遷移することができない

takku001001

総合スコア1

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

1クリップ

投稿2022/08/08 01:20

編集2022/08/08 08:06

前提

GAS(Google Apps Script) で、webページを開発しています。
HTML+javascriptにて開発中です。
また、Googleの個人アカウントにて作成しています。
HTMLを表示するブラウザはPC・スマホにてGoogleCromeを使用しています

実現したいこと

GASにて作成したHTMLをスマホのブラウザでオープンし
すべての要素を読み込んだ後自動的に別ページへ遷移(転送)させたいです。
目的としては、

1ページ目で、google.script.runにて内部のスクリプトを自動実行
→その結果によって自動的に別ページへ遷移

のようなことをしたいと思っていたのですが
どうしても別ページへ遷移できません。

ボタンを押したとき、別ページへ遷移する事はできるのですが
そのメソッドをオープン時に実行しても遷移できませんでした。

もしわかる方がいらっしゃいましたら、ご助言お願いいたします。

GASのソースコード

GAS

1function doGet(e) { 2 3 var html = HtmlService.createTemplateFromFile('testupdate') 4 var template = html.evaluate() 5 return template; 6} 7//URLを渡すメソッド 8function getScriptUrl() { 9// var url = ScriptApp.getService().getUrl(); 10 var url = "https://www.google.com/"; 11 return url; 12} 13 14 15function dSave(v){ 16 console.log(v); 17 return true; 18}

HTMLのソースコード

HTML

1<!DOCTYPE html> 2<html> 3 4 <head> 5 <base target="_top"> 6 <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script> 7 <link href="//cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/css/toastr.min.css" rel="stylesheet" /> 8 <script src="//cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/js/toastr.min.js"></script> 9 <script language="javascript" type="text/javascript"> 10 window.addEventListener('load', load); 11 12 // 読込 13 function load() { 14 var mydata = "test"; 15 google.script.run.withSuccessHandler(onSuccess).dSave(mydata); 16 update(); 17 } 18 function sleep(waitSec, callbackFunc) { 19 var spanedSec = 0; 20 var waitFunc = function () { 21 spanedSec++; 22 if (spanedSec >= waitSec) { 23 if (callbackFunc) callbackFunc(); 24 return; 25 } 26 clearTimeout(id); 27 id = setTimeout(waitFunc, 1000); 28 29 }; 30 31 var id = setTimeout(waitFunc, 1000); 32 33 } 34 35 36 function onSuccess(){ 37 alert("成功") 38 sleep(10, function() { 39 update(); 40 document.getElementById("butos").click() 41 }); 42 } 43 function tes(){ 44 location.href = 'https://www.google.com/' 45 } 46 function update() { 47 google.script.run 48 .withSuccessHandler(result).getScriptUrl(); 49 function result(url){ 50 window.open(url, '_top') 51 alert("テスト"); 52 } 53 } 54 </script> 55 </head> 56 <style> 57 label{ 58 font-size : 100px; 59 } 60 </style> 61 <body> 62 <script> 63 window.onload = load 64 </script> 65 <div class="form-wrapper"> 66 <h1>テスト</h1> 67 <input id="button1" class="button" type="button" value="TES" onclick="tes()"></input> 68 <input type="button" id = "butos" value="ブラウザ更新" onclick="update()"> 69 <div class="form-footer"> 70 </div> 71 </div> 72 </body> 73</html> 74

試したこと

onload, window.addEventListener('load', load);などいろいろ試しましたが実行できませんでした。
現状ではupdateというメソッドで遷移を実行しており
様々なタイミングで実行しているのですがどうやっても遷移しません。
updateの中のalertは実行されるのですが、遷移できません。
ブラウザ更新ボタンを押したときには問題なく遷移します。

また、遷移自体もいろいろ試したのですが、window.open(url, '_top')
しかできませんでした。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

現状のGoogle Apps Scriptでは、ユーザーの明示的なボタンクリック等の操作なしに、
Javascriptの処理によって(新しいページを開かずに)現状のページから別のページに遷移することはできません。

投稿2022/08/08 10:47

編集2022/08/08 10:48
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

takku001001

2022/08/16 00:10

ご回答ありがとうございます。 やはりできないのですね 返信遅れまして申し訳ございません。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問