首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DocumentApp:清除当前文档需要很长时间(60+秒)?

DocumentApp:清除当前文档需要很长时间(60+秒)?
EN

Stack Overflow用户
提问于 2016-12-25 17:55:31
回答 1查看 97关注 0票数 0

我有33页的谷歌文档。我需要清除文档内容,并将其替换为其他内容。

我使用的代码是:

代码语言:javascript
复制
DocumentApp.getActiveDocument().getBody().clear();

当我运行这一行代码时,代码需要几秒钟才能完成。到目前一切尚好。

但是,文档屏幕会冻结,需要超过60秒才能刷新屏幕。大约30秒后,Chrome浏览器要求我等待或关闭浏览器选项卡(我选择等待)。

Chrome任务管理器显示在rest中有312 MB内存在使用。当运行上述命令时,CPU跳转到107%并停留在那里,内存将增长到970 MB。使用Chrome v56,与Safari相同类型的行为。

当我按下“(Google文档)撤消”按钮时,只需大约一秒钟就可以将所有文本返回。

建议的清空当前文档的方法是什么?

update:它似乎与格式化有关。文档是从Word文档中复制粘贴的,包括一些格式(字体、颜色、粗体).

  • 测试1:仅在Google中粘贴为文本(编辑>粘贴,没有格式化)。运行clear()命令大约需要一秒钟。
  • test 2:常规复制粘贴(来自本文的原始测试),它保留格式设置。运行clear()命令需要60+秒。
  • 测试3:常规复制粘贴,然后使用DocumentApp.getActiveDocument().getBody().setAttributes将粗体/斜体/字体/大小/颜色设置为默认值。这样看起来就像纯文本版本。大约需要2秒。然后运行clear()命令,它仍然需要60+秒。
  • 测试4:常规复制粘贴.然后Cmd-A和Delete,这需要5-6秒.
EN

回答 1

Stack Overflow用户

发布于 2016-12-27 19:09:15

试着用另一种方法。

代码语言:javascript
复制
var myDoc = DocumentApp.getActiveDocument().getBody();
myDoc.editAsText().deleteText(1, myDoc.getText().length-1);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41323329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档