Как обновить div с помощью скрипта приложений для G-листов [duplicate]

Короткий ответ: вам нужно выполнить обратный вызов следующим образом:

function callback(response) {
    // Here you can do what ever you want with the response object.
    console.log(response);
}

$.ajax({
    url: "...",
    success: callback
});
2
задан Jassw Jassw 28 May 2015 в 23:15
поделиться

2 ответа

Вы можете использовать window.location.href, чтобы вызвать вкладку браузера, где ваше приложение HTML загружено для обновления.

window.myFunctionToRefresh = function() {
  window.location.href = "https://script.google.com/macros/s/YourAppsScriptID_Here/exec";
  return false;
};

Я использую это, и он работает. , , , но в некоторые условия обновляются, но сценарий приложений не полностью перезагружается. Я все еще не уверен, почему это так. Таким образом, я не могу полностью объяснить или одобрить его.

Вы можете использовать методы и свойства DOM для ввода нового HTML-кода в вашу веб-страницу без перезагрузки страницы.

document.getElementById('element_ID_Here').innerHTML = "<div>Hello World</div>";

jQuery имеет свой собственный метод:

$("#element_ID_Here").html("Hello World");

Вы уже знаете, как использовать google.script.run, чтобы вы могли позвонить на сервер, получить некоторый HTML-контент в виде строки, вернуть его и с помощью withSuccessHandler(functionToRunOnSuccess) ввести новый HTML.

Представим себе, что вы хотели заменить все в своем «основном теле»:

<div class="inline mainbody">

Дайте DIV id:

<div id='idMainBody' class="inline mainbody">

Извлечь содержимое содержимого HTML с сервера в виде строки, когда код .gs возвращает что-то, запускает withSuccessHandler, а затем вводит его в этот DIV. Если ваш withSuccessHandler был назван onGotHtml:

function onGotHtml(argMyNewHTML) {
  document.getElementById('idMainBody').innerHTML = argMyNewHTML;
};
2
ответ дан Sandy Good 24 August 2018 в 23:41
поделиться

Старый поток, но, возможно, это поможет кому-то ... Как перестроить и отобразить всю страницу ...

часть index.html

    <div id="refresh" onclick ="google.script.run
        .withSuccessHandler(refreshApp)
        .getNewHtml()">
    Refresh
    </div>

    <script>
      function refreshApp(newHtml) {
        document.open();
        document.write(newHtml);
        document.close();
      }
    </script>

часть кода .gs

    function getNewHtml(e) {
      var html = HtmlService
        .createTemplateFromFile('index') // uses templated html
        .evaluate()
        .getContent();
      return html;
    }
7
ответ дан weathertinker 24 August 2018 в 23:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: