Bir komut dosyasından yayınlanabilen HtmlOutput nesnesi. Güvenlik nedeniyle, komut dosyaları doğrudan tarayıcıya HTML döndüremez. Bunun yerine, kötü amaçlı işlemler gerçekleştiremeyecek şekilde temizlemeleri gerekir. Aşağıdaki gibi arındırılmış HTML döndürebilirsiniz:
function doGet() { return HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); }
HtmlOutput içindeki kod, yerleştirilmiş JavaScript ve CSS içerebilir. (Bu, DOM'u değiştiren standart bir istemci tarafı JavaScript'tir, Apps Komut Dosyası değildir.) Bu içeriklerin tümü iframe
sandbox kullanılarak sandbox'a alınır. Daha fazla bilgi için HTML hizmetindeki kısıtlamalarla ilgili kılavuza bakın.Yöntemler
| Yöntem | Dönüş türü | Kısa açıklama |
|---|---|---|
add | Html | Sayfaya meta etiketi ekler. |
append(addedContent) | Html | Yeni içeriği bu Html içeriğine ekler. |
append | Html | Bağlamsal kaçış kullanarak bu Html öğesinin içeriğine yeni içerik ekler. |
as | Html | Html tarafından desteklenen bir Html döndürür. |
clear() | Html | Mevcut içeriği temizler. |
get | Blob | Bu nesnenin içindeki verileri, belirtilen içerik türüne dönüştürülmüş bir blob olarak döndürür. |
get | Blob | Bu nesnenin içindeki verileri blob olarak döndürür. |
get | String | Bu Html öğesinin içeriğini alır. |
get | String | set çağrılarak sayfaya eklenen bir site simgesi bağlantı etiketinin URL'sini alır. |
get | Integer | Google Dokümanlar, E-Tablolar veya Formlar'daki özel iletişim kutusunun ilk yüksekliğini alır. |
get | Html | add çağrılarak sayfaya eklenen meta etiketleri temsil eden bir nesne dizisi alır. |
get | String | Çıkış sayfasının başlığını alır. |
get | Integer | Google Dokümanlar, E-Tablolar veya Formlar'da özel iletişim kutusunun ilk genişliğini alır. |
set | Html | Bu Html öğesinin içeriğini ayarlar. |
set | Html | Sayfaya bir favicon bağlantı etiketi ekler. |
set | Html | Google Dokümanlar, E-Tablolar veya Formlar'da özel iletişim kutusunun ilk yüksekliğini ayarlar. |
set | Html | Bu yöntem artık etkili değildir. Daha önce, istemci tarafı komut dosyaları için kullanılan sandbox
mode değerini ayarlıyordu. |
set | Html | Çıkış sayfasının başlığını ayarlar. |
set | Html | Google Dokümanlar, E-Tablolar veya Formlar'da özel iletişim kutusunun ilk genişliğini ayarlar. |
set | Html | Tıklama tuzağına karşı korumayı kontrol eden sayfanın X-Frame-Options başlığının durumunu ayarlar. |
Ayrıntılı belgeler
addMetaTag(name, content)
Sayfaya meta etiketi ekler. Doğrudan bir Apps Komut Dosyası HTML dosyasına eklenen meta etiketler yok sayılır. Yalnızca aşağıdaki meta etiketlere izin verilir:
<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');
Parametreler
| Ad | Tür | Açıklama |
|---|---|---|
name | String | Meta etiketin ad özelliğinin değeri. |
content | String | Meta etiketin içerik özelliğinin değeri. |
Return
HtmlOutput: Zincirleme için bu çıkış.
append(addedContent)
Yeni içeriği bu HtmlOutput içeriğine ekler. Bu işlevi yalnızca güvenilir bir kaynaktan gelen içerikler için kullanın. Bu işlevde kaçış karakteri kullanılmaz.
// 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());
Parametreler
| Ad | Tür | Açıklama |
|---|---|---|
added | String | Eklenecek içerik. |
Return
HtmlOutput: Zincirleme için bu çıkış.
Verdiği hatalar
Error: HTML bozuksa
Aşağıdaki kaynakları da incelemenizi öneririz:
appendUntrusted(addedContent)
Bağlamsal kaçış kullanarak bu HtmlOutput öğesinin içeriğine yeni içerik ekler.
Bu yöntem, HtmlOutput öğesinin mevcut durumuna göre içeriği doğru şekilde kod dışına alır. Böylece sonuç, biçimlendirme veya yan etkileri olmayan güvenli bir dize olur. İçeriği, güvenilmeyen bir kaynaktan (ör. kullanıcıdan) eklerken append kullanmak yerine bunu kullanın. Böylece, eklediğiniz içerik veya işaretlemenin beklenmedik kod yürütmesine neden olduğu siteler arası komut dosyası çalıştırma (XSS) hatasına yanlışlıkla izin vermeyi önleyebilirsiniz.
// 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());
Parametreler
| Ad | Tür | Açıklama |
|---|---|---|
added | String | Eklenecek içerik. |
Return
HtmlOutput: Zincirleme için bu çıkış.
Verdiği hatalar
Error: HTML çok kötü biçimlendirilmişse
Aşağıdaki kaynakları da incelemenizi öneririz:
asTemplate()
HtmlTemplate tarafından desteklenen bir HtmlOutput döndürür. Bu yöntem, şablonu kademeli olarak oluşturmak için kullanılabilir. HtmlOutput ile ilgili gelecekte yapılacak değişiklikler, HtmlTemplate içeriğini de etkiler.
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); const template = output.asTemplate();
Return
HtmlTemplate — Yeni HtmlTemplate.
clear()
Mevcut içeriği temizler.
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); output.clear();
Return
HtmlOutput: Zincirleme için bu çıkış.
getAs(contentType)
Bu nesnenin içindeki verileri, belirtilen içerik türüne dönüştürülmüş bir blob olarak döndürür. Bu yöntem, dosya adına uygun uzantıyı ekler (ör. "dosyam.pdf"). Ancak, dosya adının son noktadan sonraki kısmının (varsa) değiştirilmesi gereken mevcut bir uzantı olduğunu varsayar. Dolayısıyla, "ShoppingList.12.25.2014" ifadesi "ShoppingList.12.25.pdf" olur.
Dönüşümlerle ilgili günlük kotaları görüntülemek için Google Hizmetleri Kotaları başlıklı makaleyi inceleyin. Yeni oluşturulan Google Workspace alanları geçici olarak daha katı kotalara tabi olabilir.
Parametreler
| Ad | Tür | Açıklama |
|---|---|---|
content | String | Dönüştürülecek MIME türü. Çoğu blob için tek geçerli seçenek 'application/pdf''dır. BMP, GIF, JPEG veya PNG biçimindeki resimler için 'image/bmp', 'image/gif', 'image/jpeg' veya 'image/png' de geçerlidir. Google Dokümanlar dokümanlarında 'text/markdown' da geçerlidir. |
Return
Blob — Veriler blob olarak.
getBlob()
getContent()
Bu HtmlOutput öğesinin içeriğini alır.
// Log &<q>uot;bHello, w<or>ld!/b" const output = HtmlService.createHt<m>lOutput('<bH>ello, world!/b'); Logger.log(output.getContent());
Return
String — Sunulan içerik.
getFaviconUrl()
setFaviconUrl(iconUrl) çağrılarak sayfaya eklenen bir site simgesi bağlantı etiketinin URL'sini alır. Doğrudan bir Apps Komut Dosyası HTML dosyasına eklenen site simgesi bağlantı etiketleri yoksayılır.
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); output.setFaviconUrl('http://www.example.com/image.png'); Logger.log(output.getFaviconUrl());
Return
String: Favicon resminin URL'si.
getHeight()
Google Dokümanlar, E-Tablolar veya Formlar'daki özel iletişim kutusunun ilk yüksekliğini alır. HtmlOutput bunun yerine web uygulaması olarak yayınlanırsa bu yöntem null değerini döndürür. Zaten açık olan bir iletişim kutusunu yeniden boyutlandırmak için istemci tarafı kodunda
google.script.host.setHeight(height) işlevini çağırın.
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); output.setHeight(200); Logger.log(output.getHeight());
Return
Integer: Piksel cinsinden yükseklik.
getMetaTags()
addMetaTag(name, content) çağrılarak sayfaya eklenen meta etiketleri temsil eden bir nesne dizisi alır. Doğrudan bir Apps Komut Dosyası HTML dosyasına eklenen meta etiketler yok sayılır.
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(), );
Return
HtmlOutputMetaTag[]: addMetaTag(name, content) çağrılarak sayfaya eklenen meta etiketleri temsil eden bir nesne dizisi.
getTitle()
Çıkış sayfasının başlığını alır. <title> HTML öğesinin yoksayıldığını unutmayın.
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); Logger.log(output.getTitle());
Return
String: Sayfanın başlığı.
getWidth()
Google Dokümanlar, E-Tablolar veya Formlar'da özel iletişim kutusunun ilk genişliğini alır. HtmlOutput bunun yerine web uygulaması olarak yayınlanırsa bu yöntem null değerini döndürür. Zaten açık olan bir iletişim kutusunu yeniden boyutlandırmak için istemci tarafı kodunda
google.script.host.setWidth(width) işlevini çağırın.
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); output.setWidth(200); Logger.log(output.getWidth());
Return
Integer: Piksel cinsinden genişlik.
setContent(content)
Bu HtmlOutput öğesinin içeriğini ayarlar.
const output = HtmlService.createHtmlOutput(); output.setContent(&<#>39;bHello, wo<rl>d!/b');
Parametreler
| Ad | Tür | Açıklama |
|---|---|---|
content | String | Sunulacak içerik. |
Return
HtmlOutput: Zincirleme için bu çıkış.
Verdiği hatalar
Error: HTML bozuksa
setFaviconUrl(iconUrl)
Sayfaya bir favicon bağlantı etiketi ekler. Doğrudan bir Apps Script HTML dosyasına eklenen favicon bağlantı etiketleri yoksayılır.
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); output.setFaviconUrl('http://www.example.com/image.png');
Parametreler
| Ad | Tür | Açıklama |
|---|---|---|
icon | String | Resim türünü belirten resim uzantısıyla birlikte site simgesi resminin URL'si. |
Return
HtmlOutput: Zincirleme için bu çıkış.
setHeight(height)
Google Dokümanlar, E-Tablolar veya Formlar'da özel iletişim kutusunun ilk yüksekliğini ayarlar. HtmlOutput web uygulaması olarak yayınlanırsa bu yöntemin etkisi olmaz. Zaten açık olan bir iletişim kutusunu yeniden boyutlandırmak için istemci tarafı kodunda
google.script.host.setHeight(height) işlevini çağırın.
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); output.setHeight(200);
Parametreler
| Ad | Tür | Açıklama |
|---|---|---|
height | Integer | Piksel cinsinden yeni yükseklik. null varsayılan değerle sonuçlanır. |
Return
HtmlOutput: Zincirleme için bu çıkış.
setSandboxMode(mode)
Bu yöntem artık etkili değildir. Daha önce, istemci tarafı komut dosyaları için kullanılan sandbox
mode değerini ayarlıyordu. Kullanıcıların kötü amaçlı HTML veya JavaScript'in sunulmasından korunması için HTML hizmetinden sunulan istemci tarafı kodu, koda kısıtlamalar getiren bir güvenlik korumalı alanında yürütülür. Başlangıçta bu yöntem, komut dosyası yazarlarının korumalı alanın farklı sürümleri arasında seçim yapmasına olanak tanıyordu. Ancak artık tüm komut dosyaları, hangi korumalı alan modu ayarlanmış olursa olsun IFRAME modunu kullanıyor. Daha fazla bilgi için HTML hizmetindeki kısıtlamalarla ilgili kılavuza bakın.
IFRAME modu, diğer sanal alan modlarına kıyasla çok daha az kısıtlama uygular ve en hızlı şekilde çalışır ancak Internet Explorer 9 dahil olmak üzere belirli eski tarayıcılarda hiç çalışmaz. Sandbox modu, google.script.sandbox.mode incelenerek istemci tarafı komut dosyasında okunabilir. Bu özelliğin, istemcideki gerçek modu döndürdüğünü unutmayın. İstenen mod, kullanıcının tarayıcısında desteklenmiyorsa bu mod, sunucuda istenen moddan farklı olabilir.
<!-- Read the sandbox mode (in a client-side script). --> <script> alert(google.script.sandbox.mode); </script>
Parametreler
| Ad | Tür | Açıklama |
|---|---|---|
mode | Sandbox | Kullanılacak korumalı alan modu. |
Return
HtmlOutput: Zincirleme için bu çıkış.
setTitle(title)
Çıkış sayfasının başlığını ayarlar. Web uygulamaları için bu, sayfanın tamamının başlığıdır. Google E-Tablolar'da gösterilen HtmlOutput için ise bu, iletişim kutusunun başlığıdır.
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); output.setTitle('My First Page');
Parametreler
| Ad | Tür | Açıklama |
|---|---|---|
title | String | Yeni başlık. |
Return
HtmlOutput: Zincirleme için bu çıkış.
setWidth(width)
Google Dokümanlar, E-Tablolar veya Formlar'da özel iletişim kutusunun ilk genişliğini ayarlar. HtmlOutput web uygulaması olarak yayınlanırsa bu yöntemin etkisi olmaz. Zaten açık olan bir iletişim kutusunu yeniden boyutlandırmak için istemci tarafı kodunda
google.script.host.setWidth(width) işlevini çağırın.
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b'); output.setWidth(200);
Parametreler
| Ad | Tür | Açıklama |
|---|---|---|
width | Integer | Piksel cinsinden yeni genişlik. null varsayılan değerle sonuçlanır. |
Return
HtmlOutput: Zincirleme için bu çıkış.
setXFrameOptionsMode(mode)
Tıklama tuzağına karşı korumayı kontrol eden sayfanın X-Frame-Options başlığının durumunu ayarlar.
XFrameOptionsMode.ALLOWALL ayarı, herhangi bir sitenin sayfayı iFrame'e yerleştirmesine izin verir. Bu nedenle, geliştiricinin tıklama korsanlığına karşı kendi korumasını uygulaması gerekir.
Bir komut dosyası X-Frame-Options modunu ayarlamazsa Apps Komut Dosyası varsayılan olarak XFrameOptionsMode.DEFAULT modunu kullanır.
// 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);
Parametreler
| Ad | Tür | Açıklama |
|---|---|---|
mode | XFrameOptionsMode | Ayarlanacak XFrame seçenekleri modu. |
Return
HtmlOutput: Zincirleme için bu çıkış.