Class HtmlOutput

HtmlOutput

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öntemDönüş türüKısa açıklama
addMetaTag(name, content)HtmlOutputSayfaya bir meta etiket ekler.
append(addedContent)HtmlOutputBu HtmlOutput öğesinin içeriğine yeni içerik ekler.
appendUntrusted(addedContent)HtmlOutputBağlamsal çıkış yapma yöntemini kullanarak bu HtmlOutput öğesinin içeriğine yeni içerik ekler.
asTemplate()HtmlTemplateBu HtmlOutput tarafından desteklenen bir HtmlTemplate döndürür.
clear()HtmlOutputGeçerli içeriği temizler.
getAs(contentType)BlobBu nesnenin içindeki verileri, belirtilen içerik türüne dönüştürülmüş bir blob olarak döndürün.
getBlob()BlobBu nesnenin içindeki verileri blob olarak döndürün.
getContent()StringBu HtmlOutput öğesinin içeriğini alır.
getFaviconUrl()StringsetFaviconUrl(iconUrl) yöntemini çağırarak sayfaya eklenen site simgesi bağlantı etiketinin URL'sini alır.
getHeight()IntegerGoogle 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()IntegerGoogle Dokümanlar, E-Tablolar veya Formlar'da özel iletişim kutusunun ilk genişliğini alır.
setContent(content)HtmlOutputBu HtmlOutput öğesinin içeriğini ayarlar.
setFaviconUrl(iconUrl)HtmlOutputSayfaya site simgesi için bir bağlantı etiketi ekler.
setHeight(height)HtmlOutputGoogle Dokümanlar, E-Tablolar veya Formlar'da özel iletişim kutusunun başlangıç yüksekliğini ayarlar.
setSandboxMode(mode)HtmlOutputDaha ö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)HtmlOutputGoogle Dokümanlar, E-Tablolar veya Formlar'da bir özel iletişim kutusunun başlangıç genişliğini ayarlar.
setXFrameOptionsMode(mode)HtmlOutputSayfanı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

AdTürAçıklama
nameStringMeta etiketin ad özelliğinin değeri.
contentStringMeta 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

AdTürAçıklama
addedContentStringEklenecek 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>&lt;p&gt;Hello again, world.&lt;/p&gt;"
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.appendUntrusted('<p>Hello again, world.</p>');
Logger.log(output.getContent());

Parametreler

AdTürAçıklama
addedContentStringEklenecek 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

AdTürAçıklama
contentTypeStringDö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()

Bu nesnenin içindeki verileri blob olarak döndürün.

Return

Blob: Blob halinde veriler.


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

AdTürAçıklama
contentStringYayı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

AdTürAçıklama
iconUrlStringSite 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

AdTürAçıklama
heightIntegerPiksel 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

AdTürAçıklama
modeSandboxModeKullanı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

AdTürAçıklama
titleStringYeni 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

AdTürAçıklama
widthIntegerPiksel 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

AdTürAçıklama
modeXFrameOptionsModeAyarlanacak XFrame seçenekler modu.

Return

HtmlOutput: Zincirleme için bu çıkış.