Saltar al contenido

Vincular a otra página HTML en Google Apps Script

Esta es el arreglo más completa que encomtrarás brindar, sin embargo mírala detenidamente y valora si es compatible a tu trabajo.

Solución:

Si bien HtmlService le permite servir HTML, no es un “alojamiento” de páginas, y no puede acceder a los diversos archivos html en su proyecto de Apps Script por URL directamente. En cambio, su aplicación web tendrá una URL cuando se publique, y esa es la única URL que tiene.

Esta es una forma en la que puede servir páginas separadas de su secuencia de comandos y hacer que se comporten de manera similar a los enlaces de archivos html.

los doGet() A la función se le pasa un evento cuando se la llama, y ​​podemos aprovechar eso para indicar qué página queremos que se sirva. Si nuestro ID de aplicación web es así es como se verá una URL más una cadena de consulta que solicita una página específica:

https://script.google.com/macros/s//dev?page=my1

Usando HTML con plantilla, podemos generar la URL necesaria + la cadena de consulta sobre la marcha. En nuestro doGet()solo necesitamos analizar la cadena de consulta para determinar qué página servir.

Aquí está el guión, con dos páginas de muestra que contienen botones para pasar de una a otra.

Código.gs

/**
 * Get the URL for the Google Apps Script running as a WebApp.
 */
function getScriptUrl() 
 var url = ScriptApp.getService().getUrl();
 return url;


/**
 * Get "home page", or a requested page.
 * Expects a 'page' parameter in querystring.
 *
 * @param event e Event passed to doGet, with querystring
 * @returns String/html Html to be served
 */
function doGet(e) 
  Logger.log( Utilities.jsonStringify(e) );
  if (!e.parameter.page) 
    // When no specific page requested, return "home page"
    return HtmlService.createTemplateFromFile('my1').evaluate();
  
  // else, use page parameter to pick an html file from the script
  return HtmlService.createTemplateFromFile(e.parameter['page']).evaluate();

mi1.html


  
    

Source = my1.html

mi2.html


  
    

Source = my2.html

La aplicación web de Google Apps Script está diseñada principalmente para usarse como una aplicación web de una sola página. Pero también se puede utilizar como una aplicación de varias páginas (no recomendado). Aquí hay una aplicación web de muestra:

Código.gs:

//@return Base Url
function getUrl() 
  return ScriptApp.getService().getUrl()

//@return Html page raw content string
function getHtml(hash) 
  return HtmlService.createHtmlOutputFromFile(hash).getContent()


//@return provided page in the urlquery '?page=[PAGEID]' or main index page
function doGet(e) 

pagina1.html

This is Page 1

Hello World!

pagina2.html

This is Page2

Goodbye World!

índice.html



  
    
    Single Page App
    
    
  
  
    

Single Page App Demo

Loading...

Referencias:

  • guía de aplicaciones web
  • setChangeHandler

Te mostramos comentarios y puntuaciones

Nos puedes añadir valor a nuestra información colaborando tu experiencia en los comentarios.

¡Haz clic para puntuar esta entrada!
(Votos: 2 Promedio: 3.5)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *