Komut dosyasından yayınlanabilen bir Html
nesnesi. Güvenlik nedeniyle komut dosyaları, tarayıcıya doğrudan HTML döndüremez. Bunun yerine, kötü amaçlı işlemler yapamamaları için verileri temizlemeleri gerekir. Arındırılmış HTML'yi şu şekilde döndürebilirsiniz:
function doGet() { return HtmlService.createHtmlOutput('<b>Hello, world!</b>'); }
Html Output
içindeki kod, yerleşik JavaScript ve CSS içerebilir. (Bu, DOM'u değiştiren standart istemci tarafı JavaScript'tir, Apps Script değildir). Bu içeriğin tümü, iframe korumalı alanı kullanılarak korumalı alana alınır. Daha fazla bilgi için HTML hizmetindeki kısıtlamalar kılavuzuna göz atın.Yöntemler
Yöntem | Dönüş türü | Kısa açıklama |
---|---|---|
add | Html | Sayfaya meta etiket ekler. |
append(addedContent) | Html | Bu Html içeriğine yeni içerik ekler. |
append | Html | Bağlamsal kaçış karakteri kullanarak bu Html içeriğine yeni içerik ekler. |
as | Html | Bu 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ürme. |
get | Blob | Bu nesnenin içindeki verileri bir blob olarak döndürme. |
get | String | Bu Html öğesinin içeriğini alır. |
get | String | set çağrısı yaparak sayfaya eklenen bir site simgesi bağlantısı etiketinin URL'sini alır. |
get | Integer | Google Dokümanlar, E-Tablolar veya Forms'daki özel iletişim kutusunun ilk yüksekliğini alır. |
get | Html | add çağrısı yapı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 Forms'daki özel iletişim kutusunun ilk genişliğini alır. |
set | Html | Bu Html öğesinin içeriğini belirler. |
set | Html | Sayfaya bir simge resmi bağlantısı etiketi ekler. |
set | Html | Google Dokümanlar, E-Tablolar veya Formlar'daki özel iletişim kutusunun ilk yüksekliğini belirler. |
set | Html | Bu yöntemin artık hiçbir etkisi yoktur. 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 Forms'da bir özel iletişim kutusunun ilk genişliğini belirler. |
set | Html | Tıklama tuşuyla saldırı önlemesini kontrol eden sayfanın X-Frame-Options başlığının durumunu ayarlar. |
Ayrıntılı dokümanlar
add Meta Tag(name, content)
Sayfaya meta etiket ekler. Doğrudan bir Apps Komut Dosyası HTML dosyasına eklenen meta etiketleri yoksayılır. Yalnızca aşağıdaki meta etiketlere izin verilir:
<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');
Parametreler
Ad | Tür | Açıklama |
---|---|---|
name | String | Meta etiketinin ad özelliğinin değeri. |
content | String | Meta etiketinin content özelliğinin değeri. |
Return
Html
: Zincirleme için bu çıkış.
append(addedContent)
Bu Html
içeriğine yeni içerik ekler. Bu seçenek, kaçış karakteri içermediği için yalnızca güvenilir bir kaynaktan gelen içerikler için kullanılmalıdır.
// 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());
Parametreler
Ad | Tür | Açıklama |
---|---|---|
added | String | Eklenecek içerik. |
Return
Html
: Zincirleme için bu çıkış.
Atışlar
Error
: HTML bozuksa
Aşağıdaki kaynakları da incelemenizi öneririz:
append Untrusted(addedContent)
Bağlamsal kaçış karakteri kullanarak bu Html
içeriğine yeni içerik ekler.
Bu yöntem, Html
'ün mevcut durumuna göre içeriği doğru şekilde kaçar. Böylece sonuç, işaretleme veya yan etki içermeyen güvenli bir dize olur. Eklediğiniz içeriğin 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 vermemek için, güvenilmeyen bir kaynaktan (ör. kullanıcı) içerik eklerken append yerine bunu kullanın.
// Log "<b>Hello, world!</b><p>Hello again, world.</p>" const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.appendUntrusted('<p>Hello again, world.</p>'); Logger.log(output.getContent());
Parametreler
Ad | Tür | Açıklama |
---|---|---|
added | String | Eklenecek içerik. |
Return
Html
: Zincirleme için bu çıkış.
Atışlar
Error
: HTML çok kötü biçimlendirilmişse
Aşağıdaki kaynakları da incelemenizi öneririz:
as Template()
Bu Html
tarafından desteklenen bir Html
döndürür. Bu yöntem, bir şablonu kademeli olarak oluşturmak için kullanılabilir. Html
'te yapılacak gelecekteki değişiklikler Html
'un içeriklerini de etkiler.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); const template = output.asTemplate();
Return
Html
: Yeni Html
.
clear()
Mevcut içeriği temizler.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.clear();
Return
Html
: Zincirleme için bu çıkış.
get As(contentType)
Bu nesnenin içindeki verileri, belirtilen içerik türüne dönüştürülmüş bir blob olarak döndürme. Bu yöntem, dosya adına uygun uzantıyı ekler (ör. "dosyam.pdf"). Ancak, dosya adının son noktayı (varsa) izleyen kısmının, değiştirilmesi gereken mevcut bir uzantı olduğu varsayılır. Sonuç olarak, "AlışverişListesi.25.12.2014", "AlışverişListesi.25.12.pdf" olur.
Dönüşümler için günlük kotaları görüntülemek istiyorsanız Google Hizmetleri için 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 'application/pdf' tek geçerli seçenektir. BMP, GIF, JPEG veya PNG biçimindeki resimler için 'image/bmp' , 'image/gif' , 'image/jpeg' veya 'image/png' değerlerinden herhangi biri de geçerlidir. Google Dokümanlar dokümanı için 'text/markdown' de geçerlidir. |
Return
Blob
: Veriler bir blob olarak.
get Blob()
get Content()
Bu Html
öğesinin içeriğini alır.
// Log "<b>Hello, world!</b>" const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); Logger.log(output.getContent());
Return
String
: Sunulan içerik.
get Favicon Url()
set
çağrısı yaparak sayfaya eklenen bir site simgesi bağlantısı etiketinin URL'sini alır. Doğrudan bir Apps Komut Dosyası HTML dosyasına eklenen site simgesi bağlantısı etiketleri yoksayılır.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setFaviconUrl('http://www.example.com/image.png'); Logger.log(output.getFaviconUrl());
Return
String
: Site simgesi resminin URL'si.
get Height()
Google Dokümanlar, E-Tablolar veya Forms'daki özel iletişim kutusunun ilk yüksekliğini alır. Html
bunun yerine web uygulaması olarak yayınlanırsa bu yöntem null
değerini döndürür. 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('<b>Hello, world!</b>'); output.setHeight(200); Logger.log(output.getHeight());
Return
Integer
: Piksel cinsinden yükseklik.
get Meta Tags()
add
çağrısı yapılarak sayfaya eklenen meta etiketleri temsil eden bir nesne dizisi alır. Doğrudan bir Apps Komut Dosyası HTML dosyasına eklenen meta etiketleri yoksayılır.
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(), );
Return
Html
: add
çağrısı yapılarak sayfaya eklenen meta etiketleri temsil eden bir nesne dizisi.
get Title()
Çıkış sayfasının başlığını alır. <title> HTML öğesinin yoksayıldığını unutmayın.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); Logger.log(output.getTitle());
Return
String
: Sayfanın başlığı.
get Width()
Google Dokümanlar, E-Tablolar veya Forms'daki özel iletişim kutusunun ilk genişliğini alır. Html
bunun yerine web uygulaması olarak yayınlanırsa bu yöntem null
değerini döndürür. 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('<b>Hello, world!</b>'); output.setWidth(200); Logger.log(output.getWidth());
Return
Integer
: Piksel cinsinden genişlik.
set Content(content)
Bu Html
öğesinin içeriğini belirler.
const output = HtmlService.createHtmlOutput(); output.setContent('<b>Hello, world!</b>');
Parametreler
Ad | Tür | Açıklama |
---|---|---|
content | String | Yayınlanacak içerik. |
Return
Html
: Zincirleme için bu çıkış.
Atışlar
Error
: HTML bozuksa
set Favicon Url(iconUrl)
Sayfaya bir simge resmi bağlantısı etiketi ekler. Doğrudan bir Apps Script HTML dosyasına eklenen favori simgesi bağlantısı etiketleri yoksayılır.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</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ı ile birlikte site simgesi resminin URL'si. |
Return
Html
: Zincirleme için bu çıkış.
set Height(height)
Google Dokümanlar, E-Tablolar veya Formlar'daki özel iletişim kutusunun ilk yüksekliğini belirler. Html
bunun yerine web uygulaması olarak yayınlanırsa bu yöntemin hiçbir etkisi olmaz. 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('<b>Hello, world!</b>'); output.setHeight(200);
Parametreler
Ad | Tür | Açıklama |
---|---|---|
height | Integer | Yeni yükseklik (piksel cinsinden); null varsayılan değerdir. |
Return
Html
: Zincirleme için bu çıkış.
set Sandbox Mode(mode)
Bu yöntemin artık hiçbir etkisi yoktur. 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'e maruz kalmasını önlemek için HTML hizmetinden sunulan istemci tarafı kod, koda kısıtlamalar uygulayan bir güvenlik korumalı alanında yürütülür. Bu yöntem başlangıçta komut dosyası yazarlarının korumalı alanın farklı sürümleri arasında seçim yapmasına olanak tanımasına rağmen artık tüm komut dosyaları, ayarlanan korumalı alan modundan bağımsız olarak IFRAME
modunu kullanır. Daha fazla bilgi için HTML hizmetindeki kısıtlamalar kılavuzuna göz atın.
IFRAME
modu, diğer korumalı 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. Korumalı alan modu, google.script.sandbox.mode
incelenerek istemci tarafı komut dosyasında okunabilir. Bu mülkün, istemcide gerçek modu döndürdüğünü unutmayın. İstenilen 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
Html
: Zincirleme için bu çıkış.
set Title(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 Html
için ise iletişim kutusu başlığıdır.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setTitle('My First Page');
Parametreler
Ad | Tür | Açıklama |
---|---|---|
title | String | Yeni başlık. |
Return
Html
: Zincirleme için bu çıkış.
set Width(width)
Google Dokümanlar, E-Tablolar veya Forms'da bir özel iletişim kutusunun ilk genişliğini belirler. Html
bunun yerine web uygulaması olarak yayınlanırsa bu yöntemin hiçbir etkisi olmaz. 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('<b>Hello, world!</b>'); output.setWidth(200);
Parametreler
Ad | Tür | Açıklama |
---|---|---|
width | Integer | Piksel cinsinden yeni genişlik. null , varsayılan değer döndürür. |
Return
Html
: Zincirleme için bu çıkış.
set XFrame Options Mode(mode)
Tıklama tuşuyla saldırı önlemesini kontrol eden sayfanın X-Frame-Options
başlığının durumunu ayarlar.
XFrameOptionsMode.ALLOWALL
ayarı, herhangi bir sitenin sayfayı iFrame içine almasına izin verir. Bu nedenle, geliştirici tıklama tuşuyla saldırıya karşı kendi korumasını uygulamalıdır.
Bir komut dosyası X-Frame-Options
modu ayarlamazsa Apps Script 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('<b>Hello, world!</b>'); output.setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL);
Parametreler
Ad | Tür | Açıklama |
---|---|---|
mode | XFrameOptionsMode | Ayarlanacak XFrame seçenekleri modu. |
Return
Html
: Zincirleme için bu çıkış.