Apps 脚本对话框中的 CSS

2023-11-29

我不是 Web 开发人员,过去只使用过一次 CSS。使用CSS的流程是怎样的?这可能吗?

var pointsSheet = SpreadsheetApp.openById('1o8_f063j1jYZjFEnI_P7uAztpnEAvQ6mc3Z1_Owa69Y');

//creates and shows an app with a label and password text box
function doGet() {
  var app = UiApp.createApplication();

  var mygrid = app.createGrid(1, 2);
  mygrid.setWidget(0, 0, app.createLabel('Password:'));
  mygrid.setWidget(0, 1, app.createPasswordTextBox().setName("text"));

  var mybutton = app.createButton('Submit');

  var submitHandler = app.createServerClickHandler('getResults');
  submitHandler.addCallbackElement(mygrid);
  mybutton.addClickHandler(submitHandler);

  var mypanel = app.createVerticalPanel();
  mypanel.add(mygrid);
  mypanel.add(mybutton);
  app.add(mypanel);

  return app; //UNCOMMENT WHEN DEPLOYING APP
}

//obtains data based on password entered by user and outputs their info
function getResults(eventInfo) {
  var app = UiApp.getActiveApplication();
  var password = eventInfo.parameter.text;

  var passwordCheckRange = pointsSheet.getRange("B34:C34").getValues();

  if (passwordCheckRange == null) {
    return app;
  }

  var name;
  var studentFound = false;
  for(var i = 0; i < passwordCheckRange.length; i++) {//obtains the name of the student
    if(passwordCheckRange[i][1] == password) {
      name = passwordCheckRange[i][0];
      studentFound = true;
      break;
    }
  }

  var studentRecordRange = pointsSheet.getRange("B3:CZ29").getValues();
  var headingRange = pointsSheet.getRange("B1:CZ2").getValues();

  if (studentRecordRange == null) {
    return app;
  }

  var studentRecord;
  for(var i = 0; i < studentRecordRange.length; i++) {
    if(studentRecordRange[i][0] == name)
      studentRecord = studentRecordRange[i]; //gets the row of the student (B? to AY?)
  }

  var stringRecord = "";
  for(var i = headingRange[1].length-1; i >= 7; i--) {
    if ((studentRecord[i] == "" || studentRecord[i] == "STOP" || studentRecord[i] == "ALLOW") && headingRange[0][i] != "")
      stringRecord += headingRange[1][i] + ": " + headingRange[0][i] + "XP" + "<br>";
  }

  var mygrid = app.createGrid(2, 1);
  mygrid.setWidget(0, 0, app.createLabel('INCOMPLETE CHALLENGES'));
  mygrid.setWidget(1, 0, app.createHTML(stringRecord));

  var mypanel = app.createVerticalPanel();
  mypanel.add(mygrid);
  app.add(mypanel);

  return app;
}

编辑:这个答案适用于现已弃用的 UIApp 服务,该服务已于 2014 年弃用。

我所做的是,

  1. 在同一个项目中,我创建另一个脚本文件并将其命名为 CSS.gs

  2. 我的 CSS.gs 将包含以下几行,

    var css={}; css.Labels = { fontFamily:'Verdana', fontSize:'12px', width: '100', marginTop: '5'}; css.Inputs = { fontFamily:'Verdana', fontSize:'12px', width: '150'}; css.TextArea = { fontFamily:'Verdana', fontSize:'12px', width: '900', height: '50'}; css.PutBorder = {borderStyle: 'solid'};

  3. 我将使用 .setStyleAttributes() 将这些样式应用到应用程序上

    例如::app.createLabel('密码:').setStyleAttributes(css.Inputs)

