Я создал веб-приложение с помощью скрипта Google Apps. Пользователь может искать ключевое слово в столбце G нескольких файлов Google Sheets, содержащихся в папке. Функция возвращает значение столбца G (длинный фрагмент текста) и столбца D (содержащего соответствующий URL-адрес). Поскольку я добавил в папку больше файлов, веб-приложение загружается как пустая страница, поэтому функция поиска недоступна.Когда у меня было около 20 файлов (1 ГБ, всего 100 000 rows) в папке, иногда она загружалась как пустая страница только с синим баннером. После 2–3 обновлений страница загружалась правильно, и все работало как обычно.
Теперь, когда имеется около 70 файлов (3 ГБ, всего 300 000 строк), она всегда загружается как пустая страница. с синим баннером независимо от того, сколько раз я обновляюсь, в /exec, в /dev и в разных браузерах. В журнале выполнения функция doGet каждый раз отображается как «Завершена». Когда я проверяю страницу в Chrome, моего Homepage.html нигде нет. Как добиться правильной загрузки страницы?
Со временем я буду добавлять в папку больше файлов. Ниже приведены мои файлы .html, .gs, образец набора данных, журнал выполнения и снимок экрана страницы. Любые отзывы о самом коде очень приветствуются, я не программист и собрал их из фрагментов кода на SO и других сайтах.
Homepage.html
XXX search
// prevent the default behaviour of forms; using onFormSubmit() instead
function preventFormSubmit() {
var forms = document.querySelectorAll('form');
for (var f = 0, numForms = forms.length; f < numForms; f++) {
forms[f].addEventListener('submit', function (event) {
event.preventDefault();
});
}
}
// send form contents to processForm() in Code.gs
function onFormSubmit(formObject) {
google.script.run.withSuccessHandler(showCalculationResult).processForm(formObject);
}
// callback for processForm() to show results to user
function showCalculationResult(calculationResult) {
var calculationResultField = document.getElementById('calculationResult');
calculationResultField.innerHTML = 'Result: [/b]' + calculationResult;
}
// onclick function for the Calculate button
function showWaitingMessage() {
var calculationResultField = document.getElementById('calculationResult');
calculationResultField.innerHTML = '[i]Searching...[/i]';
}
// onclick function for the Clear button
function clearCalculationResult() {
var calculationResultField = document.getElementById('calculationResult');
calculationResultField.innerHTML = '';
}
window.addEventListener('load', preventFormSubmit);
This database was last updated in November 2024 by the Webmaster...
Source: [url=XXXX]XXXX[/url]
Подробнее здесь: [url]https://stackoverflow.com/questions/79359482/doget-complete-but-html-not-loading-google-apps-script[/url]
Я создал веб-приложение с помощью скрипта Google Apps. Пользователь может искать ключевое слово в столбце G нескольких файлов Google Sheets, содержащихся в папке. Функция возвращает значение столбца G (длинный фрагмент текста) и столбца D (содержащего соответствующий URL-адрес). Поскольку я добавил в папку больше файлов, веб-приложение загружается как пустая страница, поэтому функция поиска недоступна.[b]Когда у меня было около 20 файлов (1 ГБ, всего 100 000 rows) в папке, иногда она загружалась как пустая страница только с синим баннером. После 2–3 обновлений страница загружалась правильно, и все работало как обычно. Теперь, когда имеется около 70 файлов (3 ГБ, всего 300 000 строк), она всегда загружается как пустая страница. с синим баннером независимо от того, сколько раз я обновляюсь, в /exec, в /dev и в разных браузерах. В журнале выполнения функция doGet каждый раз отображается как «Завершена». Когда я проверяю страницу в Chrome, моего Homepage.html нигде нет. Как добиться правильной загрузки страницы? Со временем я буду добавлять в папку больше файлов. Ниже приведены мои файлы .html, .gs, образец набора данных, журнал выполнения и снимок экрана страницы. Любые отзывы о самом коде очень приветствуются, я не программист и собрал их из фрагментов кода на SO и других сайтах. Homepage.html [code]
XXX search
// prevent the default behaviour of forms; using onFormSubmit() instead function preventFormSubmit() { var forms = document.querySelectorAll('form'); for (var f = 0, numForms = forms.length; f < numForms; f++) { forms[f].addEventListener('submit', function (event) { event.preventDefault(); }); } }
// send form contents to processForm() in Code.gs function onFormSubmit(formObject) { google.script.run.withSuccessHandler(showCalculationResult).processForm(formObject); }
// callback for processForm() to show results to user function showCalculationResult(calculationResult) { var calculationResultField = document.getElementById('calculationResult'); calculationResultField.innerHTML = 'Result: [/b]' + calculationResult; }
// onclick function for the Calculate button function showWaitingMessage() { var calculationResultField = document.getElementById('calculationResult'); calculationResultField.innerHTML = '[i]Searching...[/i]'; }
// onclick function for the Clear button function clearCalculationResult() { var calculationResultField = document.getElementById('calculationResult'); calculationResultField.innerHTML = ''; }