javascript - 在 Apps Script Web App 中实现一个 slider 。 oninput 事件未触发

标签 javascript events google-apps-script

我正在尝试实现一个 slider ,该 slider 将在用户移动 slider 时显示当前值。我最初有一个显示值的 onchange 事件,但只有在用户停止拖动 slider 时才发生。一旦我将其更改为 oninput,该值就永远不会改变。

我已经在 google apps 脚本之外实现了这段代码,并且它有效。有没有办法让它在谷歌应用程序脚本中工作?

这是 HTML 模板:

<div id="min" style="display:inline">0</div>
<input type="range" id="slider" oninput="updateSliderValue()">
<div id="max" style="display:inline">100</div>
<div id="sliderValue">Current Value: 0</div>

<script>
function updateSliderValue(){
  var sliderValue = document.getElementById("slider").value;
  document.getElementById("sliderValue").innerHTML = "Current Value: " +    sliderValue;
}
</script>

下面是简单的代码.gs:

function doGet() {
  return HtmlService.createTemplateFromFile('TestSliderTemplate').evaluate();
}

最佳答案

将您的 doGet() 函数更改为:

function doGet() {
  return HtmlService.createTemplateFromFile('TestSliderTemplate')
    .setSandboxMode(HtmlService.SandboxMode.IFRAME);
}

您需要设置SandboxMode

最近唯一可用的沙盒模式更改为 IFRAME。沙盒模式现在始终默认为 IFRAME。以前有各种沙箱模式,从 EMULATED 开始,然后是 NATIVE,现在是 IFRAME。过去你可以选择不同的模式,但现在你不能。但 IFRAME 模式的限制最少,因此要好得多。

Google Documentation - SandBox Mode

Working HTML App of slider:

文件:

Apps Script File

关于javascript - 在 Apps Script Web App 中实现一个 slider 。 oninput 事件未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31632139/

相关文章:

php 和 javascript 日期不匹配

javascript - 将绝对定位元素右对齐到其祖先的边缘

javascript - Node JS、sqlite3 和 WHERE IN 参数

WPF MenuItem.Click 在育儿后中断

google-apps-script - 从 Google Apps 脚本调用 Google 电子表格函数

mysql - 无法执行 google apps 脚本中包含中文字符的 mysql 查询

javascript - Angularjs 中两个按钮的不同验证?

jquery 可放置目标

java - 在android中将事件添加到用户创建的日历后,事件标题不显示

javascript - 变量返回未定义