Class HtmlOutput

HtmlOutput

Objek HtmlOutput yang dapat ditayangkan dari skrip. Karena pertimbangan keamanan, skrip tidak dapat langsung menampilkan HTML ke browser. Sebagai gantinya, mereka harus membersihkannya agar tidak dapat melakukan tindakan berbahaya. Anda dapat menampilkan HTML yang dibersihkan seperti ini:

function doGet() {
  return HtmlService.createHtmlOutput('<b>Hello, world!</b>');
}
Kode dalam HtmlOutput dapat menyertakan JavaScript dan CSS tersemat. (Ini adalah JavaScript sisi klien standar yang memanipulasi DOM, bukan Apps Script). Semua konten ini di-sandbox menggunakan sandboxing iframe. Untuk mengetahui informasi selengkapnya, lihat panduan pembatasan dalam layanan HTML.

Metode

MetodeJenis hasil yang ditampilkanDeskripsi singkat
addMetaTag(name, content)HtmlOutputMenambahkan tag meta ke halaman.
append(addedContent)HtmlOutputMenambahkan konten baru ke konten HtmlOutput ini.
appendUntrusted(addedContent)HtmlOutputMenambahkan konten baru ke konten HtmlOutput ini, menggunakan escape kontekstual.
asTemplate()HtmlTemplateMenampilkan HtmlTemplate yang didukung oleh HtmlOutput ini.
clear()HtmlOutputMenghapus konten saat ini.
getAs(contentType)BlobMenampilkan data di dalam objek ini sebagai blob yang dikonversi ke jenis konten yang ditentukan.
getBlob()BlobMenampilkan data di dalam objek ini sebagai blob.
getContent()StringMendapatkan konten HtmlOutput ini.
getFaviconUrl()StringMendapatkan URL untuk tag link favicon yang ditambahkan ke halaman dengan memanggil setFaviconUrl(iconUrl).
getHeight()IntegerMendapatkan tinggi awal dialog kustom di Google Dokumen, Spreadsheet, atau Forms.
getMetaTags()HtmlOutputMetaTag[]Mendapatkan array objek yang mewakili tag meta yang ditambahkan ke halaman dengan memanggil addMetaTag(name, content).
getTitle()StringMendapatkan judul halaman output.
getWidth()IntegerMendapatkan lebar awal dialog kustom di Google Dokumen, Spreadsheet, atau Forms.
setContent(content)HtmlOutputMenetapkan konten HtmlOutput ini.
setFaviconUrl(iconUrl)HtmlOutputMenambahkan tag link untuk favicon ke halaman.
setHeight(height)HtmlOutputMenetapkan tinggi awal dialog kustom di Google Dokumen, Spreadsheet, atau Formulir.
setSandboxMode(mode)HtmlOutputMetode ini sekarang tidak berpengaruh — sebelumnya metode ini menetapkan sandbox mode yang digunakan untuk skrip sisi klien.
setTitle(title)HtmlOutputMenetapkan judul halaman output.
setWidth(width)HtmlOutputMenetapkan lebar awal dialog kustom di Google Dokumen, Spreadsheet, atau Forms.
setXFrameOptionsMode(mode)HtmlOutputMenetapkan status header X-Frame-Options halaman, yang mengontrol pencegahan clickjacking.

Dokumentasi mendetail

addMetaTag(name, content)

Menambahkan tag meta ke halaman. Tag meta yang disertakan langsung dalam file HTML Apps Script akan diabaikan. Hanya tag meta berikut yang diizinkan:

<meta name="apple-mobile-web-app-capable" content="..."/>
<meta name="google-site-verification" content="..."/>
<meta name="mobile-web-app-capable" content="..."/>
<meta name="viewport" content="..."/>
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.addMetaTag('viewport', 'width=device-width, initial-scale=1');

Parameter

NamaJenisDeskripsi
nameStringNilai atribut nama tag meta.
contentStringNilai atribut konten tag meta.

Pulang pergi

HtmlOutput — Output ini, untuk pembuatan rantai.


append(addedContent)

Menambahkan konten baru ke konten HtmlOutput ini. Gunakan ini hanya untuk konten dari sumber tepercaya, karena tidak di-escape.

// Log "<b>Hello, world!</b><p>Hello again, world.</p>"
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.append('<p>Hello again, world.</p>');
Logger.log(output.getContent());

Parameter

NamaJenisDeskripsi
addedContentStringKonten yang akan ditambahkan.

Pulang pergi

HtmlOutput — Output ini, untuk pembuatan rantai.

Menampilkan

Error — jika HTML salah format

Lihat juga


appendUntrusted(addedContent)

Menambahkan konten baru ke konten HtmlOutput ini, menggunakan escape kontekstual.

