Bir komut dosyasından sunulabilen HtmlOutput
nesnesi. Güvenlik nedeniyle, komut dosyaları HTML'yi doğrudan tarayıcıya döndüremez. Bunun yerine, kötü amaçlı işlemler gerçekleştirememesi
için içeriği temizlemeleri gerekir. Temizlenmiş HTML'yi şu şekilde döndürebilirsiniz:
function doGet() { return HtmlService.createHtmlOutput('<b>Hello, world!</b>'); }
HtmlOutput
içindeki kod, yerleştirilmiş JavaScript ve CSS içerebilir. (Bu, Apps Komut Dosyası değil, DOM'a müdahale eden standart istemci tarafı JavaScript'tir). Bu içeriğin tamamı iframe korumalı alanı kullanılarak korumalı alana 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 |
---|---|---|
addMetaTag(name, content) | HtmlOutput | Sayfaya bir meta etiket ekler. |
append(addedContent) | HtmlOutput | Bu HtmlOutput öğesinin içeriğine yeni içerik ekler. |
appendUntrusted(addedContent) | HtmlOutput | Bağlamsal çıkış yapma yöntemini kullanarak bu HtmlOutput öğesinin içeriğine yeni içerik ekler. |
asTemplate() | HtmlTemplate | Bu HtmlOutput tarafından desteklenen bir HtmlTemplate döndürür. |
clear() | HtmlOutput | Geçerli içeriği temizler. |
getAs(contentType) | Blob | Bu nesnenin içindeki verileri, belirtilen içerik türüne dönüştürülmüş bir blob olarak döndürün. |
getBlob() | Blob | Bu nesnenin içindeki verileri blob olarak döndürün. |
getContent() | String | Bu HtmlOutput öğesinin içeriğini alır. |
getFaviconUrl() | String | setFaviconUrl(iconUrl) yöntemini çağırarak sayfaya eklenen site simgesi bağlantı etiketinin URL'sini alır. |
getHeight() | Integer | Google Dokümanlar, E-Tablolar veya Formlar'da özel iletişim kutusunun ilk yüksekliğini alır. |
getMetaTags() | HtmlOutputMetaTag[] | addMetaTag(name, content) yöntemini çağırarak sayfaya eklenen meta etiketleri temsil eden bir nesne dizisi alır. |
getTitle() | String | Çıkış sayfasının başlığını alır. |
getWidth() | Integer | Google Dokümanlar, E-Tablolar veya Formlar'da özel iletişim kutusunun ilk genişliğini alır. |
setContent(content) | HtmlOutput | Bu HtmlOutput öğesinin içeriğini ayarlar. |
setFaviconUrl(iconUrl) | HtmlOutput | Sayfaya site simgesi için bir bağlantı etiketi ekler. |
setHeight(height) | HtmlOutput | Google Dokümanlar, E-Tablolar veya Formlar'da özel iletişim kutusunun başlangıç yüksekliğini ayarlar. |
setSandboxMode(mode) | HtmlOutput | Daha önce istemci taraflı komut dosyaları için kullanılan sandbox
mode yöntemini ayarlarken bu yöntemin artık hiçbir etkisi yoktur. |
setTitle(title) | HtmlOutput | Çıkış sayfasının başlığını ayarlar. |
setWidth(width) | HtmlOutput | Google Dokümanlar, E-Tablolar veya Formlar'da bir özel iletişim kutusunun başlangıç genişliğini ayarlar. |
setXFrameOptionsMode(mode) | HtmlOutput | Sayfanın tıklama korsanlığını önlemeyi kontrol eden X-Frame-Options üst bilgisinin durumunu ayarlar. |
Ayrıntılı belgeler
addMetaTag(name, content)
Sayfaya bir meta etiket ekler. Doğrudan Apps Komut Dosyası HTML dosyasına eklenen meta etiketler 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="..."/>
var 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 etiketin ad özelliğinin değeri. |
content | String | Meta etiketin content özelliğinin değeri. |
Return
HtmlOutput
: Zincirleme için bu çıkış.
append(addedContent)
Bu HtmlOutput
öğesinin içeriğine yeni içerik ekler. Çıkış yapılmadığından, bunu yalnızca güvenilir bir kaynaktan gelen içerik için kullanın.
// 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());
Parametreler
Ad | Tür | Açıklama |
---|---|---|
addedContent | String | Eklenecek içerik. |
Return
HtmlOutput
: Zincirleme için bu çıkış.
Dekoratif yastıklar
Error
- HTML hatalıysa
Aşağıdaki kaynakları da incelemenizi öneririz:
appendUntrusted(addedContent)
Bağlamsal çıkış yapma yöntemini kullanarak bu HtmlOutput
öğesinin içeriğine yeni içerik ekler.
Bu yöntem, içeriği HtmlOutput
öğesinin mevcut durumuna göre doğru şekilde çıkış yapar. Böylece sonuç, işaretleme veya yan etkisi olmayan güvenli bir dize olur. Güvenilmeyen bir kaynaktan (ör. bir kullanıcıdan) içerik eklediğinizde, eklediğiniz içeriğin veya işaretlemenin beklenmedik kod yürütülmesine neden olduğu siteler arası komut dosyası (XSS) hatasına yanlışlıkla izin vermemek için "append" yerine bunu kullanın.
// 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());
Parametreler
Ad | Tür | Açıklama |
---|---|---|
addedContent | String | Eklenecek içerik. |
Return
HtmlOutput
: Zincirleme için bu çıkış.
Dekoratif yastıklar
Error
- HTML çok hatalı biçimlendirilmişse
Aşağıdaki kaynakları da incelemenizi öneririz:
asTemplate()
Bu HtmlOutput
tarafından desteklenen bir HtmlTemplate
döndürür. Bu yöntem, bir şablonu kademeli olarak
oluşturmak için kullanılabilir. HtmlOutput
özelliğinde gelecekte yapılacak değişiklikler, HtmlTemplate
içeriğini de etkileyecektir.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); var template = output.asTemplate();
Return
HtmlTemplate
— Yeni HtmlTemplate
.
clear()
Geçerli içeriği temizler.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</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ün. Bu yöntem, dosya adına uygun uzantıyı ekler (örneğin, "dosyam.pdf"). Bununla birlikte, dosya adında son noktanın ardından gelen bölümün (varsa) değiştirilmesi gereken mevcut bir uzantı olduğu varsayılır. Sonuç olarak, "ShoppingList.12.25.2014", "ShoppingList.12.25.pdf" haline gelir.
Günlük dönüşüm kotalarını görüntülemek için Google Hizmetleri Kotalar bölümüne bakın. Yeni oluşturulan Google Workspace alanları geçici olarak daha sıkı kotalara tabi olabilir.
Parametreler
Ad | Tür | Açıklama |
---|---|---|
contentType | String | Dönüştürülecek MIME türü. Çoğu blob için geçerli tek seçenek 'application/pdf' 'tir. BMP, GIF, JPEG veya PNG biçimindeki resimler için 'image/bmp' , 'image/gif' , 'image/jpeg' veya 'image/png' değerleri de geçerlidir. |
Return
Blob
: Blob halinde veriler.
getBlob()
getContent()
Bu HtmlOutput
öğesinin içeriğini alır.
// Log "<b>Hello, world!</b>" var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); Logger.log(output.getContent());
Return
String
: Yayınlanan içerik.
getFaviconUrl()
setFaviconUrl(iconUrl)
yöntemini çağırarak sayfaya eklenen 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.
var 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.
getHeight()
Google Dokümanlar, E-Tablolar veya Formlar'da ö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. Açık olan bir iletişim kutusunu yeniden boyutlandırmak için istemci tarafı kodda
google.script.host.setHeight(height)
çağrısı yapın.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setHeight(200); Logger.log(output.getHeight());
Return
Integer
: Piksel cinsinden yükseklik.
getMetaTags()
addMetaTag(name, content)
yöntemini çağırarak sayfaya eklenen meta etiketleri temsil eden bir nesne dizisi alır. Doğrudan Apps Komut Dosyası HTML dosyasına eklenen meta etiketler yoksayılır.
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[]
: Sayfaya addMetaTag(name, content)
çağrısı yapılarak eklenen meta etiketleri temsil eden nesne dizisi.
getTitle()
Çıkış sayfasının başlığını alır. <title> HTML öğesinin yoksayıldığını unutmayın.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</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. Açık olan bir iletişim kutusunu yeniden boyutlandırmak için istemci tarafı kodda
google.script.host.setWidth(width)
çağrısı yapın.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setWidth(200); Logger.log(output.getWidth());
Return
Integer
: Piksel cinsinden genişlik.
setContent(content)
Bu HtmlOutput
öğesinin içeriğini ayarlar.
var output = HtmlService.createHtmlOutput(); output.setContent('<b>Hello, world!</b>');
Parametreler
Ad | Tür | Açıklama |
---|---|---|
content | String | Yayınlanacak içerik. |
Return
HtmlOutput
: Zincirleme için bu çıkış.
Dekoratif yastıklar
Error
- HTML hatalıysa
setFaviconUrl(iconUrl)
Sayfaya site simgesi için bir bağlantı etiketi ekler. Doğrudan bir Apps Komut Dosyası HTML dosyasına eklenen site simgesi bağlantı etiketleri yoksayılır.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setFaviconUrl('http://www.example.com/image.png');
Parametreler
Ad | Tür | Açıklama |
---|---|---|
iconUrl | String | Site simgesi resminin URL'si (resim uzantısı, resmin türünü belirtir). |
Return
HtmlOutput
: Zincirleme için bu çıkış.
setHeight(height)
Google Dokümanlar, E-Tablolar veya Formlar'da özel iletişim kutusunun başlangıç yüksekliğini ayarlar. HtmlOutput
web uygulaması olarak yayınlanırsa bu yöntemin herhangi bir etkisi olmaz. Açık olan bir iletişim kutusunu yeniden boyutlandırmak için istemci tarafı kodda
google.script.host.setHeight(height)
çağrısı yapın.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setHeight(200);
Parametreler
Ad | Tür | Açıklama |
---|---|---|
height | Integer | Piksel cinsinden yeni yükseklik; null , varsayılan bir değerle sonuçlanır. |
Return
HtmlOutput
: Zincirleme için bu çıkış.
setSandboxMode(mode)
Daha önce istemci taraflı komut dosyaları için kullanılan sandbox
mode
yöntemini ayarlarken bu yöntemin artık hiçbir etkisi yoktur. Kullanıcılara kötü amaçlı HTML veya JavaScript'in sunulması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. 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 modunun ayarlandığına bakılmaksızın artık IFRAME
modunu kullanıyor. Daha fazla bilgi için HTML hizmetindeki kısıtlamalarla ilgili kılavuza bakın.
IFRAME
modu, diğer korumalı alan modlarına kıyasla çok daha az kısıtlamaya neden olur 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 özelliğin istemcide gerçek modu döndürdüğünü unutmayın. Bu, kullanıcının tarayıcısında istenen mod desteklenmiyorsa 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 | SandboxMode | 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, tüm sayfanın başlığıdır. Google E-Tablolar'da gösterilen HtmlOutput
için ise iletişim kutusu başlığıdır.
var 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
HtmlOutput
: Zincirleme için bu çıkış.
setWidth(width)
Google Dokümanlar, E-Tablolar veya Formlar'da bir özel iletişim kutusunun başlangıç genişliğini ayarlar. HtmlOutput
web uygulaması olarak yayınlanırsa bu yöntemin herhangi bir etkisi olmaz. Açık olan bir iletişim kutusunu yeniden boyutlandırmak için istemci tarafı kodda
google.script.host.setWidth(width)
çağrısı yapın.
var 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ğerle sonuçlanır. |
Return
HtmlOutput
: Zincirleme için bu çıkış.
setXFrameOptionsMode(mode)
Sayfanın tıklama korsanlığını önlemeyi kontrol eden X-Frame-Options
üst bilgisinin durumunu ayarlar.
XFrameOptionsMode.ALLOWALL
politikasının ayarlanması, herhangi bir sitenin sayfaya iç çerçeve (iframe) uygulamasına izin verir. Bu nedenle, geliştirici tıklama korsanlığına karşı kendi korumasını uygulamalıdır.
Komut dosyası bir X-Frame-Options
modu ayarlamıyorsa 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). var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL);
Parametreler
Ad | Tür | Açıklama |
---|---|---|
mode | XFrameOptionsMode | Ayarlanacak XFrame seçenekler modu. |
Return
HtmlOutput
: Zincirleme için bu çıkış.