Class HtmlOutput

Htmlआउटपुट

एक HtmlOutput ऑब्जेक्ट, जिसे स्क्रिप्ट से दिखाया जा सकता है. सुरक्षा से जुड़ी वजहों से, स्क्रिप्ट सीधे तौर पर ब्राउज़र को एचटीएमएल नहीं दिखा सकतीं. इसके बजाय, उन्हें इसे साफ़ करना होगा, ताकि यह नुकसान पहुंचाने वाली कार्रवाइयां न कर सके. सैनिटाइज़ किया गया एचटीएमएल इस तरह दिखाया जा सकता है:

function doGet() {
  return HtmlService.createHtmlOutput('<b>Hello, world!</b>');
}
HtmlOutput में मौजूद कोड में, एम्बेड की गई JavaScript और CSS शामिल हो सकती है. (यह स्टैंडर्ड क्लाइंट-साइड JavaScript है, जो DOM में बदलाव करता है, न कि Apps Script). इस पूरे कॉन्टेंट को iframe सैंडबॉक्सिंग का इस्तेमाल करके सैंडबॉक्स किया जाता है. ज़्यादा जानकारी के लिए, एचटीएमएल सेवा में पाबंदियों के बारे में गाइड देखें.

तरीके

तरीकारिटर्न टाइपसंक्षिप्त विवरण
addMetaTag(name, content)HtmlOutputपेज में मेटा टैग जोड़ता है.
append(addedContent)HtmlOutputइस HtmlOutput के कॉन्टेंट में नया कॉन्टेंट जोड़ता है.
appendUntrusted(addedContent)HtmlOutputकॉन्टेक्स्ट के हिसाब से एस्केप करने की सुविधा का इस्तेमाल करके, इस HtmlOutput के कॉन्टेंट में नया कॉन्टेंट जोड़ता है.
asTemplate()HtmlTemplateइस HtmlOutput से जुड़ा HtmlTemplate दिखाता है.
clear()HtmlOutputमौजूदा कॉन्टेंट मिटाता है.
getAs(contentType)Blobइस ऑब्जेक्ट में मौजूद डेटा को, तय किए गए कॉन्टेंट टाइप में बदले गए ब्लॉब के तौर पर दिखाता है.
getBlob()Blobइस ऑब्जेक्ट में मौजूद डेटा को ब्लॉब के तौर पर दिखाएं.
getContent()Stringइस HtmlOutput का कॉन्टेंट पाता है.
getFaviconUrl()StringsetFaviconUrl(iconUrl) को कॉल करके, पेज पर जोड़े गए फ़ेविकॉन लिंक टैग का यूआरएल पाता है.
getHeight()IntegerGoogle Docs, Sheets या Forms में कस्टम डायलॉग बॉक्स की शुरुआती ऊंचाई दिखाता है.
getMetaTags()HtmlOutputMetaTag[]addMetaTag(name, content) को कॉल करके, पेज पर जोड़े गए मेटा टैग दिखाने वाले ऑब्जेक्ट का कलेक्शन पाता है.
getTitle()Stringआउटपुट पेज का टाइटल दिखाता है.
getWidth()IntegerGoogle Docs, Sheets या Forms में कस्टम डायलॉग बॉक्स की शुरुआती चौड़ाई दिखाता है.
setContent(content)HtmlOutputइस HtmlOutput का कॉन्टेंट सेट करता है.
setFaviconUrl(iconUrl)HtmlOutputपेज पर फ़ैविकॉन के लिए लिंक टैग जोड़ता है.
setHeight(height)HtmlOutputGoogle Docs, Sheets या Forms में कस्टम डायलॉग बॉक्स की शुरुआती ऊंचाई सेट करता है.
setSandboxMode(mode)HtmlOutputइस तरीके का अब कोई असर नहीं पड़ता — पहले यह क्लाइंट-साइड स्क्रिप्ट के लिए इस्तेमाल किया जाने वाला sandbox mode सेट करता था.
setTitle(title)HtmlOutputआउटपुट पेज का टाइटल सेट करता है.
setWidth(width)HtmlOutputGoogle Docs, Sheets या Forms में, कस्टम डायलॉग बॉक्स की शुरुआती चौड़ाई सेट करता है.
setXFrameOptionsMode(mode)HtmlOutputपेज के X-Frame-Options हेडर की स्थिति सेट करता है. इससे क्लिक जैकिंग को रोकने की सुविधा को कंट्रोल किया जाता है.

ज़्यादा जानकारी वाला दस्तावेज़

addMetaTag(name, content)

पेज में मेटा टैग जोड़ता है. Apps Script की एचटीएमएल फ़ाइल में सीधे तौर पर शामिल किए गए मेटा टैग को ignored कर दिया जाता है. सिर्फ़ इन मेटा टैग का इस्तेमाल किया जा सकता है:

<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');

पैरामीटर

नामटाइपब्यौरा
nameStringमेटा टैग के name एट्रिब्यूट की वैल्यू.
contentStringमेटा टैग के कॉन्टेंट एट्रिब्यूट की वैल्यू.

वापसी का टिकट

HtmlOutput — चेन बनाने के लिए यह आउटपुट.


append(addedContent)

इस HtmlOutput के कॉन्टेंट में नया कॉन्टेंट जोड़ता है. इसका इस्तेमाल सिर्फ़ भरोसेमंद सोर्स से लिए गए कॉन्टेंट के लिए करें, क्योंकि यह एस्केप नहीं होता.

// 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());

पैरामीटर

नामटाइपब्यौरा
addedContentStringजोड़ने के लिए कॉन्टेंट.

वापसी का टिकट

HtmlOutput — चेन बनाने के लिए यह आउटपुट.

थ्रो

Error — अगर एचटीएमएल गलत तरीके से बनाया गया है

इन्हें भी देखें


appendUntrusted(addedContent)

कॉन्टेक्स्ट के हिसाब से एस्केप करने की सुविधा का इस्तेमाल करके, इस HtmlOutput के कॉन्टेंट में नया कॉन्टेंट जोड़ता है.

यह तरीका, HtmlOutput की मौजूदा स्थिति के आधार पर कॉन्टेंट को सही तरीके से एस्केप करता है, ताकि नतीजा एक सुरक्षित स्ट्रिंग के तौर पर दिखे. इसमें कोई मार्कअप या साइड इफ़ेक्ट नहीं होता. जब भी किसी अविश्वसनीय सोर्स से कॉन्टेंट जोड़ें, तो append के बजाय इसका इस्तेमाल करें. जैसे, किसी उपयोगकर्ता से कॉन्टेंट जोड़ना. इससे, क्रॉस-साइट स्क्रिप्टिंग (XSS) बग को गलती से अनुमति देने से बचा जा सकता है. इस बग की वजह से, जोड़ा गया कॉन्टेंट या मार्कअप, अनचाहे कोड को लागू कर देता है.

// Log "<b>Hello, world!</b>&lt;p&gt;Hello again, world.&lt;/p&gt;"
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.appendUntrusted('<p>Hello again, world.</p>');
Logger.log(output.getContent());

पैरामीटर

नामटाइपब्यौरा
addedContentStringजोड़ने के लिए कॉन्टेंट.

वापसी का टिकट

HtmlOutput — चेन बनाने के लिए यह आउटपुट.

थ्रो

Error — अगर एचटीएमएल बहुत गलत तरीके से बनाया गया है

इन्हें भी देखें


asTemplate()

इस HtmlOutput से जुड़ा HtmlTemplate दिखाता है. इस तरीके का इस्तेमाल करके, टेंप्लेट को धीरे-धीरे बनाया जा सकता है. HtmlOutput में होने वाले बदलावों का असर, HtmlTemplate के कॉन्टेंट पर भी पड़ता है.

const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
const template = output.asTemplate();

वापसी का टिकट

HtmlTemplate — नया HtmlTemplate.


clear()

मौजूदा कॉन्टेंट मिटाता है.

const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.clear();

वापसी का टिकट

HtmlOutput — चेन बनाने के लिए यह आउटपुट.


getAs(contentType)

इस ऑब्जेक्ट में मौजूद डेटा को, तय किए गए कॉन्टेंट टाइप में बदले गए ब्लॉब के तौर पर दिखाता है. इस तरीके से, फ़ाइल के नाम में सही एक्सटेंशन जुड़ जाता है. जैसे, "myfile.pdf". हालांकि, यह माना जाता है कि फ़ाइल के नाम के आखिरी पीरियड (अगर कोई है) के बाद का हिस्सा, मौजूदा एक्सटेंशन है और इसे बदला जाना चाहिए. इसलिए, "ShoppingList.12.25.2014", "ShoppingList.12.25.pdf" हो जाता है.

कन्वर्ज़न के लिए हर दिन के कोटे देखने के लिए, Google की सेवाओं के लिए कोटे देखें. नए बनाए गए Google Workspace डोमेन पर, कुछ समय के लिए ज़्यादा कड़े कोटे लागू हो सकते हैं.

पैरामीटर

नामटाइपब्यौरा
contentTypeStringजिस MIME टाइप में बदलना है. ज़्यादातर ब्लॉब के लिए, 'application/pdf' ही एक मान्य विकल्प है. BMP, GIF, JPEG या PNG फ़ॉर्मैट में मौजूद इमेज के लिए, 'image/bmp', 'image/gif', 'image/jpeg' या 'image/png' में से कोई भी वैल्यू इस्तेमाल की जा सकती है. Google Docs दस्तावेज़ के लिए, 'text/markdown' भी मान्य है.

वापसी का टिकट

Blob — डेटा को ब्लॉब के तौर पर दिखाया गया है.


getBlob()

इस ऑब्जेक्ट में मौजूद डेटा को ब्लॉब के तौर पर दिखाएं.

वापसी का टिकट

Blob — डेटा को ब्लॉब के तौर पर दिखाया गया है.


getContent()

इस HtmlOutput का कॉन्टेंट पाता है.

// Log "<b>Hello, world!</b>"
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
Logger.log(output.getContent());

वापसी का टिकट

String — दिखाया जाने वाला कॉन्टेंट.


getFaviconUrl()

setFaviconUrl(iconUrl) को कॉल करके, पेज पर जोड़े गए फ़ेविकॉन लिंक टैग का यूआरएल पाता है. Apps Script की एचटीएमएल फ़ाइल में सीधे तौर पर शामिल किए गए फ़ेविकॉन लिंक टैग को,

const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.setFaviconUrl('http://www.example.com/image.png');
Logger.log(output.getFaviconUrl());

वापसी का टिकट

String — फ़ेविकॉन इमेज का यूआरएल.


getHeight()

Google Docs, Sheets या Forms में कस्टम डायलॉग बॉक्स की शुरुआती ऊंचाई दिखाता है. अगर HtmlOutput को वेब ऐप्लिकेशन के तौर पर पब्लिश किया जाता है, तो यह तरीका null दिखाता है. पहले से खुले डायलॉग का साइज़ बदलने के लिए, क्लाइंट-साइड कोड में google.script.host.setHeight(height) को कॉल करें.

const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.setHeight(200);
Logger.log(output.getHeight());

वापसी का टिकट

Integer — ऊंचाई, पिक्सल में.


getMetaTags()

addMetaTag(name, content) को कॉल करके, पेज पर जोड़े गए मेटा टैग दिखाने वाले ऑब्जेक्ट का कलेक्शन पाता है. Apps Script की एचटीएमएल फ़ाइल में सीधे तौर पर शामिल किए गए मेटा टैग को ignored कर दिया जाता है.

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(),
);

