Я пытаюсь научиться Apps Script. На странице я хочу иметь возможность выбрать переключатель для выбора языка, а затем он будет воспроизводить аудиофайл выбранного языка - файлы находятся в папках дисков по языку. На каждой странице около 150 фраз на 10 языках. Я получил его для работы с google.script.run, но он не работает, потому что он запускает скрипт слишком много раз. Поэтому я подумал, что было бы неплохо передать их как массив объектов через HtmlService.createTemplateFromFile.
Я использовал это в файле .gs - думаю, это сработало.
function doGet(){
var tmp = HtmlService.createTemplateFromFile('index')
tmp.audioUrls = getDownloadUrls()
return tmp.evaluate()
}
Массив audioUrls выглядит следующим образом [{name: "blah", language: "blah", url: "https ..."} ....]
Я использую следующий скрипт в моем файле html, чтобы назначить URL-адрес в качестве аудио sr c:
function loadAudio(){
var a = document.getElementsByTagName('audio');
for (var i = 0, l = audios.length; i<l; i++){
var myId = a[i].id;
var qText = a[i].title;
var lang = language = document.querySelector('input[name="language"]:checked').value;
var result = audioUrls.find(file => file.name === qText +".m4a" && file.language === lang);
document.getElementById(myId).setAttribute('src', result.url);
}
}
Полученная ошибка говорит о том, что audioUrls.find не определен - это массив, который я включил в шаблон HtmlService. Может ли кто-нибудь указать мне правильное направление, чтобы выяснить, как получить доступ к объектам в этом массиве? Очень признателен! Поскольку я учусь, я уверен, что есть много неправильных вещей, но я могу понять это на этом уровне. Чем проще, тем лучше. Спасибо.