Metode ini dengan benar meng-escape konten berdasarkan status HtmlOutput saat ini, sehingga hasilnya adalah string yang aman tanpa markup atau efek samping. Gunakan ini, bukan menggunakan append setiap kali Anda menambahkan konten dari sumber yang tidak tepercaya, seperti dari pengguna, untuk menghindari bug pembuatan skrip lintas situs (XSS) yang tidak disengaja, yaitu konten atau markup yang Anda tambahkan menyebabkan eksekusi kode yang tidak terduga.

// Log "<b>Hello, world!</b>&lt;p&gt;Hello again, world.&lt;/p&gt;"
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.appendUntrusted('<p>Hello again, world.</p>');
Logger.log(output.getContent());

Parameter

NamaJenisDeskripsi
addedContentStringKonten yang akan ditambahkan.

Pulang pergi

HtmlOutput — Output ini, untuk pembuatan rantai.

Menampilkan

Error — jika HTML sangat salah format

Lihat juga


asTemplate()

Menampilkan HtmlTemplate yang didukung oleh HtmlOutput ini. Metode ini dapat digunakan untuk mem-build template secara bertahap. Perubahan mendatang pada HtmlOutput juga memengaruhi konten HtmlTemplate.

const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
const template = output.asTemplate();

Pulang pergi

HtmlTemplateHtmlTemplate baru.


clear()

Menghapus konten saat ini.

const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.clear();

Pulang pergi

HtmlOutput — Output ini, untuk pembuatan rantai.


getAs(contentType)

Menampilkan data di dalam objek ini sebagai blob yang dikonversi ke jenis konten yang ditentukan. Metode ini menambahkan ekstensi yang sesuai ke nama file—misalnya, "myfile.pdf". Namun, hal ini menganggap bahwa bagian nama file yang mengikuti titik terakhir (jika ada) adalah ekstensi yang ada dan harus diganti. Akibatnya, "ShoppingList.12.25.2014" menjadi "ShoppingList.12.25.pdf".

Untuk melihat kuota harian konversi, lihat Kuota untuk Layanan Google. Domain Google Workspace yang baru dibuat mungkin akan dikenai kuota yang lebih ketat untuk sementara.

Parameter

NamaJenisDeskripsi
contentTypeStringJenis MIME yang akan dikonversi. Untuk sebagian besar blob, 'application/pdf' adalah satu-satunya opsi yang valid. Untuk gambar dalam format BMP, GIF, JPEG, atau PNG, 'image/bmp', 'image/gif', 'image/jpeg', atau 'image/png' juga valid. Untuk dokumen Google Dokumen, 'text/markdown' juga valid.

Pulang pergi

Blob — Data sebagai blob.


getBlob()

Menampilkan data di dalam objek ini sebagai blob.

Pulang pergi

Blob — Data sebagai blob.


getContent()

Mendapatkan konten HtmlOutput ini.

// Log "<b>Hello, world!</b>"
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
Logger.log(output.getContent());

Pulang pergi

String — Konten yang ditayangkan.


getFaviconUrl()

Mendapatkan URL untuk tag link favicon yang ditambahkan ke halaman dengan memanggil setFaviconUrl(iconUrl). Tag link favicon yang disertakan langsung dalam file HTML Apps Script akan diabaikan.

const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.setFaviconUrl('http://www.example.com/image.png');
Logger.log(output.getFaviconUrl());

Pulang pergi

String — URL gambar favicon.


getHeight()

Mendapatkan tinggi awal dialog kustom di Google Dokumen, Spreadsheet, atau Forms. Jika HtmlOutput dipublikasikan sebagai aplikasi web, metode ini akan menampilkan null. Untuk mengubah ukuran dialog yang sudah terbuka, panggil google.script.host.setHeight(height) dalam kode sisi klien.

const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.setHeight(200);
Logger.log(output.getHeight());

Pulang pergi

Integer — Tinggi, dalam piksel.


getMetaTags()

Mendapatkan array objek yang mewakili tag meta yang ditambahkan ke halaman dengan memanggil addMetaTag(name, content). Tag meta yang disertakan langsung dalam file HTML Apps Script akan diabaikan.

const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.addMetaTag('viewport', 'width=device-width, initial-scale=1');

const tags = output.getMetaTags();
Logger.log(
    '<meta name="%s" content="%s"/>',
    tags[0].getName(),
    tags[0].getContent(),
);

Pulang pergi

HtmlOutputMetaTag[] — Array objek yang mewakili tag meta yang ditambahkan ke halaman dengan memanggil addMetaTag(name, content).


getTitle()

Mendapatkan judul halaman output. Perhatikan bahwa elemen HTML <title> diabaikan.

const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
Logger.log(output.getTitle());

Pulang pergi

String — Judul halaman.


getWidth()

Mendapatkan lebar awal dialog kustom di Google Dokumen, Spreadsheet, atau Forms. Jika HtmlOutput dipublikasikan sebagai aplikasi web, metode ini akan menampilkan null. Untuk mengubah ukuran dialog yang sudah terbuka, panggil google.script.host.setWidth(width) dalam kode sisi klien.

const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.setWidth(200);
Logger.log(output.getWidth());