वापसी का टिकट

HtmlOutputMetaTag[] — ऑब्जेक्ट की कैटगरी, जो addMetaTag(name, content) को कॉल करके पेज पर जोड़े गए मेटा टैग दिखाती है.


getTitle()

आउटपुट पेज का टाइटल दिखाता है. ध्यान दें कि <title> एचटीएमएल एलिमेंट को अनदेखा किया जाता है.

const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
Logger.log(output.getTitle());

वापसी का टिकट

String — पेज का टाइटल.


getWidth()

Google Docs, Sheets या Forms में कस्टम डायलॉग बॉक्स की शुरुआती चौड़ाई दिखाता है. अगर HtmlOutput को वेब ऐप्लिकेशन के तौर पर पब्लिश किया जाता है, तो यह तरीका null दिखाता है. पहले से खुले डायलॉग का साइज़ बदलने के लिए, क्लाइंट-साइड कोड में google.script.host.setWidth(width) को कॉल करें.

const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.setWidth(200);
Logger.log(output.getWidth());

वापसी का टिकट

Integer — चौड़ाई, पिक्सल में.


setContent(content)

इस HtmlOutput का कॉन्टेंट सेट करता है.

const output = HtmlService.createHtmlOutput();
output.setContent('<b>Hello, world!</b>');

पैरामीटर

नामटाइपब्यौरा
contentStringदिखाया जाने वाला कॉन्टेंट.

वापसी का टिकट

HtmlOutput — चेन बनाने के लिए यह आउटपुट.

थ्रो

Error — अगर एचटीएमएल गलत तरीके से बनाया गया है


setFaviconUrl(iconUrl)

पेज पर फ़ैविकॉन के लिए लिंक टैग जोड़ता है. Apps Script की एचटीएमएल फ़ाइल में सीधे तौर पर शामिल किए गए फ़ाविकॉन लिंक टैग को अनदेखा किया जाता है.

const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.setFaviconUrl('http://www.example.com/image.png');

पैरामीटर

नामटाइपब्यौरा
iconUrlStringफ़ेविकॉन इमेज का यूआरएल, जिसमें इमेज एक्सटेंशन से इमेज का टाइप पता चलता है.

वापसी का टिकट

HtmlOutput — चेन बनाने के लिए यह आउटपुट.


setHeight(height)

Google Docs, Sheets या Forms में कस्टम डायलॉग बॉक्स की शुरुआती ऊंचाई सेट करता है. अगर HtmlOutput को वेब ऐप्लिकेशन के तौर पर पब्लिश किया जाता है, तो इस तरीके का कोई असर नहीं पड़ेगा. पहले से खुले डायलॉग का साइज़ बदलने के लिए, क्लाइंट-साइड कोड में google.script.host.setHeight(height) को कॉल करें.

const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.setHeight(200);

पैरामीटर

नामटाइपब्यौरा
heightIntegerपिक्सल में नई ऊंचाई; null से डिफ़ॉल्ट वैल्यू मिलती है.

वापसी का टिकट

HtmlOutput — चेन बनाने के लिए यह आउटपुट.


setSandboxMode(mode)

इस तरीके का अब कोई असर नहीं पड़ता — पहले यह क्लाइंट-साइड स्क्रिप्ट के लिए इस्तेमाल किया जाने वाला sandbox mode सेट करता था. उपयोगकर्ताओं को नुकसान पहुंचाने वाले एचटीएमएल या JavaScript कोड से बचाने के लिए, एचटीएमएल सेवा से दिखाया जाने वाला क्लाइंट-साइड कोड, सुरक्षा सैंडबॉक्स में चलता है. यह सैंडबॉक्स, कोड पर पाबंदियां लगाता है. मूल रूप से, इस तरीके से स्क्रिप्ट बनाने वाले लोगों को सैंडबॉक्स के अलग-अलग वर्शन में से किसी एक को चुनने की अनुमति मिलती थी. हालांकि, अब सभी स्क्रिप्ट IFRAME मोड का इस्तेमाल करती हैं. भले ही, सैंडबॉक्स का कोई भी मोड सेट किया गया हो. ज़्यादा जानकारी के लिए, एचटीएमएल सेवा में पाबंदियों के बारे में गाइड देखें.

