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 telah di-sanitasi seperti ini:
function doGet() { return HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); }
HtmlOutput dapat mencakup JavaScript dan CSS yang disematkan. (Ini adalah JavaScript sisi klien standar yang memanipulasi DOM, bukan Apps Script). Semua konten ini di-sandbox menggunakan iframe
sandboxing. Untuk mengetahui informasi selengkapnya, lihat panduan tentang batasan dalam layanan HTML.Metode
| Metode | Jenis nilai yang ditampilkan | Deskripsi singkat |
|---|---|---|
add | Html | Menambahkan tag meta ke halaman. |
append(addedContent) | Html | Menambahkan konten baru ke konten Html ini. |
append | Html | Menambahkan konten baru ke konten Html ini, menggunakan pelepasan kontekstual. |
as | Html | Menampilkan Html yang didukung oleh Html ini. |
clear() | Html | Menghapus konten saat ini. |
get | Blob | Menampilkan data di dalam objek ini sebagai blob yang dikonversi ke jenis konten yang ditentukan. |
get | Blob | Menampilkan data di dalam objek ini sebagai blob. |
get | String | Mendapatkan konten Html ini. |
get | String | Mendapatkan URL untuk tag link favicon yang ditambahkan ke halaman dengan memanggil set. |
get | Integer | Mendapatkan tinggi awal dialog kustom di Google Dokumen, Spreadsheet, atau Formulir. |
get | Html | Mendapatkan array objek yang merepresentasikan tag meta yang ditambahkan ke halaman dengan memanggil add. |
get | String | Mendapatkan judul halaman output. |
get | Integer | Mendapatkan lebar awal dialog kustom di Google Dokumen, Spreadsheet, atau Formulir. |
set | Html | Menetapkan konten Html ini. |
set | Html | Menambahkan tag link untuk favicon ke halaman. |
set | Html | Menetapkan tinggi awal dialog kustom di Google Dokumen, Spreadsheet, atau Formulir. |
set | Html | Metode ini kini tidak berpengaruh — sebelumnya metode ini menetapkan sandbox
mode yang digunakan untuk skrip sisi klien. |
set | Html | Menetapkan judul halaman output. |
set | Html | Menetapkan lebar awal dialog kustom di Google Dokumen, Spreadsheet, atau Formulir. |
set | Html | Menetapkan 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" cont>e<nt="..."/ meta name="google-site-ver>i<fication" content="..."/ meta name>=<"mobile-web-app-capable" >content="..."/ meta name="viewport" content="..."/
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); output.addMetaTag('viewport', 'width=device-width, initial-scale=1');
Parameter
| Nama | Jenis | Deskripsi |
|---|---|---|
name | String | Nilai atribut nama tag meta. |
content | String | Nilai atribut konten tag meta. |
Pulang pergi
HtmlOutput — Output ini, untuk dirangkaikan.
append(addedContent)
Menambahkan konten baru ke konten HtmlOutput ini. Gunakan ini hanya untuk konten dari sumber tepercaya, karena tidak di-escape.
// Log &<q>uot;bHello, w<or><l>d!/bpHello again, w<or>ld./p" const output = HtmlService.createHt<m>lOutput('<bH>ello, world!/b'<)>; output.append(<9;>pHello again, world./p'); Logger.log(output.getContent());
Parameter
| Nama | Jenis | Deskripsi |
|---|---|---|
added | String | Konten yang akan ditambahkan. |
Pulang pergi
HtmlOutput — Output ini, untuk dirangkaikan.
Menampilkan
Error — jika format HTML salah
Lihat juga
appendUntrusted(addedContent)
Menambahkan konten baru ke konten HtmlOutput ini, menggunakan pelepasan 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
memungkinkan bug pembuatan skrip lintas situs (XSS) secara tidak sengaja, yang menyebabkan konten atau markup yang Anda tambahkan
mengeksekusi kode yang tidak terduga.
// Log &<q>uot;bHello, w<or>&ld!/&blt;pgt;Hello again, w&orld.</pgt;" const output = HtmlService.createHt<m>lOutput('<bH>ello, world!/b'); output<.>appendUntrusted(<9;>pHello again, world./p'); Logger.log(output.getContent());
Parameter
| Nama | Jenis | Deskripsi |
|---|---|---|
added | String | Konten yang akan ditambahkan. |
Pulang pergi
HtmlOutput — Output ini, untuk dirangkaikan.
Menampilkan
Error — jika format HTML sangat salah
Lihat juga
asTemplate()
Menampilkan HtmlTemplate yang didukung oleh HtmlOutput ini. Metode ini dapat digunakan untuk
membuat template secara bertahap. Perubahan mendatang pada HtmlOutput juga memengaruhi konten
HtmlTemplate.
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); const template = output.asTemplate();
Pulang pergi
HtmlTemplate — HtmlTemplate baru.
clear()
Menghapus konten saat ini.
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); output.clear();
Pulang pergi
HtmlOutput — Output ini, untuk dirangkaikan.
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, fungsi ini mengasumsikan 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 tunduk pada kuota yang lebih ketat untuk sementara.
Parameter
| Nama | Jenis | Deskripsi |
|---|---|---|
content | String | Jenis 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, salah satu dari '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()
getContent()
Mendapatkan konten HtmlOutput ini.
// Log &<q>uot;bHello, w<or>ld!/b" const output = HtmlService.createHt<m>lOutput('<bH>ello, 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(&<#>39;bHello, wo<rl>d!/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 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.
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); output.setHeight(200); Logger.log(output.getHeight());
Pulang pergi
Integer — Tinggi, dalam piksel.
getMetaTags()
Mendapatkan array objek yang merepresentasikan 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(&<#>39;bHello, wo<rl>d!/b'); output.addMetaTag('viewport', 'width=device-width, initial-scale=1'); const tags = output.getMetaT<ags(); Logger.log( '>meta name="%s" content="%s"/', tags[0].getName(), tags[0].getContent(), );
Pulang pergi
HtmlOutputMetaTag[] — Array objek yang merepresentasikan 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(&<#>39;bHello, wo<rl>d!/b'); Logger.log(output.getTitle());
Pulang pergi
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.
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/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(&<#>39;bHello, wo<rl>d!/b');
Parameter
| Nama | Jenis | Deskripsi |
|---|---|---|
content | String | Konten yang akan ditayangkan. |
Pulang pergi
HtmlOutput — Output ini, untuk dirangkaikan.
Menampilkan
Error — jika format HTML salah
setFaviconUrl(iconUrl)
Menambahkan tag link untuk favicon ke halaman. Tag link favicon yang disertakan langsung dalam file HTML Apps Script diabaikan.
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); output.setFaviconUrl('http://www.example.com/image.png');
Parameter
| Nama | Jenis | Deskripsi |
|---|---|---|
icon | String | URL gambar favicon, dengan ekstensi gambar yang menunjukkan jenis gambar. |
Pulang pergi
HtmlOutput — Output ini, untuk dirangkaikan.
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(&<#>39;bHello, wo<rl>d!/b'); output.setHeight(200);
Parameter
| Nama | Jenis | Deskripsi |
|---|---|---|
height | Integer | Tinggi baru dalam piksel; null akan menghasilkan nilai default. |
Pulang pergi
HtmlOutput — Output ini, untuk dirangkaikan.
setSandboxMode(mode)
Metode ini kini tidak berpengaruh — sebelumnya metode ini menetapkan sandbox
mode yang digunakan untuk skrip sisi klien. Untuk melindungi pengguna dari HTML atau JavaScript berbahaya, kode sisi klien yang ditayangkan dari layanan HTML dijalankan di sandbox keamanan yang memberlakukan batasan pada kode. Awalnya, metode ini memungkinkan penulis skrip memilih
di antara berbagai versi sandbox, tetapi kini semua skrip menggunakan mode IFRAME
terlepas dari mode sandbox yang ditetapkan. Untuk mengetahui informasi selengkapnya, lihat panduan tentang batasan 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
| Nama | Jenis | Deskripsi |
|---|---|---|
mode | Sandbox | Mode sandbox yang akan digunakan. |
Pulang pergi
HtmlOutput — Output ini, untuk dirangkaikan.
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(&<#>39;bHello, wo<rl>d!/b'); output.setTitle('My First Page');
Parameter
| Nama | Jenis | Deskripsi |
|---|---|---|
title | String | Judul baru. |
Pulang pergi
HtmlOutput — Output ini, untuk dirangkaikan.
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.
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); output.setWidth(200);
Parameter
| Nama | Jenis | Deskripsi |
|---|---|---|
width | Integer | Lebar baru dalam piksel; null akan menghasilkan nilai default. |
Pulang pergi
HtmlOutput — Output ini, untuk dirangkaikan.
setXFrameOptionsMode(mode)
Menetapkan status header X-Frame-Options halaman, yang mengontrol pencegahan clickjacking.
Menetapkan XFrameOptionsMode.ALLOWALL memungkinkan situs mana 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(&<#>39;bHello, wo<rl>d!/b'); output.setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL);
Parameter
| Nama | Jenis | Deskripsi |
|---|---|---|
mode | XFrameOptionsMode | Mode opsi XFrame yang akan ditetapkan. |
Pulang pergi
HtmlOutput — Output ini, untuk dirangkaikan.