Objek HtmlOutput
yang dapat ditayangkan dari skrip. Karena pertimbangan keamanan,
skrip tidak dapat langsung menampilkan HTML ke browser. Sebaliknya, mereka harus membersihkannya agar tidak
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 sandbox sandbox iframe. Untuk informasi selengkapnya, lihat panduan pembatasan layanan HTML.Metode
Metode | Jenis hasil yang ditampilkan | Deskripsi singkat |
---|---|---|
addMetaTag(name, content) | HtmlOutput | Menambahkan tag meta ke halaman. |
append(addedContent) | HtmlOutput | Menambahkan konten baru ke konten HtmlOutput ini. |
appendUntrusted(addedContent) | HtmlOutput | Menambahkan konten baru ke konten HtmlOutput ini, menggunakan escape kontekstual. |
asTemplate() | HtmlTemplate | Menampilkan HtmlTemplate yang didukung oleh HtmlOutput ini. |
clear() | HtmlOutput | Menghapus konten saat ini. |
getAs(contentType) | Blob | Menampilkan data di dalam objek ini sebagai blob yang dikonversi ke jenis konten yang ditentukan. |
getBlob() | Blob | Tampilkan data di dalam objek ini sebagai blob. |
getContent() | String | Mendapatkan konten HtmlOutput ini. |
getFaviconUrl() | String | Mendapatkan URL untuk tag link favicon yang ditambahkan ke halaman dengan memanggil setFaviconUrl(iconUrl) . |
getHeight() | Integer | Mendapatkan tinggi awal dialog kustom di Google Dokumen, Spreadsheet, atau Formulir. |
getMetaTags() | HtmlOutputMetaTag[] | Mendapatkan array objek yang mewakili tag meta yang ditambahkan ke halaman dengan memanggil addMetaTag(name, content) . |
getTitle() | String | Mendapatkan judul halaman output. |
getWidth() | Integer | Mendapatkan lebar awal dialog kustom di Google Dokumen, Spreadsheet, atau Formulir. |
setContent(content) | HtmlOutput | Menetapkan konten HtmlOutput ini. |
setFaviconUrl(iconUrl) | HtmlOutput | Menambahkan tag link untuk favicon ke halaman. |
setHeight(height) | HtmlOutput | Menetapkan tinggi awal dialog kustom di Google Dokumen, Spreadsheet, atau Formulir. |
setSandboxMode(mode) | HtmlOutput | Metode ini sekarang tidak berpengaruh — sebelumnya metode ini menetapkan sandbox
mode yang digunakan untuk skrip sisi klien. |
setTitle(title) | HtmlOutput | Menetapkan judul halaman output. |
setWidth(width) | HtmlOutput | Menetapkan lebar awal dialog kustom di Google Dokumen, Spreadsheet, atau Formulir. |
setXFrameOptionsMode(mode) | HtmlOutput | Menetapkan status header X-Frame-Options halaman, yang mengontrol pencegahan
pembajakan klik. |
Dokumentasi mendetail
addMetaTag(name, content)
Menambahkan tag meta ke halaman. Tag meta yang disertakan secara langsung dalam file HTML Apps Script 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="..."/>
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.addMetaTag('viewport', 'width=device-width, initial-scale=1');
Parameter
Name | Jenis | Deskripsi |
---|---|---|
name | String | Nilai atribut nama tag meta. |
content | String | Nilai atribut konten tag meta. |
Return
HtmlOutput
— Output ini, untuk perantaian.
append(addedContent)
Menambahkan konten baru ke konten HtmlOutput
ini. Hanya gunakan ini untuk konten dari
sumber tepercaya karena tidak di-escape.
// Log "<b>Hello, world!</b><p>Hello again, world.</p>" var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.append('<p>Hello again, world.</p>'); Logger.log(output.getContent());
Parameter
Name | Jenis | Deskripsi |
---|---|---|
addedContent | String | Konten yang akan ditambahkan. |
Return
HtmlOutput
— Output ini, untuk perantaian.
Menampilkan
Error
— jika HTML salah format
Lihat juga
appendUntrusted(addedContent)
Menambahkan konten baru ke konten HtmlOutput
ini, menggunakan escape kontekstual.
Metode ini meng-escape konten dengan benar berdasarkan status HtmlOutput
saat ini,
sehingga hasilnya adalah string aman tanpa pengaruh markup atau sisi. Gunakan atribut ini, bukan menggunakan
tambahkan kapan pun Anda menambahkan konten dari sumber tidak tepercaya, seperti pengguna, untuk
tidak sengaja mengizinkan bug pembuatan skrip lintas situs (XSS) saat konten atau markup yang Anda tambahkan
menyebabkan eksekusi kode yang tidak terduga.
// Log "<b>Hello, world!</b><p>Hello again, world.</p>" var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.appendUntrusted('<p>Hello again, world.</p>'); Logger.log(output.getContent());
Parameter
Name | Jenis | Deskripsi |
---|---|---|
addedContent | String | Konten yang akan ditambahkan. |
Return
HtmlOutput
— Output ini, untuk perantaian.
Menampilkan
Error
— jika HTML sangat salah format
Lihat juga
asTemplate()
Menampilkan HtmlTemplate
yang didukung oleh HtmlOutput
ini. Metode ini dapat digunakan untuk
membuat template secara bertahap. Perubahan selanjutnya pada HtmlOutput
juga akan memengaruhi
konten HtmlTemplate
.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); var template = output.asTemplate();
Return
HtmlTemplate
— HtmlTemplate
baru.
clear()
Menghapus konten saat ini.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.clear();
Return
HtmlOutput
— Output ini, untuk perantaian.
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, mengasumsikan bahwa bagian dari nama file yang mengikuti titik terakhir (jika ada) adalah ekstensi yang harus diganti. Akibatnya, "ShoppingList.12.25.2014" menjadi "ShoppingList.12.25.pdf".
Untuk melihat kuota harian untuk konversi, lihat Kuota untuk Layanan Google. Domain Google Workspace yang baru dibuat mungkin tunduk pada kuota yang lebih ketat untuk sementara.
Parameter
Name | Jenis | Deskripsi |
---|---|---|
contentType | String | Jenis MIME yang menjadi tujuan konversi. Untuk sebagian besar blob, 'application/pdf' adalah satu-satunya opsi yang valid. Untuk gambar dalam format BMP, GIF, JPEG, atau PNG, salah satu dari 'image/bmp' , 'image/gif' , 'image/jpeg' , atau 'image/png' juga valid. |
Return
Blob
- Data sebagai blob.
getBlob()
getContent()
Mendapatkan konten HtmlOutput
ini.
// Log "<b>Hello, world!</b>" var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); Logger.log(output.getContent());
Return
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
diabaikan.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setFaviconUrl('http://www.example.com/image.png'); Logger.log(output.getFaviconUrl();
Return
String
— URL gambar favicon.
getHeight()
Mendapatkan tinggi awal dialog kustom di Google Dokumen, Spreadsheet, atau Formulir. 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.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setHeight(200); Logger.log(output.getHeight());
Return
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 secara langsung dalam file HTML Apps Script
diabaikan.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.addMetaTag('viewport', 'width=device-width, initial-scale=1'); var tags = output.getMetaTags(); Logger.log('<meta name="%s" content="%s"/>', tags[0].getName(), tags[0].getContent());
Return
HtmlOutputMetaTag[]
— Array objek yang mewakili tag meta yang ditambahkan ke halaman dengan memanggil addMetaTag(name, content)
.
getTitle()
Mendapatkan judul halaman output. Perhatikan bahwa <judul> elemen HTML diabaikan.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); Logger.log(output.getTitle());
Return
String
— Judul halaman.
getWidth()
Mendapatkan lebar awal dialog kustom di Google Dokumen, Spreadsheet, atau Formulir. 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.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setWidth(200); Logger.log(output.getWidth());
Return
Integer
— Lebar dalam piksel.
setContent(content)
Menetapkan konten HtmlOutput
ini.
var output = HtmlService.createHtmlOutput(); output.setContent('<b>Hello, world!</b>');
Parameter
Name | Jenis | Deskripsi |
---|---|---|
content | String | Konten yang akan ditayangkan. |
Return
HtmlOutput
— Output ini, untuk perantaian.
Menampilkan
Error
— jika HTML salah format
setFaviconUrl(iconUrl)
Menambahkan tag link untuk favicon ke halaman. Tag link Favicon yang disertakan langsung dalam file HTML Apps Apps diabaikan.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setFaviconUrl('http://www.example.com/image.png');
Parameter
Name | Jenis | Deskripsi |
---|---|---|
iconUrl | String | URL gambar favicon, dengan ekstensi gambar yang menunjukkan jenis gambar. |
Return
HtmlOutput
— Output ini, untuk perantaian.
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.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setHeight(200);
Parameter
Name | Jenis | Deskripsi |
---|---|---|
height | Integer | Tinggi baru dalam piksel; null menghasilkan nilai default. |
Return
HtmlOutput
— Output ini, untuk perantaian.
setSandboxMode(mode)
Metode ini sekarang tidak berpengaruh — sebelumnya metode ini menetapkan sandbox
mode
yang digunakan untuk skrip sisi klien. Untuk melindungi pengguna agar tidak disalurkan HTML atau
JavaScript yang berbahaya, kode sisi klien yang ditayangkan dari layanan HTML dieksekusi di sandbox keamanan yang
menerapkan batasan pada kode. Awalnya metode ini memungkinkan penulis skrip untuk memilih
antara versi sandbox yang berbeda, tetapi sekarang semua skrip kini menggunakan mode IFRAME
terlepas dari mode sandbox yang ditetapkan. Untuk informasi selengkapnya, lihat panduan pembatasan layanan HTML.
Mode IFRAME
menerapkan lebih sedikit pembatasan 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 pada klien, yang mungkin berbeda dari mode yang diminta pada server jika mode yang diminta tidak didukung dalam browser pengguna.
<!-- Read the sandbox mode (in a client-side script). --> <script> alert(google.script.sandbox.mode); </script>
Parameter
Name | Jenis | Deskripsi |
---|---|---|
mode | SandboxMode | Mode sandbox yang akan digunakan. |
Return
HtmlOutput
— Output ini, untuk perantaian.
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.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setTitle('My First Page');
Parameter
Name | Jenis | Deskripsi |
---|---|---|
title | String | Judul baru. |
Return
HtmlOutput
— Output ini, untuk perantaian.
setWidth(width)
Menetapkan lebar 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.setWidth(width)
dalam kode sisi klien.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setWidth(200);
Parameter
Name | Jenis | Deskripsi |
---|---|---|
width | Integer | Lebar baru dalam piksel; null menghasilkan nilai default. |
Return
HtmlOutput
— Output ini, untuk perantaian.
setXFrameOptionsMode(mode)
Menetapkan status header X-Frame-Options
halaman, yang mengontrol pencegahan
pembajakan klik.
Dengan menetapkan XFrameOptionsMode.ALLOWALL
, setiap situs dapat iframe situs, sehingga
developer harus menerapkan perlindungan mereka sendiri terhadap pembajakan klik.
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). var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL);
Parameter
Name | Jenis | Deskripsi |
---|---|---|
mode | XFrameOptionsMode | Mode opsi XFrame yang akan disetel. |
Return
HtmlOutput
— Output ini, untuk perantaian.