首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用Google的“`Apps”在Sidebar中创建一个复制到剪贴板按钮

使用Google的“`Apps”在Sidebar中创建一个复制到剪贴板按钮
EN

Stack Overflow用户
提问于 2020-12-30 16:13:55
回答 1查看 3.7K关注 0票数 2

有没有办法使用Google的Apps Script创建边栏中的复制剪贴板按钮

我的当前代码如下所示,但“复制”按钮无法工作:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function createCalendarEvent() {
  
    var html = HtmlService.createHtmlOutput()
      .setTitle("Πληροφορίες για Ημερολόγιο")
      .setContent('<div><p id="item-to-copy">Test</p>' + '\n\n<button onclick='+"copyToClipboard()"+'>Copy</button></div>')
      var ui = SpreadsheetApp.getUi(); // Or DocumentApp or SlidesApp or FormApp.
      ui.showSidebar(html);
}

function copyToClipboard() {
    const str = document.getElementById('item-to-copy').innerText;
    const el = document.createElement('textarea');
    el.value = str;
    el.setAttribute('readonly', '');
    el.style.position = 'absolute';
    el.style.left = '-9999px';
    document.body.appendChild(el);
    el.select();
    document.execCommand('copy');

document.body.removeChild(el);}

第二个函数是javascipt。

你能帮帮我吗?

编辑当我在浏览器上单击F12时,会得到以下错误:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Uncaught ReferenceError: copyToClipboard is not defined
    at HTMLButtonElement.onclick (userCodeAppPanel:1)
onclick @ userCodeAppPanel:1
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-30 17:11:38

修改要点:

  • The second function is javascipt.中,如果将copyToClipboard()放到脚本编辑器的HTML中,在这种情况下,脚本中的html不包含该函数。这样,就会发生这样的错误。
  • 或者,如果将copyToClipboard()放到脚本编辑器的Google脚本文件中,则copyToClipboard()不能从HTML运行。这样,就会发生这样的错误。

为了运行copyToClipboard(),我建议进行以下修改。

修改脚本:

HTML和Javascript方面:

请将以下脚本复制并粘贴到Google脚本项目中脚本编辑器的HTML文件中。文件名为index.html

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<div>
  <p id="item-to-copy">Test</p>
  <button onclick="copyToClipboard()">Copy</button>
</div>
<script>
function copyToClipboard() {
  const str = document.getElementById('item-to-copy').innerText;
  const el = document.createElement('textarea');
  el.value = str;
  el.setAttribute('readonly', '');
  el.style.position = 'absolute';
  el.style.left = '-9999px';
  document.body.appendChild(el);
  el.select();
  document.execCommand('copy');
  document.body.removeChild(el);
}
</script>

Google脚本端:

请将以下脚本复制并粘贴到Google脚本项目中脚本编辑器的Google脚本文件中。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function createCalendarEvent() {
  var html = HtmlService.createHtmlOutputFromFile("index").setTitle("Πληροφορίες για Ημερολόγιο")
  var ui = SpreadsheetApp.getUi(); // Or DocumentApp or SlidesApp or FormApp.
  ui.showSidebar(html);
}
  • 运行createCalendarEvent()时,脚本将从index.html文件加载HTML & Javascript。

注意:

  • 如果要使用setContent,还可以使用以下脚本。
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
- HTML&Javascript side:

HtmlService.createHtmlOutputFromFile("index").getContent();函数createCalendarEvent() { var javascript = htmlData = <div><p id="item-to-copy">Test</p><button onclick="copyToClipboard()">Copy</button></div>${javascript};var html = HtmlService.createHtmlOutput() .setTitle(“ΠληροφορίεςγιαΗμερολόγιο”) .setContent(htmlData) var ui = SpreadsheetApp.getUi();//或DocumentApp或SlidesApp或FormApp。ui.showSidebar(html);}

参考文献:

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65515143

复制
相关文章
安装Win7和Ubuntu12.04双系统后,意外删除Ubuntu12.04引导文件,出现error:unknown filesystem;grub rescue>错误的解决方案
    很久之前在Win7基础上安装了Ubuntu12.04系统,采用硬盘安装的方法。分了1个10G的硬盘分区F盘用于存放Ubuntu12.04的引导文件,其实完全可以制作一个Ubuntu12.04的U盘启动盘。我的分区一共250G空间,格局是这样的:C盘存放Win7系统文件,包括程序等,共40G;D盘和存放资料,80G;E盘70G,存放资料;F盘10G,用于存放Ubuntu12.04的引导文件;前面的C~F分区全是标准的NTFS格式的;另外一个50G格式化后将原有的NTFS格式变成FAT32格式,用于安装Ubuntu12.04。
ccf19881030
2019/04/24
2.8K0
已上架的App在AppStore上无法搜索到的问题
iOS Magician
2023/10/11
2420
已上架的App在AppStore上无法搜索到的问题
已上架的App在AppStore上无法搜索到的问题
我们都知道上架如果APP证书过期也会导致失败,这边我们就推荐一个好用的工具-appuploder。
爱学iOS的小麦子
2023/07/06
5760
Win7下unetbootin-windows-585工具制作Ubuntu12.04 U盘启动盘
等待至如上图所示的进度时,点击【现在重启】按钮,重启电脑,记住不要移除U盘,事先将BIOS设置为USB启动。
ccf19881030
2019/04/23
1.5K0
Win7下unetbootin-windows-585工具制作Ubuntu12.04 U盘启动盘
java应用程序镜像制作及在kubernetes上发布
应用程序镜像制作 准备好应用程序 [root@VM_8_24_centos testapp]# ls Dockerfile testapp.tar.gz 编写Dockerfile [root@VM_8_24_centos testapp]# cat Dockerfile # 基础镜像 FROM core-harbor.minminmsn.com/public/jre-centos:1.8.0_212 # 维护信息 MAINTAINER minyt <minyongtao@minminmsn.com>
三杯水Plus
2019/05/29
7340
Ubuntu12.04 LAMP 基本配置
ubuntu 12.04下LAMP安装配置 一. LAMP 的安装 1.sudo apt-get install apache2 mysql-server mysql-client php5 php5-gd php5-mysql
全栈程序员站长
2021/08/23
5460
解决VMware 7在Windows 7上无法上网的问题
Windows 7上的VPC不能安装64位的操作系统和Linux等,就安装了个VMware 7来解决我的这个问题,另一个问题出来了虚拟机里头的系统无法上网,通过Google找到一些方法,写的都不详细,这里记录下最完整的配置过程: 首先打开Windows 7的网络和共享中心,然后点左边的更改适配器设置,你会看到两个由VMware创建的虚拟连接,找到VMware Network Adapter VMnet1,记住它的连接名称。 然后右击你当前使用中的连接(比如我使用的是ADSL连接)选择属性,把全部的钩都打上,
张善友
2018/01/19
2.7K0
解决VMware 7在Windows 7上无法上网的问题
laravel访问路由在nginx服务器上无法处理
用过laravel的童鞋们都知道,访问路径一般都是/admin/index这样的形式,可是在nginx服务器上运行代码时却会出现无法找到页面的情况,这是因为nginx没有配置好。 在nginx的配置文件中找到以下代码: location / { # First attempt to serve request as file, then # as directory, then fall back to displaying a 404.
NateHuang
2018/03/14
5.2K1
安卓设备无法在Mac电脑上识别,怎么办?
Android File Transfer是一款强大的安卓设备传输工具,操作简单,使用方便,只需要在连接手机前运行 Android File Transfer ,再连接手机,那么 Mac 就会识别出 Android 设备,并可以对里面的文件进行复制、粘贴、删除等管理!
啾咪啾咪
2022/08/21
3.3K0
无法在驱动器0的分区1上安装windows
一、原因分析 win8/win10系统均添加快速启动功能,预装的win8/win10电脑默认都是UEFI引导和GPT硬盘,传统的引导方式为Legacy引导和MBR硬盘,UEFI必须跟GPT对应,同理Legacy必须跟MBR对应。如果BIOS开启UEFI,而硬盘分区表格式为MBR则无法安装;BIOS关闭UEFI而硬盘分区表格式为GPT也是无法安装Windows。
Dabenshi
2023/05/25
3K0
Mac 上制作 SSL 证书
第二步:输入密码。这里会输入两次,填写一样即可,随意填写一个,下一步就会删除这个密码。
编程三昧
2022/01/23
1.6K0
Mac 上制作 SSL 证书
网站制作教程:PageAdmin建站系统在win2012上的安装
公司的网站是基于pageAdmin网站系统搭建的,最近服务器要升级,以前的服务器是win2008,新买的服务器是win2012,但是代码迁移过去后,iis配置好了一直出现http403错误,按官方教程是重新装了.Net Framework4.6后还是不行,最后检测iis发现尽然没有开启asp.net4.0,下面列出步骤:
用户4831957
2019/09/09
9210
Ubuntu12.04安装QQ for Linux
最近把自己的笔记本安装了一个Ubuntu,现在的笔记本有2个系统。一个是Window XP,一个是Ubuntu 12.04。其实就是安装的双系统,因为自己工作是做.net开发,所以有时还需要使用vs2010,所以就保留来xp系统。通过这几天使用ubuntu来看,系统还是非常稳定,可能是自己的笔记本配置都比较老,不是什么新产品,所以一安装好,驱动都带来,不用我去找驱动程序,这一点也加大我学习linux的兴趣和自信心。 使用Linux,作为一个普通用户来说,很多软件当然是有linux版本都想着装一个。比如说Q
八哥
2018/01/18
2K0
Ubuntu12.04安装QQ for Linux
ubuntu12.04 安装rabbitvcs[通俗易懂]
习惯了在windows下的Tortoisesvn,所以转到ubuntu下面很不习惯命令行的svn。而且,个人感觉如果需要 show log 和diff的话 都很不爽。
全栈程序员站长
2022/09/09
6050
【Android初级】如何让APP无法在指定的系统版本上运行
随着市面上越来越多三方APP的出现,某些手机厂商也开始对这些APP进行了安装限制或者运行限制,或者三方APP自身的版本过低,无法被特定的系统版本所支持。
netkiller old
2021/02/12
2.8K0
【Android初级】如何让APP无法在指定的系统版本上运行
在Proxmox VE上制作Rocky Linux 8.3 RC1系统镜像模板
问题关键字:在Proxmox VE上制作Rocky Linux 8.3 RC1系统镜像模板
欧巴云
2021/05/05
1.1K0
在Proxmox VE上制作Rocky Linux 8.3 RC1系统镜像模板
NPAPI 插件【Silverlight】无法在 Chrome 42 版及更高版本上正常运行
您可以利用插件在浏览器中添加一些额外的功能。例如,您可以观看某些类型的视频或者玩网页版游戏。
杨强生
2019/03/05
2.7K0
python安装的库在pycharm不显示_pycharm上无法安装各种库
在使用pycharm安装库总是出现安装不成功的提示 ‘Non-zero exit code (2)’
全栈程序员站长
2022/09/28
2.7K0
python安装的库在pycharm不显示_pycharm上无法安装各种库
在Mac上,解决由于环境变量错误,导致在终端上无法使用基本命令
此时此刻在当前终端窗口,就可以开心的用linux命令了,千万不要关了当前窗口(救急方案)
新人小试
2020/03/30
2.3K0
点击加载更多

相似问题

无法在64位Mac上编译ARToolkit

10

如何使用ARToolkit在Unity中制作虚拟按钮?

117

在ARToolkit上编译simpleVRML项目

12

无法安装artoolkit 6

16

ubuntu上的ARToolKit

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文