Google Apps Script如何无iframe独立启动Google File Picker对话框
方案1:快速隐藏滚动条
仅需修改两处代码即可解决:
- 在HTML文件的
<head>标签中添加全局样式,禁用页面滚动:
<style> body { overflow: hidden; margin: 0; padding: 8px; } </style>
- 调整GAS代码中模态框的尺寸,预留足够边距避免内容溢出:
把原来showPicker方法里的.setWidth(600).setHeight(425)修改为.setWidth(620).setHeight(450)即可。
方案2:直接弹出独立Picker窗口(无嵌套iframe)
这个方案可以完全去掉嵌套的模态框层级,直接唤起原生Google File Picker,体验更流畅:
- 修改HTML代码,移除页面上的选择文件按钮,页面加载完成自动触发Picker唤起:
把<body>标签内的内容替换为如下内容:
<body> <p id="result"></p> <script src="https://apis.google.com/js/api.js?onload=onApiLoad"></script> <script> window.onload = getOAuthToken; </script> </body>
- 在HTML的
createPicker方法中,Picker显示后自动关闭外层嵌套模态框:
找到picker.setVisible(true);这一行,在后面新增一行:
google.script.host.close();
修改后外层的iframe模态框会自动关闭,仅剩独立的原生Picker弹窗,完全不会出现滚动条问题。
注意:代码中的DEVELOPER_KEY需要替换为你自己在Google Cloud控制台生成的对应API密钥,避免后续出现权限异常。
内容的提问来源于stack exchange,提问作者Josh Bunzel
相关产品推荐
相关产品推荐