IFRAME मोड, सैंडबॉक्स के अन्य मोड के मुकाबले बहुत कम पाबंदियां लगाता है और सबसे तेज़ी से काम करता है. हालांकि, यह कुछ पुराने ब्राउज़र में काम नहीं करता. जैसे, Internet Explorer 9. google.script.sandbox.mode की जांच करके, क्लाइंट-साइड स्क्रिप्ट में सैंडबॉक्स मोड को पढ़ा जा सकता है. ध्यान दें कि यह प्रॉपर्टी, क्लाइंट पर मौजूद असल मोड दिखाती है. अगर अनुरोध किया गया मोड, उपयोगकर्ता के ब्राउज़र पर काम नहीं करता है, तो यह सर्वर पर अनुरोध किए गए मोड से अलग हो सकता है.

<!-- Read the sandbox mode (in a client-side script). -->
<script>
  alert(google.script.sandbox.mode);
</script>

पैरामीटर

नामटाइपब्यौरा
modeSandboxModeइस्तेमाल करने के लिए सैंडबॉक्स मोड.

वापसी का टिकट

HtmlOutput — चेन बनाने के लिए यह आउटपुट.


setTitle(title)

आउटपुट पेज का टाइटल सेट करता है. वेब ऐप्लिकेशन के लिए, यह पूरे पेज का टाइटल होता है. वहीं, Google Sheets में दिखाए गए HtmlOutput के लिए, यह डायलॉग का टाइटल होता है.

const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.setTitle('My First Page');

पैरामीटर

नामटाइपब्यौरा
titleStringनया टाइटल.

वापसी का टिकट

HtmlOutput — चेन बनाने के लिए यह आउटपुट.


setWidth(width)

Google Docs, Sheets या Forms में, कस्टम डायलॉग बॉक्स की शुरुआती चौड़ाई सेट करता है. अगर HtmlOutput को वेब ऐप्लिकेशन के तौर पर पब्लिश किया जाता है, तो इस तरीके का कोई असर नहीं पड़ेगा. पहले से खुले डायलॉग का साइज़ बदलने के लिए, क्लाइंट-साइड कोड में google.script.host.setWidth(width) को कॉल करें.

const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.setWidth(200);

पैरामीटर

नामटाइपब्यौरा
widthIntegerपिक्सल में नई चौड़ाई; null से डिफ़ॉल्ट वैल्यू मिलती है.

वापसी का टिकट

HtmlOutput — चेन बनाने के लिए यह आउटपुट.


setXFrameOptionsMode(mode)

पेज के X-Frame-Options हेडर की स्थिति सेट करता है. इससे क्लिक जैकिंग को रोकने की सुविधा को कंट्रोल किया जाता है.

XFrameOptionsMode.ALLOWALL सेट करने पर, किसी भी साइट को पेज को iframe करने की अनुमति मिलती है. इसलिए, डेवलपर को क्लिक जैकिंग से बचाने के लिए, अपनी सुरक्षा लागू करनी चाहिए.

अगर कोई स्क्रिप्ट X-Frame-Options मोड सेट नहीं करती है, तो Apps Script डिफ़ॉल्ट रूप से XFrameOptionsMode.DEFAULT मोड का इस्तेमाल करता है.

// 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);

पैरामीटर

नामटाइपब्यौरा
modeXFrameOptionsModeसेट किया जाने वाला XFrame विकल्प मोड.

वापसी का टिकट

HtmlOutput — चेन बनाने के लिए यह आउटपुट.