我有33頁的Google文檔。 我需要清除文檔內容並將其替換爲其他內容。DocumentApp:需要很長時間才能清除當前文檔(60秒以上)?
我使用的代碼是:
DocumentApp.getActiveDocument().getBody().clear();
當我運行這行代碼,它需要幾秒鐘才能完成的代碼。到現在爲止還挺好。
但是,文檔屏幕凍結,並且刷新屏幕需要60多秒。大約30秒後,Chrome瀏覽器要求我等待或終止瀏覽器選項卡(並選擇「等待」)。
Chrome任務管理器顯示剩餘312 MB內存正在使用中。當運行上述命令時,CPU跳到107%並停留在那裏,內存增長到970 MB。使用Chrome v56,適用於Safari的相同類型的行爲。
當我按下(Google文檔)撤消按鈕時,只需要一秒鐘左右即可恢復所有文字。
什麼是推薦的方法來清空當前文檔?
更新:它似乎與格式有關。該文檔是從Word文檔複製粘貼的,包括一些格式(字體,顏色,粗體)。
- 試驗1:粘貼爲文本僅在谷歌文獻(編輯>粘貼無格式)。運行clear()命令需要大約一秒鐘的時間。
- 測試2:定期複製粘貼(原始測試從這篇文章),它保持格式。運行clear()命令需要60+秒。
- 測試3:定期複製粘貼,然後使用
DocumentApp.getActiveDocument().getBody().setAttributes
將粗體/斜體/字體/大小/顏色設置爲默認值。這種方式看起來類似於純文本版本。花費約2秒鐘。然後運行clear()命令,該命令仍然需要60+秒。 - 測試4:定期複製粘貼。然後Cmd-A和Delete,需要5-6秒。
也許'clear'方法,通過元素的作品元素,反過來摧毀每一個,瀏覽器正試圖在這個過程中重新渲染它...會發生什麼,如果你清楚,而無需打開該文檔中你的瀏覽器,使用'DocumentApp.getDocumentById( 'YOUR_ID')getBody()清();'? – FTP