Class HtmlTemplate
จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
เอกสารประกอบโดยละเอียด
evaluate()
ประเมินเทมเพลตนี้และแสดงผลออบเจ็กต์ HtmlOutput
พร็อพเพอร์ตี้ที่ตั้งค่าไว้ในออบเจ็กต์ HtmlTemplate
นี้จะอยู่ในขอบเขตเมื่อประเมิน หากต้องการแก้ไขข้อผิดพลาดในเทมเพลต ให้ตรวจสอบโค้ดโดยใช้เมธอด getCode()
// A template which evaluates to whatever is bound to 'foo'.
const template = HtmlService.createTemplate('<?= foo ?>');
template.foo = 'Hello World!';
Logger.log(template.evaluate().getContent()); // will log 'Hello World!'
รีเทิร์น
HtmlOutput
— ออบเจ็กต์ HtmlOutput
getCode()
สร้างสตริงโค้ด JavaScript ตามไฟล์เทมเพลตที่ประเมินได้ วิธีการนี้จะสร้างสตริงโค้ด JavaScript ตามไฟล์เทมเพลต การเรียกใช้
eval(<code>)
จะแสดงผลออบเจ็กต์ HtmlOutput
ใหม่ที่มีเนื้อหาของเทมเพลตหลังจากเรียกใช้สคริปต์เซิร์ฟเวอร์ที่ฝังไว้ทั้งหมด โค้ดที่สร้างขึ้นมีไว้เพื่อให้มนุษย์อ่านได้ ดังนั้นหากต้องการแก้ไขข้อบกพร่องของเทมเพลต คุณสามารถเรียกใช้
Logger.log(<code>)
เพื่อดูสิ่งที่สร้างขึ้น
การประเมินโค้ดนี้จะเชื่อมโยงตัวแปรทั้งหมดในขอบเขตปัจจุบันโดยปริยาย โดยทั่วไปแล้ว เราขอแนะนำให้ใช้เมธอด evaluate()
ซึ่งใช้การเชื่อมโยงที่ชัดเจน
const template = HtmlService.createTemplate(
'<b>The time is <?= new Date() ?></b>',
);
Logger.log(template.getCode());
รีเทิร์น
String
— สตริงที่อิงตามเทมเพลตซึ่งสามารถประเมินได้
getRawContent()
แสดงผลเนื้อหาของเทมเพลตนี้โดยไม่มีการประมวลผล
const template = HtmlService.createTemplate(
'<b>The time is <?= new Date() ?></b>',
);
Logger.log(template.getRawContent());
รีเทิร์น
String
— เนื้อหาดิบของเทมเพลต
เนื้อหาของหน้าเว็บนี้ได้รับอนุญาตภายใต้ใบอนุญาตที่ต้องระบุที่มาของครีเอทีฟคอมมอนส์ 4.0 และตัวอย่างโค้ดได้รับอนุญาตภายใต้ใบอนุญาต Apache 2.0 เว้นแต่จะระบุไว้เป็นอย่างอื่น โปรดดูรายละเอียดที่นโยบายเว็บไซต์ Google Developers Java เป็นเครื่องหมายการค้าจดทะเบียนของ Oracle และ/หรือบริษัทในเครือ
อัปเดตล่าสุด 2025-07-26 UTC
[null,null,["อัปเดตล่าสุด 2025-07-26 UTC"],[[["\u003cp\u003e\u003ccode\u003eHtmlTemplate\u003c/code\u003e helps you dynamically build HTML content within Apps Script.\u003c/p\u003e\n"],["\u003cp\u003eIt provides methods like \u003ccode\u003eevaluate()\u003c/code\u003e to render HTML with data, and \u003ccode\u003egetCode()\u003c/code\u003e to generate the underlying JavaScript.\u003c/p\u003e\n"],["\u003cp\u003eYou can use \u003ccode\u003egetRawContent()\u003c/code\u003e to access the original template content and \u003ccode\u003egetCodeWithComments()\u003c/code\u003e for debugging purposes.\u003c/p\u003e\n"],["\u003cp\u003eThe rendered output can be further handled using the \u003ccode\u003eHtmlOutput\u003c/code\u003e object.\u003c/p\u003e\n"]]],[],null,["# Class HtmlTemplate\n\nHtmlTemplate\n\nA template object for dynamically constructing HTML. For more information, see the [guide to templates](/apps-script/guides/html/templates). \n\n### Methods\n\n| Method | Return type | Brief description |\n|-------------------------------------------------|-------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [evaluate()](#evaluate()) | [HtmlOutput](/apps-script/reference/html/html-output) | Evaluates this template and returns an [HtmlOutput](/apps-script/reference/html/html-output) object. |\n| [getCode()](#getCode()) | `String` | Generates a string of JavaScript code, based on the template file, that can be evaluated. |\n| [getCodeWithComments()](#getCodeWithComments()) | `String` | Generates a string of JavaScript code that can be evaluated, with each line of the code containing the original line from the template as a comment. |\n| [getRawContent()](#getRawContent()) | `String` | Returns the unprocessed content of this template. |\n\nDetailed documentation\n----------------------\n\n### `evaluate()`\n\nEvaluates this template and returns an [HtmlOutput](/apps-script/reference/html/html-output) object. Any properties set on this\n`Html``Template` object will be in scope when evaluating. To debug errors in a template,\nexamine the code using the [getCode()](#getCode()) method.\n\n```javascript\n// A template which evaluates to whatever is bound to 'foo'.\nconst template = HtmlService.createTemplate('\u003c?= foo ?\u003e');\ntemplate.foo = 'Hello World!';\nLogger.log(template.evaluate().getContent()); // will log 'Hello World!'\n```\n\n#### Return\n\n\n[HtmlOutput](/apps-script/reference/html/html-output) --- an HtmlOutput object\n\n*** ** * ** ***\n\n### `get``Code()`\n\nGenerates a string of JavaScript code, based on the template file, that can be evaluated. This\nmethod produces a string of JavaScript code based on the template file. Calling `\neval(\u003ccode\u003e)` will return a new [HtmlOutput](/apps-script/reference/html/html-output) object with the content of the\ntemplate after running all embedded server scripts. The generated code is intended to be\nhuman-readable, and so if you need to debug a template you can call `\nLogger.log(\u003ccode\u003e)` to see what was produced.\n\nEvaluating this code will implicitly bind in all variables in the current scope. In general,\nit's preferable to use the [evaluate()](#evaluate()) method, which takes explicit bindings.\n\n```javascript\nconst template = HtmlService.createTemplate(\n '\u003cb\u003eThe time is <?= new Date() ?>\u003c/b\u003e',\n);\nLogger.log(template.getCode());\n```\n\n#### Return\n\n\n`String` --- a string based on the template, which can be evaluated\n\n*** ** * ** ***\n\n### `get``Code``With``Comments()`\n\nGenerates a string of JavaScript code that can be evaluated, with each line of the code\ncontaining the original line from the template as a comment. This method produces a string of\nJavaScript code based on the template file. Calling `eval(\u003ccode\u003e)` will return\na new [HtmlOutput](/apps-script/reference/html/html-output) object with the content of the template after running all embedded\nserver scripts. The generated code is intended to be human-readable, and so if you need to\ndebug a template you can call `Logger.log(\u003ccode\u003e)` to see what was produced.\n\nEvaluating this code will implicitly bind in all variables in the current scope. In general,\nit's preferable to use the [evaluate()](#evaluate()) method, which takes explicit bindings.\n\n```javascript\nconst template = HtmlService.createTemplate(\n '\u003cb\u003eThe time is <?= new Date() ?>\u003c/b\u003e',\n);\nLogger.log(template.getCodeWithComments());\n```\n\n#### Return\n\n\n`String` --- an string based on the template, which can be evaluated\n\n*** ** * ** ***\n\n### `get``Raw``Content()`\n\nReturns the unprocessed content of this template.\n\n```javascript\nconst template = HtmlService.createTemplate(\n '\u003cb\u003eThe time is <?= new Date() ?>\u003c/b\u003e',\n);\nLogger.log(template.getRawContent());\n```\n\n#### Return\n\n\n`String` --- the template's raw content"]]