【问题标题】:Disable text selection, copy, cut and paste in Google forms through Google Apps Script通过 Google Apps 脚本在 Google 表单中禁用文本选择、复制、剪切和粘贴
【发布时间】:2021-03-18 01:54:08
【问题描述】:

我正在尝试禁用 Google 表单中的文本选择、复制、剪切和粘贴功能。默认情况下,这在 Google 表单中是不可能的,但您可以通过 Google Apps 脚本调用 JavaScript 函数来添加此功能。

我不熟悉 JavaScript。我打开应用程序脚本编辑器并找到一个文件Code.gs。我浏览了互联网,发现了一个 JavaScript 函数来禁用我粘贴在 Code.gs 文件中的选择:

    function disableSelect(event) {
       event.preventDefault();
    }

但是当我运行文件时,它提示错误:Typerror: Cannot read property 'preventdefault' of undefined。我做错了什么?如何实现其余功能?

【问题讨论】:

  • 我无法理解Cannot read property 'preventdefault' of undefined的错误与您问题中的脚本之间的关系。您能否提供复制当前问题的脚本和详细流程?
  • 当您说要禁用复制等时-您是指将整个表单复制为驱动器上的文件还是表单的内容(问题)?在这两种情况下,过程都会比谷歌搜索一行代码更复杂。请注意,event.preventDefault(): 是一种 Javascript 方法,只能在客户端工作(并且所做的事情与您的期望完全不同)。虽然 Apps Script 基于 Javascript,但您不能直接使用其中的所有 Javascript 方法,因为它运行在服务器端。如果您有兴趣学习它 - 请参阅here

标签: javascript google-apps-script google-forms


【解决方案1】:

您可以使用此 jQuery 停止剪切、复制和粘贴任何 html 文档。如有必要,在绑定函数中删除您想要的任何选项。

添加此代码段,

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.0/jquery.min.js"></script>

**以上代码通常添加在我们文档的head标签中

<script>
      $(document).ready(function() {
          $('body').bind('cut copy paste', function(e) {
              e.preventDefault();
            });
        });
</script>

**以上代码可以添加到我们文档的body标签或单独的js文件中。

【讨论】:

    猜你喜欢
    • 2018-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-15
    • 1970-01-01
    • 2018-10-22
    • 2023-02-08
    相关资源
    最近更新 更多