有setStyleAttribute和setStyleAttribute's'。请不要混淆。 GS 并不支持所有 css 属性。您可以找到支持的样式列表here.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Apps 脚本对话框中的 CSS 的相关文章

  • 有什么方法可以声明盒子的大小/部分边框吗?

    有什么方法可以在 CSS 中声明框的大小 部分边框吗 例如一个盒子350px只显示第一个边框底部60px 我认为这可能非常有用 例子 并不真地 但以优雅降级且不需要多余标记的方式实现这种效果非常容易 div width 350px heig
  • 在 Javascript 中访问表格单元格的内容

    我有一个嵌套在 HTML 表格单元格元素内的复选框 如何从 Javascript 访问内部复选框 我见过的所有示例都改变了内部 HTML 本身或视觉属性 这不是我感兴趣的 我尝试过 childNodes 数组 但显然它是空的 如果你不使用
  • 如何向 div 添加“闪耀”叠加层?

    如何添加如下图所示的漂亮叠加层 考虑以下 HTML 我将如何添加这样的覆盖层 我知道我可以在它上面使用渐变 并对角应用它 但我也可以弯曲它吗 div class photostrip div class overlay div img sr
  • 带条纹的自定义字体 src

    以此作为参考https stripe com docs elements reference stripe elements https stripe com docs elements reference stripe elements
  • 我不明白 flex-grow 属性吗?

    恐怕我一定不明白flex grow 如果你跳到下面的 JSFiddle 按照我的理解 big应该是另一个大小的三倍 flex item 正如你所看到的 事实并非如此 为什么 http jsfiddle net nrur6mmo http j
  • 表格底部的粘性滚动条

    我不确定 粘性 是否是这个术语 但是有没有办法使滚动条overflow auto保持可见 我有一个相当大的表格 我希望它可以水平滚动 但是 表格也相当高 因此当页面加载时 水平滚动条不在浏览器的视口内 因此很难判断表格是否可滚动 div s
  • QtWebEngine Quicknano 在嵌入式 Linux 中没有声音

    我已将 QtWebEngine 编译到我的 i MX6 嵌入式设备中 当我尝试使用 Quicknanobrowser 播放 YouTube 视频时 视频会播放 但没有声音 事实上 当我尝试播放音频文件时没有声音hpr dogphilosop
  • 在phonegap中的两个html页面之间传递数据

    我正在使用phonegap 来创建移动应用程序 我不想将所有内容都放在一个 html 页面中 因此我创建了其中的一些内容 每一个都附有 js 文件 如何在这些 html 页面之间发送数据 最便携和最简单的方法是使用本地存储 http doc
  • 喜欢和不喜欢用户对产品的评论

    用户架构 var UserSchema new Schema review likes type String review dislikes type String 审查架构 var ReviewSchema new Schema pro
  • 使绝对定位的div扩展父div高度

    正如你在下面的 CSS 中看到的 我想要child2将自己定位在之前child1 这是因为我目前正在开发的网站也应该在移动设备上运行 在移动设备上child2应该位于底部 因为它包含我想要在移动设备上的内容下方的导航 为什么不是 2 个母版
  • 预加载 javascript 和 css 文件

    我目前正在开发一个移动网站 该网站大量使用图像 CSS 和 JavaScript 例如 它使用未压缩的 150KB 的库 我为图像构建了一个预加载器 效果相当好 function loadImages images var sum 0 fo
  • Python 模块 BeautifulSoup 提取锚点 href

    我正在使用 BeautifulSoup 模块通过以下方式从 html 选择所有 href def extract links html soup BeautifulSoup html anchors soup findAll a print
  • 输入字段名称以数字开头

    我有一个输入字段 其名称是 MD5 字符串 例如
  • 将可点击的锚标记转换为 html 文档中的纯文本

    我正在尝试匹配 a 我的内容中的标签 并将其替换为链接文本 后跟打印版本的方括号中的 url 如果只有 href 则以下示例有效 如果 a 包含另一个属性 它匹配太多并且不会返回所需的结果 我怎样才能匹配 URL 和链接文本 就是这样 这是
  • HTML/CSS:页面左侧的导航栏

    我发现创建这样具有良好语义的布局很尴尬 左侧是大约 150 像素宽的列 其中包含导航元素 我想将网站这部分的 HTML 放在 HTML 代码的开头 然后有一个简单的方法来强制页面的其余部分不侵占左侧的区域 150 像素列 我考虑过一些选择
  • 电子邮件模板中的剪贴板功能

    我想在电子邮件模板中发送优惠券代码 一个小按钮 用于复制剪贴板上输入元素的内容 通过电子邮件模板 我的意思是我想发送一封电子邮件 其中包含优惠券代码 并且电子邮件模板中会有一个按钮 允许我将其复制到剪贴板 这可以做到吗 任何帮助将不胜感激
  • 如何更改数据表中标题单元格的内容?

    我正在使用数据表 http datatables net plugin 在我的可排序列上 我想用按钮替换列文本 但是这样做 oSettings aoColumns i nTh text 我可以检索相应列的文本 但是 oSettings ao
  • 使用 FormData 上传 JavaScript Blob

    我在将 javascript 创建的 blob 上传到我的服务器时遇到问题 基本思想是用户上传图像 在 javascript 中我对图像进行居中裁剪并在传输之前对其进行下采样 图像处理工作正常 但上传本身无法正常工作 这是执行从 canva
  • CSS3动画比例[重复]

    这个问题在这里已经有答案了 我正在尝试对 div 进行动画处理 以便在页面加载时它具有比例 0 0 并动画到比例 1 1 我遇到的问题是 一旦动画生效 div 就会再次缩放到 0 我想要的是 div 动画缩放 1 1 并保持这样 这是我的
  • 文件和目录条目 API 在 Chrome 中损坏?

    我正在尝试使用文件和目录条目 API 创建一个文件上传器工具 该工具允许我将文件和目录的任意组合放入浏览器窗口中 以供读取和上传 我完全意识到 可以通过使用文件输入元素来实现类似的功能webkitdirectory已启用 但我正在测试一个用

