как получить параметры на новой странице приложений Google - PullRequest
1 голос
/ 12 октября 2019

Со своей страницы Index.html я передаю параметры на свою страницу Trabajo.html по следующей ссылке:

https://script.google.com/macros/s/************/exec?page=Trabajos&item=23

, но я не знаю, как получить переменную "item" на моей странице. "Trabajo.html"

Codigo.html

function getScriptUrl() {
 var url = ScriptApp.getService().getUrl();
 return url;
}

Index.Html

 <script src="//code.jquery.com/jquery-1.10.2.js"></script>
 <link rel="stylesheet" href="https://ssl.gstatic.com/docs/script/css/add-ons.css">

 <html>
    <head>
      <base target="_top">
   </head>
<body>
   <?var url = getScriptUrl();?><a href='<?=url?>?page=Trabajos&item=23' target="_blank"> <input type='button' name='button' value='Trabajos.html'></a>
</body>
 </html>

Trabajos.html

 <script src="//code.jquery.com/jquery-1.10.2.js"></script>
 <link rel="stylesheet" href="https://ssl.gstatic.com/docs/script/css/add-ons.css">
 <!DOCTYPE html>
  <html>
   <head>
       <base target="_top">
   </head>
   <body>
      <br><br>
      //Here I want to show the value of the item, and also in a <script>
      <input type='text' value='<?=item?>' >
      <br><br>
      <?var url = getScriptUrl();?><a href='<?=url?>?page=Index'> <input type='button' name='button' value='Index.html'></a>
    </body>
  </html>

Не знаюне знаю, как получить переменную item, как я могу это сделать, если мой код такой?

Ответы [ 2 ]

1 голос
/ 14 октября 2019

Я предполагаю, что вы создаете веб-приложение Google .

  • Веб-приложение Google обычно состоит из файла Code.gs (не Code.html)и один .html файл, который будет возвращен при открытии URL-адреса веб-приложения.

  • Важной частью веб-приложения является функция doGet (e) в пределах которого будет возвращен html-файл для вызова.

  • В вашем случае у вас есть два .html файла, которые вы хотите открыть с тем же URL-адресом веб-приложения.
  • В этом случае вам нужно провести дифференцирование регистра в функции doGet(), чтобы создать другой HTML-шаблон в функции item
  • Для передачи item из URL https://script.google.com/macros/s/************/exec?page=Trabajos&item=23в файл .html необходимо извлечь его в функции doGet() как e.parameter и передать его в htmlTemplate.

Образец:

Code.gs

function doGet(e){
   var item=e.parameter.item;  
  if(item==23){
     var htmlTemplate = HtmlService.createTemplateFromFile('Trabajos');
         htmlTemplate.item = item;
  }else if(item==24){
    ...
  }
  }else if(!item){
     var htmlTemplate = HtmlService.createTemplateFromFile('Index');
  }
  ...
  return htmlTemplate.evaluate();
}


function getScriptUrl() {
 var url = ScriptApp.getService().getUrl();
 return url;
}

Index.html и Trabajos.html могут остаться для этого образца такими, какие они есть.

0 голосов
/ 12 октября 2019

Кажется, вам нужно использовать шаблоны

function doGet() {
  var htmlTemplate = HtmlService.createTemplateFromFile('Trabajos');
  htmlTemplate.item = 'Set the item here';
  return htmlTemplate.evaluate();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...