Функция webapp javascript в скрипте приложения Google - PullRequest
1 голос
/ 08 января 2020

Я не англичанин sh Пользователь, но я пытаюсь написать правильно. Пожалуйста, получите это

я хочу

A == Скрипт Google App .gs

var result = solvethis(1,3);
Logger.Log(result) // 4

B == webapp javascript. html

<script>
    function solvethis(a,b){

    return a+b
    }
</script>

почему я так хочу.

я хочу использовать библиотеку данных с make javascript => ala sql. js

но в .gs -> ala sql. js не работает.

, поэтому я должен использовать html.

Я не знаю много, но я знаю dget.


1 ===. Gs

function dget(e){
 return HtmlService.createTemplateFromFile("index").evaluate();
}
alasql(select * )

2 ===. html

<script src="https://cdn.jsdelivr.net/npm/alasql@0.5"></script>

---------------- = > это не работает.

Я не хочу, чтобы веб-приложение открывалось напрямую. но я хочу js Библиотека в .gs

как я могу это сделать?

1 Ответ

1 голос
/ 08 января 2020

Вы не можете вызывать функции на стороне клиента с сервера, за исключением единственного обработчика успеха или сбоя, указанного для инициируемого на стороне клиента вызова серверной функции. Обратите внимание, что ваш серверный код не может узнать, какая функция на стороне клиента была зарегистрирована в качестве обработчика ответа, или даже если она вообще была зарегистрирована.

Так что нет, вы не можете " просто "вызовите. html -определенную функцию из ваших файлов .gs.

Пожалуйста, просмотрите руководство HTMLService и справочник по API

// client.html (you write the UI and other stuff for the sidebar or modal or webapp page)
function calledByServer(serverOutput) {
  console.log({ serverOutput }); // or whatever you want to do with the response
}
function doServer(...argsArray) { //invoke somehow, e.g. a client-side click handler
  google.script.run
    .withSuccessHandler(calledByServer)
    .ServerSideFunctionName(argsArray);
}

// Code.gs
function ServerSideFunctionName(foo) {
  console.log(foo); // Stackdriver logging, since Logger is instance specific
  // Do something with foo
  return someValueToSendToClient;
}

Если вы хотите чтобы эта библиотека была доступна, вы должны собрать и использовать пользовательский интерфейс для работы с ней в чисто клиентском коде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...