mardi 24 août 2021

How do I get the title I set through HtmlOutput's setTitle from the html side?

I want to fetch the title I set using setTitle method of HtmlOutput within the html source file, i.e., client-side, but it seems that calling document.title returns me empty string when I call it within my html file.

  • Main.gs:
function onOpen() {
  var spreadsheet = SpreadsheetApp.getActive();
  var menuItems = [
    {name: 'Build Form...', functionName: 'buildForm_'},
  ];
  spreadsheet.addMenu('Test', menuItems);
}

function buildForm_(reportTitle){
  const htmlForm = HtmlService.createHtmlOutputFromFile('HTML_Sidebar')
      .setTitle(reportTitle);
  SpreadsheetApp.getUi()
      .showSidebar(htmlForm)
}
  • HTML_Sidebar.html:
<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
  </head>
  <body>
    <button onmouseup="seeTitle()" id="seeTitleButton">See title</button>
  <script>
    function seeTitle() {
      document.getElementById("seeTitleButton").textContent = "(" + document.title + ")"
    }
    </script>
  </body>
</html>

Google Apps Script's documentation doesn't seem to specify a client-side method in the HTML Service to query the title, and I was hoping that someone in the community could point me towards the right direction.




Aucun commentaire:

Enregistrer un commentaire