在谷歌应用脚​​本中注入外部JavaScript文件(Google Docs)

时间:2014-11-04 09:18:18

标签: google-apps-script google-docs google-docs-api

请告诉我如何在google app脚本(Google文档)中注入外部javascript文件。

提前致谢。

2 个答案:

答案 0 :(得分:7)

根据Inject的含义,一个可能的答案是使用标准的javascript eval()函数和UrlFetchApp:

eval(UrlFetchApp.fetch('http://path.to/external/javascript.js').getContentText());

如果要在已发布脚本的HTML输出中包含JS文件,只需在HTML中包含javascript using标记即可。

<script src="http://path.to/external/javascript.js"></script>

评估文档:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval UrlfetchApp文档:https://developers.google.com/apps-script/reference/url-fetch/url-fetch-app

答案 1 :(得分:1)

你是否期望你想要的Javascript文件&#34;注入&#34;定期换?如果没有,最简单的方法是在项目中创建一个新的脚本文件,并添加要注入的文件的内容。例如,让我们假设您只使用一个函数从Code.gs开始,主要基于Spreadsheets项目模板:

/**
 * Adds a custom menu to the active spreadsheet
 */
function onOpen() {
  var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  var entries = [{
    name : "Tell a Joke",
    functionName : "beFunny"
  }];
  spreadsheet.addMenu("Script Center Menu", entries);
};

你看我正在打电话&#34; beFunny()&#34;这不在此文件中。相反,它位于新文件ExtraStuff.gs

function beFunny() {
  Browser.msgBox('Waka waka waka');
}

运行此命令,Tell a Joke菜单项有效,即使Code.gs中没有任何内容引用另一个脚本文件的存在。相反,在项目中的所有文件中声明的函数和变量都是&#34;在范围&#34;彼此。