1

I've added a button into my Google Web App that when clicked, dynamically creates a new file in my Drive and downloads it to my local machine. I'm looking for a way to add the key word 'allow-downloads-without-user-activation' to the iframe so that it will continue to work after drive-by downloads are deprecated.

Currently, the console is giving me a warning to add 'allow-downloads-without-user-activation' since it will be removed in M74. Background details: https://www.chromestatus.com/feature/5706745674465280

function doGet(e) {
        return HtmlService.createTemplateFromFile('MainPage').evaluate();
}

The code above is how I currently display the web app, and I could not find any way to add sandbox keyword from there. Is there any way to add this keyword to the iframe in Google App Script?

Edit: This is the code in my html file.

$('#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');
}

Parts of the above code is from https://stackoverflow.com/a/35251739 (special thanks to the author), which is working perfectly, just with the warnings in console.

Aung49
  • 157
  • 8

0 Answers0