Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Automatically Redirecting to a Page

Inside a button click handler, I'm creating a new web page like so:

var page = SitesApp.getPageByUrl(url).createPageFromTemplate(title, name, template);

and I want to redirect the user automatically to that page.

I wasn't able to find much information, can this be done?

like image 766
Robert Jakubowicz Avatar asked Jul 03 '12 16:07

Robert Jakubowicz


2 Answers

Corey G's answer worked for me, but the problem is that the web page that I was redirecting was embedded into an iframe in the response of the GAS, so the real URL in the web browser was the script's one.

This is what actually worked for me:

function doGet() {
  return HtmlService.createHtmlOutput(
    "<script>window.top.location.href='https://example.com';</script>"
  );
}

This similar Q/A helped me to solve it.

Hope it helps.

like image 107
David López Avatar answered Nov 16 '22 01:11

David López


This cannot be done in UiApp but it's doable in HtmlService:

function doGet() {
  return HtmlService.createHtmlOutput(
    "<form action='http://www.google.com' method='get' id='foo'></form>" + 
    "<script>document.getElementById('foo').submit();</script>");
}

This should be easier; please file a feature request in the issue tracker and we will see how we can make this more pleasant.

(Edit: To be clear, there's no way to do this from a UiApp callback; your entire app would have to be using HtmlService for this to work.)

like image 33
Corey G Avatar answered Nov 16 '22 02:11

Corey G