我在Google Web App中添加了一个按钮,单击该按钮后,该文件会在云端硬盘中动态创建一个新文件并将其下载到本地计算机上。我正在寻找一种将关键字“允许没有用户激活的允许下载”添加到iframe的方法,以使其在弃用过路式下载后仍能继续工作。
当前,控制台会警告我添加“允许没有用户激活的下载”,因为它将在M74中被删除。背景详细信息:https://www.chromestatus.com/feature/5706745674465280
function doGet(e) {
return HtmlService.createTemplateFromFile('MainPage').evaluate();
}
上面的代码是我当前显示Web应用程序的方式,我找不到从那里添加沙盒关键字的任何方法。有什么办法可以将此关键字添加到Google App脚本的iframe中?
编辑: 这是我的html文件中的代码。
$('#downloadBtn').click( function() {
$('#downloadBtnLabel').html('Preparing file...');
$('#Spinner').css('display','block');
google.script.run.withSuccessHandler(downloadFile).getTempLink();
});
function downloadFile(createdSpreadsheetId) {
var dlink = document.createElement('a');
dlink.download = name;
dlink.href = 'https://docs.google.com/spreadsheets/d/' + createdSpreadsheetId + '/export?exportFormat=xlsx';
dlink.onclick = function(e) {
var that = this;
setTimeout(function() {
window.URL.revokeObjectURL(that.href);
}, 1500);
};
dlink.click();
dlink.remove();
$('#downloadBtnLabel').html('Download');
$('#Spinner').css('display','none');
}
上面的代码部分来自https://stackoverflow.com/a/35251739(特别感谢作者),该代码运行良好,仅在控制台中显示警告。