使用Apps脚本时,不允许使用iframe或AJAX调用。所以,我希望重构我的脚本。基本上,它应该只是一个文件选择器。
function doGet(e)
{
return HtmlService.createHtmlOutputFromFile('index');
}
function browse(e)
{
var use_root_folder = typeof(e.parameter.folder_id) == "undefined";
var base_folder;
if(use_root_folder)
{
base_folder = DriveApp.getRootFolder();
}
else
{
base_folder = DriveApp.getFolderById(e.parameter.folder_id);
}
//more code...
}
在应用程序脚本的示例代码中,看起来我应该创建一个html文件并将其放入其中...
<script>
google.script.run.browse();
</script>
除了“e”参数只能从实际脚本中获取而不是html文件?我如何将HTML文件中的查询字符串参数传递回脚本?
答案 0 :(得分:2)
使用google.script.run时,您可以直接传递变量。因此,您只需使用所需文件夹的ID调用browser()即可。
在脚本文件中:
function browse(folderID)
{
var use_root_folder = typeof(folderID) == "undefined";
var base_folder;
if(use_root_folder)
{
base_folder = DriveApp.getRootFolder();
}
else
{
base_folder = DriveApp.getFolderById(folderID);
}
//more code...
}
在HTML文件中:
<script>
google.script.run.browse(selectedFolderId);
</script>