Google App Maker,如何创建复制到剪贴板功能

时间:2018-11-06 07:07:57

标签: javascript google-app-maker

我正在尝试使用运行以下脚本的按钮将文本从文本区域复制到剪贴板。 我确实收到复制文本的警报,但是当我尝试将其粘贴到某处时,该值未复制。

function copmycomment() {
/*get the text area*/
  var copyCo = app.pages.NewPage.children.Panel2.children.tao;

  /*select the text area*/

  copyCo.focus();

    /*copy the value*/

    document.execCommand("copy");

 alert("copied the text:" + copyCo.value);
}

1 个答案:

答案 0 :(得分:1)

在Google App Maker中,TextArea小部件是一个由两个HTML元素组成的对象; 标签输入。执行此行时:

var copyCo = app.pages.NewPage.children.Panel2.children.tao;

您实际上是在选择appmaker对象,而不是包含文本的HTML元素;因此,当执行以下代码行时:

copyCo.focus();

您没有集中要复制的文本,因此document.execCommand("copy");不起作用。

为了实现您所需要的,请按照以下步骤操作:

首先,在测试页中,插入 TextArea 小部件,然后在其下方插入 Button 小部件。
它应该类似于以下内容:
enter image description here

然后,将以下代码添加到按钮的 onClick 事件处理程序中:

var textField = widget.parent.descendants.TextArea1.getElement().children[1];
textField.select();
document.execCommand('copy');
window.getSelection().removeAllRanges();

请注意:
var textField = widget.parent.descendants.TextArea1.getElement().children[1];行中,widget.parent.descendants.TextArea1部分代表TextArea小部件的路径,因此,根据您的操作方式,它可能与您有所不同。

应该就这些了。预览您的应用程序,然后将文本复制到剪贴板。我希望这会有所帮助!