javascript - Google Apps 脚本 - 打字机效果

标签 javascript google-apps-script google-docs

我正在尝试在我的 Google 文档的 Google Apps 脚本中添加某种“打字机效果”。我想让它输入文本,在本例中是维基百科文章,就像用户正在输入一样,所以添加延迟。不幸的是,函数appendText(),即使您使用Utilities.sleep,它仍然只是在脚本完成后立即输入整篇文章。我将使用什么函数来完成这样的事情?

function onOpen(e) {
    DocumentApp.getUi().createAddonMenu()
            .addItem('Start', 'myFunction')
            .addToUi();
}   

function onInstall(e) {
    onOpen(e);
}

function myFunction() {
    var body = DocumentApp.getActiveDocument().getBody();
    var text = body.editAsText();
    var response = UrlFetchApp.fetch('https://en.wikipedia.org/w/api.php?&format=json&action=query&generator=random&grnnamespace=0&prop=title&grnlimit=1');
    var json = JSON.parse(response);
    for (key in json.query.pages) {
            var title = json.query.pages[key].title;
    }
    var url = 'https://en.wikipedia.org/w/api.php?format=json&action=query&prop=extracts&explaintext=&titles=' + title
    var response2 = UrlFetchApp.fetch(url);
    var json2 = JSON.parse(response2);
    for (key in json2.query.pages) {
            var content = json2.query.pages[key].extract;
    }
    //content = content.replace(/==.*==/, '====')
    var all = title + '\n' + content;
    text.appendText("Start\n");
    Utilities.sleep(1000);
    text.appendText(content);
}

最佳答案

您需要刷新文档。 DocumentApp API 没有刷新方法(如 SpreadsheetApp),但您仍然可以使用 saveAndClose 刷新它,然后重新打开文档(例如使用 document=DocumentApp.openById("myid")

saveAndClose 会在脚本完成时自动调用,但不会在您所做的每次更改后自动调用,因为 Google 会批量处理这些更改以提高性能。

https://developers.google.com/apps-script/reference/document/document

关于javascript - Google Apps 脚本 - 打字机效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44188151/

相关文章:

javascript - 在 MongoDB 和 Mongoose 中将 JSON 文档替换为另一个,而无需事先了解 JSON 文档的属性

git - 如何将 gdoc 的修订历史导出到 git?

javascript - 关闭侧边栏然后处理表单提交

json - 在 Google 电子表格中导入带有身份验证的 JSON(营销事件监视器)

pdf - 将 PDF 转换为 Google 文档

google-sheets - 如果当前单元格存在于某个范围内,则在 Google Docs 中应用条件格式

javascript - 在 Ajax 调用上重复数据

javascript - Yeoman/Grunt 和 Grunticon 工作流程

php - 如何使用 CSS 更改网站页面的不同背景图像?

javascript - 将变量从 HtmlService 发送到 Google Apps 脚本函数