HtmlOutput
ऑब्जेक्ट, जिसे किसी स्क्रिप्ट से दिखाया जा सकता है. सुरक्षा से जुड़ी वजहों से,
स्क्रिप्ट, सीधे ब्राउज़र पर एचटीएमएल नहीं लौटा सकती. इसके बजाय, साइट को साफ़ करना चाहिए, ताकि यह नुकसान पहुंचाने वाली कार्रवाइयां न कर सके. आप इस तरह से सैनिटाइज़ किया हुआ एचटीएमएल लौटा सकते हैं:
function doGet() { return HtmlService.createHtmlOutput('<b>Hello, world!</b>'); }
HtmlOutput
के कोड में, एम्बेड की गई JavaScript और सीएसएस शामिल हो सकती हैं. (यह स्टैंडर्ड क्लाइंट-साइड JavaScript है, जो DOM में बदलाव करता है, न कि Apps स्क्रिप्ट में). इस पूरे कॉन्टेंट को 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() | String | setFaviconUrl(iconUrl) को कॉल करके, पेज पर जोड़े गए फ़ेविकॉन लिंक टैग का यूआरएल मिलता है. |
getHeight() | Integer | Google Docs, Sheets या Forms में कस्टम डायलॉग की शुरुआती ऊंचाई दिखाता है. |
getMetaTags() | HtmlOutputMetaTag[] | addMetaTag(name, content) को कॉल करके, पेज पर जोड़े गए मेटा टैग दिखाने वाले ऑब्जेक्ट का कलेक्शन मिलता है. |
getTitle() | String | आउटपुट पेज का टाइटल दिखाता है. |
getWidth() | Integer | Google Docs, Sheets या Forms में, कस्टम डायलॉग की शुरुआती चौड़ाई की जानकारी देता है. |
setContent(content) | HtmlOutput | यह HtmlOutput का कॉन्टेंट सेट करता है. |
setFaviconUrl(iconUrl) | HtmlOutput | पेज पर फ़ेविकॉन के लिए लिंक टैग जोड़ता है. |
setHeight(height) | HtmlOutput | Google Docs, Sheets या Forms में, कस्टम डायलॉग की शुरुआती ऊंचाई सेट करता है. |
setSandboxMode(mode) | HtmlOutput | इस तरीके का अब कोई असर नहीं पड़ता — पहले, क्लाइंट-साइड स्क्रिप्ट के लिए इस्तेमाल किए जाने वाले sandbox
mode को सेट किया जाता था. |
setTitle(title) | HtmlOutput | आउटपुट पेज का टाइटल सेट करता है. |
setWidth(width) | HtmlOutput | Google Docs, Sheets या Forms में, कस्टम डायलॉग की शुरुआती चौड़ाई सेट करता है. |
setXFrameOptionsMode(mode) | HtmlOutput | यह पेज के X-Frame-Options हेडर की स्थिति सेट करता है, जो क्लिकजैकिंग से बचाव को कंट्रोल करता है. |
ज़्यादा जानकारी के साथ दस्तावेज़
addMetaTag(name, content)
पेज में मेटा टैग जोड़ता है. Apps Script की एचटीएमएल फ़ाइल में सीधे तौर पर शामिल किए गए मेटा टैग को अनदेखा किया जाता है. सिर्फ़ नीचे दिए गए मेटा टैग इस्तेमाल किए जा सकते हैं:
<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');
पैरामीटर
नाम | Type | ब्यौरा |
---|---|---|
name | String | मेटा टैग के नाम वाले एट्रिब्यूट की वैल्यू. |
content | String | मेटा टैग के कॉन्टेंट एट्रिब्यूट की वैल्यू. |
रिटर्न
HtmlOutput
— यह आउटपुट, चेन करने के लिए है.
append(addedContent)
इस HtmlOutput
के कॉन्टेंट में नया कॉन्टेंट जोड़ा जाता है. इसका इस्तेमाल सिर्फ़ भरोसेमंद सोर्स के कॉन्टेंट के लिए करें, क्योंकि इसे एस्केप नहीं किया गया है.
// 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());
पैरामीटर
नाम | Type | ब्यौरा |
---|---|---|
addedContent | String | जोड़ने के लिए कॉन्टेंट. |
रिटर्न
HtmlOutput
— यह आउटपुट, चेन करने के लिए है.
थ्रो
Error
— अगर एचटीएमएल का फ़ॉर्मैट सही नहीं है
इन्हें भी देखें
appendUntrusted(addedContent)
कॉन्टेक्स्ट के हिसाब से एस्केप का इस्तेमाल करके, इस HtmlOutput
के कॉन्टेंट में नया कॉन्टेंट जोड़ा जाता है.
यह तरीका HtmlOutput
की मौजूदा स्थिति के आधार पर सही तरीके से कॉन्टेंट हटा देता है,
ताकि नतीजा एक सुरक्षित स्ट्रिंग हो, जिसमें कोई मार्कअप या साइड इफ़ेक्ट न हो. जब भी किसी गैर-भरोसेमंद सोर्स, जैसे कि उपयोगकर्ता से कॉन्टेंट जोड़ा जाता है, तब 'जोड़ें' का इस्तेमाल करने के बजाय इसका इस्तेमाल करें. इससे क्रॉस साइट स्क्रिप्टिंग (XSS) बग को गलती से अनुमति देने से बचा जा सकता है, जहां कॉन्टेंट या मार्कअप की वजह से अनचाहे कोड लागू होते हैं.
// 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());
पैरामीटर
नाम | Type | ब्यौरा |
---|---|---|
addedContent | String | जोड़ने के लिए कॉन्टेंट. |
रिटर्न
HtmlOutput
— यह आउटपुट, चेन करने के लिए है.
थ्रो
Error
— अगर एचटीएमएल बहुत खराब है
इन्हें भी देखें
asTemplate()
इस HtmlOutput
का बैक अप लेने वाला HtmlTemplate
दिखाता है. इस तरीके का इस्तेमाल, टेंप्लेट को लगातार बनाने के लिए किया जा सकता है. HtmlOutput
में होने वाले भविष्य में होने वाले बदलावों का
HtmlTemplate
के कॉन्टेंट पर भी असर पड़ेगा.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); var template = output.asTemplate();
रिटर्न
HtmlTemplate
— नया HtmlTemplate
.
clear()
मौजूदा कॉन्टेंट को हटा देता है.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.clear();
रिटर्न
HtmlOutput
— यह आउटपुट, चेन करने के लिए है.
getAs(contentType)
इस ऑब्जेक्ट के अंदर डेटा को, बताए गए कॉन्टेंट टाइप में बदले गए ब्लॉब के तौर पर दिखाएं. इस तरीका से फ़ाइल नाम में सही एक्सटेंशन जोड़ा जा सकता है—उदाहरण के लिए, "myfile.pdf". हालांकि, यह माना जाता है कि फ़ाइल नाम का वह हिस्सा जो पिछली अवधि (अगर कोई है) के बाद आता है, तो वह मौजूदा एक्सटेंशन है जिसे बदला जाना चाहिए. इस वजह से, "ShoppingList.12.25.2014", "ShoppingList.12.25.pdf" हो जाता है.
कन्वर्ज़न के रोज़ के कोटा देखने के लिए, Google Services के लिए कोटा देखें. हाल ही में बनाए गए Google Workspace डोमेन पर, कुछ समय के लिए सख्त कोटे लागू हो सकते हैं.
पैरामीटर
नाम | Type | ब्यौरा |
---|---|---|
contentType | String | वह MIME टाइप जिसमें बदलना है. ज़्यादातर ब्लॉब के लिए, सिर्फ़ 'application/pdf' ही मान्य विकल्प है. BMP, GIF, JPEG या PNG फ़ॉर्मैट में मौजूद इमेज के लिए, 'image/bmp' , 'image/gif' , 'image/jpeg' या 'image/png' में से कोई भी मान्य है. |
रिटर्न
Blob
— ब्लॉब के तौर पर डेटा.
getBlob()
getContent()
इस HtmlOutput
के कॉन्टेंट को ऐक्सेस करता है.
// Log "<b>Hello, world!</b>" var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); Logger.log(output.getContent());
रिटर्न
String
— दिखाया जाने वाला कॉन्टेंट.
getFaviconUrl()
setFaviconUrl(iconUrl)
को कॉल करके, पेज पर जोड़े गए फ़ेविकॉन लिंक टैग का यूआरएल मिलता है. Apps Script की एचटीएमएल फ़ाइल में, सीधे तौर पर शामिल किए गए फ़ेविकॉन लिंक टैग को
अनदेखा किया जाता है.
var 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)
पर कॉल करें.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setHeight(200); Logger.log(output.getHeight());
रिटर्न
Integer
— पिक्सल में ऊंचाई.
getMetaTags()
addMetaTag(name, content)
को कॉल करके, पेज पर जोड़े गए मेटा टैग दिखाने वाले ऑब्जेक्ट का कलेक्शन मिलता है. Apps Script की एचटीएमएल फ़ाइल में सीधे तौर पर शामिल किए गए मेटा टैग को
अनदेखा किया जाता है.
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());
रिटर्न
HtmlOutputMetaTag[]
— यह ऑब्जेक्ट का कलेक्शन है, जो addMetaTag(name, content)
को कॉल करके, पेज में जोड़े गए मेटा टैग दिखाते हैं.
getTitle()
आउटपुट पेज का टाइटल दिखाता है. ध्यान दें कि <title> एचटीएमएल एलिमेंट को अनदेखा किया जाता है.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); Logger.log(output.getTitle());
रिटर्न
String
— पेज का टाइटल.
getWidth()
Google Docs, Sheets या Forms में, कस्टम डायलॉग की शुरुआती चौड़ाई की जानकारी देता है. अगर HtmlOutput
को वेब ऐप्लिकेशन के तौर पर पब्लिश किया गया है, तो यह
तरीका null
दिखाता है. पहले से खुले हुए किसी डायलॉग बॉक्स का साइज़ बदलने के लिए, क्लाइंट-साइड कोड में
google.script.host.setWidth(width)
पर कॉल करें.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setWidth(200); Logger.log(output.getWidth());
रिटर्न
Integer
— पिक्सल में चौड़ाई.
setContent(content)
यह HtmlOutput
का कॉन्टेंट सेट करता है.
var output = HtmlService.createHtmlOutput(); output.setContent('<b>Hello, world!</b>');
पैरामीटर
नाम | Type | ब्यौरा |
---|---|---|
content | String | दिखाया जाने वाला कॉन्टेंट. |
रिटर्न
HtmlOutput
— यह आउटपुट, चेन करने के लिए है.
थ्रो
Error
— अगर एचटीएमएल का फ़ॉर्मैट सही नहीं है
setFaviconUrl(iconUrl)
पेज पर फ़ेविकॉन के लिए लिंक टैग जोड़ता है. सीधे Apps Script एचटीएमएल फ़ाइल में शामिल किए गए फ़ेविकॉन लिंक टैग को अनदेखा कर दिया जाता है.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setFaviconUrl('http://www.example.com/image.png');
पैरामीटर
नाम | Type | ब्यौरा |
---|---|---|
iconUrl | String | फ़ेविकॉन इमेज का यूआरएल, जिसमें इमेज एक्सटेंशन से यह पता चलता है कि इमेज किस तरह की है. |
रिटर्न
HtmlOutput
— यह आउटपुट, चेन करने के लिए है.
setHeight(height)
Google Docs, Sheets या Forms में, कस्टम डायलॉग की शुरुआती ऊंचाई सेट करता है. अगर HtmlOutput
को वेब ऐप्लिकेशन के तौर पर पब्लिश किया जाता है, तो इस तरीके का कोई असर नहीं होता. पहले से खुले हुए किसी डायलॉग बॉक्स का साइज़ बदलने के लिए, क्लाइंट-साइड कोड में
google.script.host.setHeight(height)
पर कॉल करें.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setHeight(200);
पैरामीटर
नाम | Type | ब्यौरा |
---|---|---|
height | Integer | पिक्सल में नई ऊंचाई; 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>
पैरामीटर
नाम | Type | ब्यौरा |
---|---|---|
mode | SandboxMode | सैंडबॉक्स मोड का इस्तेमाल करना. |
रिटर्न
HtmlOutput
— यह आउटपुट, चेन करने के लिए है.
setTitle(title)
आउटपुट पेज का टाइटल सेट करता है. वेब ऐप्लिकेशन के लिए यह पूरे पेज का टाइटल होता है, जबकि
Google Sheets में HtmlOutput
के लिए, यह डायलॉग टाइटल होता है.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setTitle('My First Page');
पैरामीटर
नाम | Type | ब्यौरा |
---|---|---|
title | String | नया टाइटल. |
रिटर्न
HtmlOutput
— यह आउटपुट, चेन करने के लिए है.
setWidth(width)
Google Docs, Sheets या Forms में, कस्टम डायलॉग की शुरुआती चौड़ाई सेट करता है. अगर HtmlOutput
को वेब ऐप्लिकेशन के तौर पर पब्लिश किया जाता है, तो इस तरीके का कोई असर नहीं होता. पहले से खुले हुए किसी डायलॉग बॉक्स का साइज़ बदलने के लिए, क्लाइंट-साइड कोड में
google.script.host.setWidth(width)
पर कॉल करें.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setWidth(200);
पैरामीटर
नाम | Type | ब्यौरा |
---|---|---|
width | Integer | पिक्सल में नई चौड़ाई; 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). var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL);
पैरामीटर
नाम | Type | ब्यौरा |
---|---|---|
mode | XFrameOptionsMode | सेट करने के लिए, XFrame विकल्प मोड. |
रिटर्न
HtmlOutput
— यह आउटपुट, चेन करने के लिए है.