In my index.html file (before closing body tag), I want a function to self-invoke itself when the page is loaded. However, I am having issues when the function (here, setUp) is defined in an external file.
If I copy-paste the setUp function in Index.html then everything works as expected.
I am new to JS: am I incorrectly linking script file? Thanks!
Index.html
<script src="Code.gs">
window.onload=setUp;
</script>
Code.gs
function setUp() {
dateHelper_();
}
- You want to run Google Apps Script when HTML is loaded.
If my understanding is correct, how about this modification? The flow of this modified script is as follows.
- When the HTML is opened,
google.script.run
is run and setUp()
of Google Apps Script is run.
- When
setUp()
is finished, "ok"
from setUp()
is returned and the returned value is shown using console.log()
at withSuccessHandler()
.
- In this modified script, you can see
Done: ok
at the console of browser.
Modified script:
Please modify HTML and Google Apps Script on your script editor as follows.
HTML & Javascript:
Index.html
<script>
window.onload = google.script.run.withSuccessHandler((e) => {console.log("Done: " + e)}).setUp();
</script>
Google Apps Script:
Code.gs
function setUp() {
// dateHelper_();
return "ok"; // In this modification, as a sample, "ok" is returned.
}
Note:
- Although I'm not sure about your whole situation, HTML can be opened by a dialog, sidebar and Web Apps.
Reference:
If I misunderstood your question and this was not the result you want, I apologize.