请告诉我如何在google app脚本(Google文档)中注入外部javascript文件。
提前致谢。
答案 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;彼此。