随机推荐

  • 我可以安装旧版本的 VS 扩展“Web Essentials 2012”吗?

    它删除了我一直依赖的 TypeScript 功能 现在我早上的工作效率看起来相当不错 我使用的是一台干净的机器 但它已经引入了新的 3 0 版本 该版本缺少我最受益的部分 您可以使用以下链接将版本恢复到 2 9 http vswebesse
  • 相当于iOS中的R

    在 android 中 我们有代表资源的 R 类 其中我们引用了所有资源 并且可以在代码中轻松访问它们 iOS 中有类似的吗 我有这个疑问 因为我希望能够定义具有不同值的多个文件 例如 ViewController1 的默认值 ViewCo
  • 将 PredicateBuilder 与 VB.NET 结合使用

    我已在单独的 C 项目中重新创建了 Predicatebuilder 类 并尝试在 VB NET 项目中使用它 但我不断收到以下错误 重载解析失败 因为没有可访问的 或 接受此数量的参数 当我像这样使用它时 Dim predicate Pr
  • XCeed PropertyGrid 自定义 IntegerUpDown

    我试图将不同的增量值分配给对象的不同字段 例如 考虑一个班级有谁int1 and int2 当我设置ShowAdvancedOptions为我的真实PropertyGrid 整数向上向下按钮放入文本框中没有问题 但我希望能够编辑数字单独增加
  • 如何在gganimate中使两帧之间的过渡时间更长

    我正在使用 gganimate 创建散点图的多个帧的动画 每个帧对应于一年 我想强调两个特定的连续帧之间的变化 以便这两个帧在其他帧中脱颖而出 但我不知道该怎么做 这是我的数据和代码的示例 structure list x 1 6 y 2
  • 如何终止 BufferedInputStream .read() 调用

    我正在编写一个程序来从服务器下载非常大的文件 2GB 我编写的程序能够恢复部分完成的下载 为了模拟糟糕的互联网连接 我在下载过程中将以太网线从路由器中拔出 不幸的是 这导致我的程序挂起以下调用 while bytesRead in read
  • 使用正则表达式验证 IP

    我需要验证格式为 000000000 到 255255255 的 IP 范围 3 组数字之间没有任何分隔符 最终 IP 所包含的三组中的每一组都应为 000 是的 用 0 填充 到 255 由于这是我的第一个 stackoverflow 条
  • 如何从远程主机的以太网地址获取其IP地址?

    我正在寻找一些 Linux 代码来从以太网地址查找 IP 地址 我想我必须做一些反向 A RP 欺骗 但我没有找到任何例子 http compnetworking about com od networkprotocolsip f conv
  • Android 谷歌地图在 Zoom 上调整标记大小

    我需要在一个较小的区域中显示大约 30 个标记 当用户更改缩放比例时 是否可以调整 Google Maps API V2 标记的大小 或者我应该使用较小的图像 提前致谢 如果你想在缩放时做一些事情 你可以创建一个扩展原始MapView的自定
  • 副SIM卡的MNC和MCC

    我知道使用TelephonyManager我们可以获得我们网络提供商的MNC和MCC TelephonyManager tel TelephonyManager getSystemService Context TELEPHONY SERV
  • 如何在Python中只打印一个新行? “\n”没有给我想要的效果

    我很清楚print n 但这在我的cmd中给出了这个结果 第一个输出 带有 原始 列表 继续到下一行 但使用 n似乎跳过了一行 我怎样才能确保print pretty函数转到下一行 而不是跳过一行 到目前为止 这是我的代码 board fo
  • 如何在 symfony yml 配置文件中从 docker 获取环境变量

    在 docker compose yml 中 mysql image mysql latest container name mysql environment MYSQL ROOT PASSWORD root MYSQL DATABASE
  • 计算两个给定日期之间的天数

    任何人都可以纠正我的脚本中的错误来计算两个日期之间的天数 日期已通过表格输入 变量信息如下 departon gt Array 0 gt 1 1 gt June 2 gt 2011 returnon gt Array 0 gt 31 1 g
  • CancellationTokenSource 的行为不符合预期

    在这种情况下 预期的是 如果用户通过按回车键取消任务 则另一个任务会被挂钩ContinueWith会运行 但事实并非如此 根据AggregateException尽管在中进行了显式处理 但仍会抛出ContinueWith这显然没有被执行 请
  • gvisTables 未在闪亮的应用程序中呈现

    我试图解决的实际问题 我正在创建一个包含数据表的仪表板 我希望用逗号将数字格式化为千位分隔符 但是当 DT 包与 Shiny 一起使用时 它 显然 存在问题 因为逗号分隔的格式会导致 DT renderDataTable 将数字读取为字符
  • 如何在 QLineEdit 中放置静态文本(后缀、前缀)?

    如何将静态文本放入QLine编辑在 Qt C 中 这样它就不能被删除 并且当我写入 QLineEdit 时 它不应该被分隔 没有常规的方法来放置前缀或后缀QLabel 占位符 只要你能做到QLineEdit是设置一个文本 当里面没有文本时将
  • moveRowAtIndexPath - 在部分之间移动单元格

    在我的 UITableView 中我有这样的关系 Department lt Employees 名称数组 我已经为每个模型设置了自定义对象 In my moveRowAtIndexPath 我可以移动到特定的部分 但是 如果我尝试在部分之
  • 如何设置量角器以使用 requirejs 导入 AMD 模块

    我正在尝试在量角器测试中导入 AMD 模块 ES6 模块在 ES5 中转译 我正在使用页面对象图案 页面对象是我要导入的模块 这是 ES6 代码 import HelloPage from HelloPage describe The de
  • 用引号括起来

    在 Eclipse JDT 中如何将多行选择转换为字符串 就像下面这样 From xxxx yyyy zzz To xxxx yyyy zzz 我尝试了以下模板 line selection cursor 但这样我只能将整个块包围起来 而不
  • Apps 脚本对话框中的 CSS

    我不是 Web 开发人员 过去只使用过一次 CSS 使用CSS的流程是怎样的 这可能吗 var pointsSheet SpreadsheetApp openById 1o8 f063j1jYZjFEnI P7uAztpnEAvQ6mc3Z