【问题标题】:Javascript Limitations of Google Apps Scripts WebApps? [closed]Google Apps Scripts WebApps 的 Javascript 限制? [关闭]
【发布时间】:2021-12-13 23:06:42
【问题描述】:

来吧,帮我在这里突破界限......

Google supports 将您的 Javascript 粘贴到 html 文件中。 这家伙shows 如何在一个用谷歌脚本完成的网络应用程序中显示图像。 那家伙makesthose images have s3x(我的意思是,在这里给我一个更好的描述!)

Code.gs 中位于 Google Drive 中的图像的设置变量以及稍后尝试在 javascript 文件中使用它们不起作用。我得到一个空白屏幕。

这是 Google 的限制还是我的 Javascript 知识限制?

这是我映射两个图像的代码点js。

这显示了我们看到的html

这就是魔法发生的地方......

css....

【问题讨论】:

  • 请使用代码文本而不是图像。见minimal reproducible example
  • 你误会了。评论scriplets
  • @TheMaster 我已经复习过,顺便谢谢你,但我错过了你的意思。请直接告诉我。
  • 我注意到的第一件事是您从未传递或保存然后获取这些变量的值。所以预计不会有任何输出。尝试将其保存为属性,然后使用google.script.run.withSuccessHandler(clientSideFunctionToProcessReturnedData).someServerSideFunction() 获取值。
  • htmlOutput.pictures=pictures。但是,您正在评估的 html 文件上的 pictures 脚本在哪里,即 Page.html?关注this part

标签: javascript google-apps-script web-applications


【解决方案1】:

问题:

您在 Code.gs 中实例化了 pic1pic2 并期望在您的 HTML/JavaScript 文件中具有这些值,但情况并非完全如此。

解决办法:

要将值从服务器端传递到客户端,请使用google.script.run。您可以直接调用get_the_images,而不是将其实例化为变量然后传递它们。请参阅下面的示例代码,了解如何将值从 GS 传递到您的 HTML/JavaScript。

代码.gs:

function doGet() {
  var htmlOutput = HtmlService.createTemplateFromFile('Page');
  return htmlOutput.evaluate();
}

function include(filename) {
  return HtmlService.createHtmlOutputFromFile(filename).getContent();
}

function get_the_images() {
  // supposedly ID of said images (IDs for test purposes)
  return ['rxcmaiw_23jsu', 'qwejiasd23saf'];
}

页面.html:

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
  </head>
  <body>
    value of pic1 id is:
    <span id="pic1">
    </span>
    </br>
    value of pic2 id is:
    <span id="pic2">
    </span>

    <?!= include('Javascript'); ?>
  </body>
</html>

Javascript.html:

<script>
  let span1 = document.querySelector('#pic1');
  let span2 = document.querySelector('#pic2');
  // call get_the_images function from Code.gs
  google.script.run.withSuccessHandler(onSuccess).get_the_images();

  function onSuccess(result){
    // result contains the return value of get_the_images
    var [pic1, pic2] = result;
    // at this point, pic1 and pic2 contains the ids
    // show them as images using your script
    // below just confirms the IDs if passed properly
    span1.innerHTML = pic1;
    span2.innerHTML = pic2;
  }
</script>

输出:

参考:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-11
    • 1970-01-01
    相关资源
    最近更新 更多