Pulang pergi

Integer — Lebar dalam piksel.


setContent(content)

Menetapkan konten HtmlOutput ini.

const output = HtmlService.createHtmlOutput();
output.setContent('<b>Hello, world!</b>');

Parameter

NamaJenisDeskripsi
contentStringKonten yang akan ditayangkan.

Pulang pergi

HtmlOutput — Output ini, untuk pembuatan rantai.

Menampilkan

Error — jika HTML salah format


setFaviconUrl(iconUrl)

Menambahkan tag link untuk favicon ke halaman. Tag link favicon yang disertakan langsung dalam file HTML Skrip Aplikasi akan diabaikan.

const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.setFaviconUrl('http://www.example.com/image.png');

Parameter

NamaJenisDeskripsi
iconUrlStringURL gambar favicon, dengan ekstensi gambar yang menunjukkan jenis gambar.

Pulang pergi

HtmlOutput — Output ini, untuk pembuatan rantai.


setHeight(height)

Menetapkan tinggi awal dialog kustom di Google Dokumen, Spreadsheet, atau Formulir. Jika HtmlOutput dipublikasikan sebagai aplikasi web, metode ini tidak akan berpengaruh. Untuk mengubah ukuran dialog yang sudah terbuka, panggil google.script.host.setHeight(height) dalam kode sisi klien.

const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.setHeight(200);

Parameter

NamaJenisDeskripsi
heightIntegerTinggi baru dalam piksel; null menghasilkan nilai default.

Pulang pergi

HtmlOutput — Output ini, untuk pembuatan rantai.


setSandboxMode(mode)

Metode ini sekarang tidak berpengaruh — sebelumnya metode ini menetapkan sandbox mode yang digunakan untuk skrip sisi klien. Untuk melindungi pengguna agar tidak menerima HTML atau JavaScript berbahaya, kode sisi klien yang ditayangkan dari layanan HTML akan dijalankan di sandbox keamanan yang memberlakukan batasan pada kode. Awalnya, metode ini memungkinkan penulis skrip memilih antara berbagai versi sandbox, tetapi sekarang semua skrip menggunakan mode IFRAME terlepas dari mode sandbox yang ditetapkan. Untuk mengetahui informasi selengkapnya, lihat panduan pembatasan dalam layanan HTML.

Mode IFRAME menerapkan lebih sedikit batasan daripada mode sandbox lainnya dan berjalan paling cepat, tetapi tidak berfungsi sama sekali di browser lama tertentu, termasuk Internet Explorer 9. Mode sandbox dapat dibaca dalam skrip sisi klien dengan memeriksa google.script.sandbox.mode. Perhatikan bahwa properti ini menampilkan mode sebenarnya di klien, yang mungkin berbeda dengan mode yang diminta di server jika mode yang diminta tidak didukung di browser pengguna.

<!-- Read the sandbox mode (in a client-side script). -->
<script>
  alert(google.script.sandbox.mode);
</script>

Parameter

NamaJenisDeskripsi
modeSandboxModeMode sandbox yang akan digunakan.

Pulang pergi

HtmlOutput — Output ini, untuk pembuatan rantai.


setTitle(title)

Menetapkan judul halaman output. Untuk aplikasi web, ini adalah judul seluruh halaman, sedangkan untuk HtmlOutput yang ditampilkan di Google Spreadsheet, ini adalah judul dialog.

const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.setTitle('My First Page');

Parameter

NamaJenisDeskripsi
titleStringJudul baru.

Pulang pergi

HtmlOutput — Output ini, untuk pembuatan rantai.


setWidth(width)

Menetapkan lebar awal dialog kustom di Google Dokumen, Spreadsheet, atau Forms. Jika HtmlOutput dipublikasikan sebagai aplikasi web, metode ini tidak akan berpengaruh. Untuk mengubah ukuran dialog yang sudah terbuka, panggil google.script.host.setWidth(width) dalam kode sisi klien.

const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.setWidth(200);

Parameter

NamaJenisDeskripsi
widthIntegerLebar baru dalam piksel; null menghasilkan nilai default.

Pulang pergi

HtmlOutput — Output ini, untuk pembuatan rantai.


setXFrameOptionsMode(mode)

Menetapkan status header X-Frame-Options halaman, yang mengontrol pencegahan clickjacking.

Menyetel XFrameOptionsMode.ALLOWALL memungkinkan situs apa pun membuat iframe halaman, sehingga developer harus menerapkan perlindungan mereka sendiri terhadap clickjacking.

Jika skrip tidak menetapkan mode X-Frame-Options, Apps Script akan menggunakan mode XFrameOptionsMode.DEFAULT sebagai default.

// Serve HTML with no X-Frame-Options header (in Apps Script server-side code).
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL);

Parameter

NamaJenisDeskripsi
modeXFrameOptionsModeMode opsi XFrame yang akan ditetapkan.

Pulang pergi

HtmlOutput — Output ini, untuk pembuatan rantai.