When linking from ScriptDbConsole.html to legend.html I get the following error message:
Sorry, the file you have requested does not exist. Please check the address and try again.
This would normally work in a normal environment, but not here I guess. It's in script.google.com.
When creating a new .html file in script.google.com project, it creates it at the same location as it did for the others, so this code should actually work right? How can I open legend.html from ScriptDbConsole.html?
<a href='legend.html' target='_blank'>Open in new window</a>
While the HtmlService allows you to serve HTML, it is not "hosting" pages, and you cannot access the various html files in your Apps Script project by URL directly. Instead, your Web App will have a URL when it is published, and that is the only URL you have.
Here's a way that you can serve separate pages from your script, and have them behave similarly to html file links.
The
doGet()
function is passed an event when called, and we can take advantage of that to indicate which page we want served. If our Web App ID is<SCRIPTURL>
, here is what a URL plus a querystring requesting a specific page will look like:Using templated HTML, we can generate the necessary URL + querystring on the fly. In our
doGet()
, we just need to parse the querystring to determine which page to serve.Here's the script, with two sample pages containing buttons to flip between them.
Code.gs
my1.html
my2.html