Class HtmlOutput

एचटीएमएल आउटपुट

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

function doGet() {
  return HtmlService.createHtmlOutput('<b>Hello, world!</b>');
}
HtmlOutput के कोड में, एम्बेड किया गया JavaScript और सीएसएस शामिल हो सकता है. (यह स्टैंडर्ड क्लाइंट-साइड JavaScript है, जो डीओएम में बदलाव करती है, न कि 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इस ऑब्जेक्ट के डेटा को 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 एचटीएमएल फ़ाइल में सीधे तौर पर शामिल किए गए मेटा टैग को अनदेखा किया जाता है. सिर्फ़ इन मेटा टैग की अनुमति है:

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

पैरामीटर

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

रिटर्न टिकट

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

पैरामीटर

नामटाइपब्यौरा
addedContentStringवह कॉन्टेंट जिसे जोड़ना है.

रिटर्न टिकट

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

थ्रॉ

Error — अगर एचटीएमएल फ़ॉर्मैट गलत है, तो

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


appendUntrusted(addedContent)

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

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

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

पैरामीटर

नामटाइपब्यौरा
addedContentStringवह कॉन्टेंट जिसे जोड़ना है.

रिटर्न टिकट

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 की सेवाओं के लिए कोटा देखें. नए बनाए गए Google Workspace डोमेन पर, कुछ समय के लिए लागू किए जा सकने वाले सख्त नियम लागू हो सकते हैं.

पैरामीटर

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

रिटर्न टिकट

Blob — डेटा ब्लॉब के रूप में है.


getBlob()

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

रिटर्न टिकट

Blob — डेटा ब्लॉब के रूप में है.


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

पैरामीटर

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

रिटर्न टिकट

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

थ्रॉ

Error — अगर एचटीएमएल फ़ॉर्मैट गलत है, तो


setFaviconUrl(iconUrl)

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

var 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) पर कॉल करें.

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

पैरामीटर

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

रिटर्न टिकट

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


setSandboxMode(mode)

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

IFRAME मोड, अन्य सैंडबॉक्स मोड की तुलना में बहुत कम पाबंदियां लगाता है और सबसे तेज़ चलता है. हालांकि, यह Internet Explorer के साथ-साथ, कुछ पुराने ब्राउज़र पर काम नहीं करता. 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 के लिए, यह डायलॉग का शीर्षक है.

var 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) पर कॉल करें.

var 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).
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL);

पैरामीटर

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

रिटर्न टिकट

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