Я создал простое веб-приложение Google Apps Script с несколькими страницами (index.html, about.html). Страница index.html загружается нормально после развертывания веб-приложения. Однако когда я нажимаю ссылку «О нас», страница становится пустой, хотя URL-адрес обновляется правильно.
Код.gs
function doGet(e) {
Logger.log('doGet function called');
var params = e && e.parameter || {};
var page = params.page || 'index';
Logger.log('Page: ' + page);
var html = HtmlService.createHtmlOutputFromFile(page);
Logger.log('HTML output: ' + html.getContent());
if (page === 'about') {
Logger.log('About page loaded');
}
return html;
}
index.html
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<h1>Home Page</h1>
<ul>
<li><a href = "?page=about" target = "_top">About Us</a></li>
<li><a href = "?page=new-reg">New Registration</a></li>
<li><a href = "?page=investor">Investor Login</a></li>
</ul>
</body>
</html>
about.html
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<h1>About Us</h1>
<p>This is the about page.</p>
<ul>
<li><a href = "?page=index">Home</a></li>
<li><a href = "?page=new-reg">New Registration</a></li>
<li><a href = "?page=investor">Investor Login</a></li>
</ul>
</body>
</html>
Проблема:
Что я пробовал:
Дополнительная информация:
Если я вручную введу строку запроса в исходный URL-адрес развертывания, это сработает: https://script.google.com/macros/s/AKfycbzitC6_N2hdCkcRQldH_7guyJ6p-FczxSBt5-OR-jdT/dev?page=about
Почему страница гаснет при нажатии на ссылку и как это исправить?
🤔 А знаете ли вы, что...
С JavaScript можно создавать расширения для различных платформ, таких как Adobe Acrobat и Microsoft Office.
Why does the page go blank when clicking the link
, из Clicking the "About Us" link updates the URL to something like this: https://n-7zf3tmc56mjeqj3iwdea76zqxnq3d3a232oifby-0lu-script.googleusercontent.com/userCodeAppPanel?page=about The page goes blank instead of loading the about.html content.
, в случае href = "?page=about"
URL-адрес становится перенаправленным URL-адресом. В данном случае я думаю, что необходим исходный URL. Из https://script.google.com/macros/s/AKfycbzitC6_N2hdCkcRQldH_7guyJ6p-FczxSBt5-OR-jdT/dev?page=about
, как насчет использования https://script.google.com/macros/s/###/dev
вместо https://n-7zf3tmc56mjeqj3iwde,,,
?Когда это будет отражено в сценарии показа, как насчет следующей модификации?
code.gs
function doGet(e) {
Logger.log('doGet function called');
var params = e && e.parameter || {};
var page = params.page || 'index';
Logger.log('Page: ' + page);
var html = HtmlService.createTemplateFromFile(page);
html.url = ScriptApp.getService().getUrl();
var evaluatedHtml = html.evaluate();
Logger.log('HTML output: ' + evaluatedHtml.getContent());
if (page === 'about') {
Logger.log('About page loaded');
}
return evaluatedHtml;
}
index.html
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<h1>Home Page</h1>
<ul>
<li><a href = "<?!= url ?>?page=about" target = "_top">About Us</a></li>
<li><a href = "<?!= url ?>?page=new-reg">New Registration</a></li>
<li><a href = "<?!= url ?>?page=investor">Investor Login</a></li>
</ul>
</body>
</html>
about.html
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<h1>About Us</h1>
<p>This is the about page.</p>
<ul>
<li><a href = "<?!= url ?>?page=index">Home</a></li>
<li><a href = "<?!= url ?>?page=new-reg">New Registration</a></li>
<li><a href = "<?!= url ?>?page=investor">Investor Login</a></li>
</ul>
</body>
</html>
{web apps URL}?page=about
.exec
, отразите последнюю версию сценария в веб-приложениях.