Class HtmlOutput

এইচটিএমএল আউটপুট

একটি HtmlOutput অবজেক্ট যা একটি স্ক্রিপ্ট থেকে পরিবেশন করা যায়। নিরাপত্তাজনিত কারণে, স্ক্রিপ্ট সরাসরি ব্রাউজারে HTML ফেরত পাঠাতে পারে না। পরিবর্তে, এটিকে অবশ্যই স্যানিটাইজ করতে হয় যাতে এটি কোনো ক্ষতিকারক কাজ করতে না পারে। আপনি এইভাবে স্যানিটাইজড HTML ফেরত পাঠাতে পারেন:

function doGet() {
  return HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b');
}
HtmlOutput এর কোডে এমবেডেড জাভাস্ক্রিপ্ট এবং সিএসএস অন্তর্ভুক্ত থাকতে পারে। (এটি স্ট্যান্ডার্ড ক্লায়েন্ট-সাইড জাভাস্ক্রিপ্ট যা DOM-কে ম্যানিপুলেট করে, অ্যাপস স্ক্রিপ্ট নয়)। এই সমস্ত কন্টেন্ট আইফ্রেম স্যান্ডবক্সিং ব্যবহার করে স্যান্ডবক্স করা থাকে। আরও তথ্যের জন্য, এইচটিএমএল সার্ভিসের সীমাবদ্ধতা সংক্রান্ত নির্দেশিকাটি দেখুন।

পদ্ধতি

পদ্ধতি রিটার্ন টাইপ সংক্ষিপ্ত বিবরণ
add Meta Tag(name, content) Html Output পৃষ্ঠায় একটি মেটা ট্যাগ যোগ করে।
append(addedContent) Html Output এই Html Output বিষয়বস্তুর সাথে নতুন বিষয়বস্তু যুক্ত করে।
append Untrusted(addedContent) Html Output কনটেক্সচুয়াল এস্কেপিং ব্যবহার করে এই Html Output কন্টেন্টের সাথে নতুন কন্টেন্ট যুক্ত করে।
as Template() Html Template এই Html Output দ্বারা সমর্থিত একটি Html Template ফেরত দেয়।
clear() Html Output বর্তমান বিষয়বস্তু মুছে দেয়।
get As(contentType) Blob এই অবজেক্টের ভেতরের ডেটা নির্দিষ্ট কন্টেন্ট টাইপে রূপান্তরিত একটি ব্লব হিসেবে ফেরত দিন।
get Blob() Blob এই অবজেক্টের ভেতরের ডেটা একটি ব্লব হিসেবে ফেরত দিন।
get Content() String এই Html Output বিষয়বস্তু পায়।
get Favicon Url() String set Favicon Url(iconUrl) কল করে পেজে যোগ করা ফেভিকন লিঙ্ক ট্যাগের URL পাওয়া যায়।
get Height() Integer গুগল ডক্স, শীটস বা ফর্মস-এ কাস্টম ডায়ালগের প্রাথমিক উচ্চতা নির্ধারণ করে।
get Meta Tags() Html Output Meta Tag[] add Meta Tag(name, content) কল করে পেজে যোগ করা মেটা ট্যাগগুলোর প্রতিনিধিত্বকারী অবজেক্টগুলোর একটি অ্যারে পাওয়া যায়।
get Title() String আউটপুট পৃষ্ঠার শিরোনামটি পায়।
get Width() Integer গুগল ডক্স, শীটস বা ফর্মস-এ কাস্টম ডায়ালগের প্রাথমিক প্রস্থ নির্ধারণ করে।
set Content(content) Html Output এই Html Output বিষয়বস্তু নির্ধারণ করে।
set Favicon Url(iconUrl) Html Output পৃষ্ঠায় ফ্যাভিকনের জন্য একটি লিঙ্ক ট্যাগ যোগ করে।
set Height(height) Html Output গুগল ডক্স, শীটস বা ফর্মস-এ কাস্টম ডায়ালগের প্রাথমিক উচ্চতা নির্ধারণ করে।
set Sandbox Mode(mode) Html Output এই পদ্ধতিটির এখন কোনো কার্যকারিতা নেই — পূর্বে এটি ক্লায়েন্ট-সাইড স্ক্রিপ্টের জন্য ব্যবহৃত sandbox mode সেট করত।
set Title(title) Html Output আউটপুট পৃষ্ঠার শিরোনাম নির্ধারণ করে।
set Width(width) Html Output গুগল ডক্স, শীটস বা ফর্মস-এ একটি কাস্টম ডায়ালগের প্রাথমিক প্রস্থ নির্ধারণ করে।
set XFrame Options Mode(mode) Html Output পেজের X-Frame-Options হেডারের অবস্থা নির্ধারণ করে, যা ক্লিকজ্যাকিং প্রতিরোধ নিয়ন্ত্রণ করে।

বিস্তারিত ডকুমেন্টেশন

addMetaTag(name, content)

পৃষ্ঠায় একটি মেটা ট্যাগ যোগ করে। অ্যাপস স্ক্রিপ্ট এইচটিএমএল ফাইলে সরাসরি অন্তর্ভুক্ত মেটা ট্যাগগুলো উপেক্ষা করা হয়। শুধুমাত্র নিম্নলিখিত মেটা ট্যাগগুলো অনুমোদিত:

<meta name="apple-mobile-web-app-capable" cont>e<nt="..."/
meta name="google-site-ver>i<fication" content="..."/
meta name>=<"mobile-web-app-capable" >content="..."/
meta name="viewport" content="..."/
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b');
output.addMetaTag('viewport', 'width=device-width, initial-scale=1');

প্যারামিটার

নাম প্রকার বর্ণনা
name String মেটা ট্যাগের নেম অ্যাট্রিবিউটের মান।
content String মেটা ট্যাগের কন্টেন্ট অ্যাট্রিবিউটের মান।

ফেরত

HtmlOutput — এটি হলো চেইনিংয়ের জন্য ব্যবহৃত আউটপুট।


append(addedContent)

এই HtmlOutput এর কন্টেন্টের সাথে নতুন কন্টেন্ট যুক্ত করে। এটি শুধুমাত্র বিশ্বস্ত উৎস থেকে প্রাপ্ত কন্টেন্টের জন্য ব্যবহার করুন, কারণ এটি এস্কেপ করা হয় না।

// Log &<q>uot;bHello, w<or><l>d!/bpHello again, w<or>ld./p"
const output = HtmlService.createHt<m>lOutput('<bH>ello, world!/b'<)>;
output.append(<9;>pHello again, world./p');
Logger.log(output.getContent());

প্যারামিটার

নাম প্রকার বর্ণনা
added Content String যোগ করার জন্য বিষয়বস্তু।

ফেরত

HtmlOutput — এটি হলো চেইনিংয়ের জন্য ব্যবহৃত আউটপুট।

নিক্ষেপ

Error — যদি HTML কোডটি ত্রুটিপূর্ণ হয়

আরও দেখুন


appendUntrusted(addedContent)

কনটেক্সচুয়াল এস্কেপিং ব্যবহার করে এই HtmlOutput এর কন্টেন্টের সাথে নতুন কন্টেন্ট যুক্ত করে।

এই মেথডটি HtmlOutput এর বর্তমান অবস্থার উপর ভিত্তি করে কন্টেন্টকে সঠিকভাবে এস্কেপ করে, ফলে ফলাফলটি কোনো মার্কআপ বা সাইড এফেক্ট ছাড়া একটি নিরাপদ স্ট্রিং হয়। যখনই আপনি কোনো অবিশ্বস্ত উৎস, যেমন কোনো ব্যবহারকারীর কাছ থেকে, কন্টেন্ট যোগ করছেন, তখন append ব্যবহার করার পরিবর্তে এটি ব্যবহার করুন। এর ফলে ভুলবশত কোনো ক্রস-সাইট স্ক্রিপ্টিং (XSS) বাগ তৈরি হওয়া এড়ানো যায়, যেখানে আপনার যোগ করা কন্টেন্ট বা মার্কআপ অপ্রত্যাশিত কোড এক্সিকিউশনের কারণ হতে পারে।

// Log &<q>uot;bHello, w<or>&ld!/&blt;pgt;Hello again, w&orld.&lt;/pgt;"
const output = HtmlService.createHt<m>lOutput('<bH>ello, world!/b');
output<.>appendUntrusted(<9;>pHello again, world./p');
Logger.log(output.getContent());

প্যারামিটার

নাম প্রকার বর্ণনা
added Content String যোগ করার জন্য বিষয়বস্তু।

ফেরত

HtmlOutput — এটি হলো চেইনিংয়ের জন্য ব্যবহৃত আউটপুট।

নিক্ষেপ

Error — যদি HTML খুব বেশি ত্রুটিপূর্ণ হয়

আরও দেখুন


asTemplate()

এই HtmlOutput দ্বারা সমর্থিত একটি HtmlTemplate ফেরত দেয়। এই পদ্ধতিটি পর্যায়ক্রমে একটি টেমপ্লেট তৈরি করতে ব্যবহার করা যেতে পারে। HtmlOutput এ ভবিষ্যতের পরিবর্তনগুলো HtmlTemplate এর বিষয়বস্তুকেও প্রভাবিত করে।

const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b');
const template = output.asTemplate();

ফেরত

HtmlTemplate — নতুন HtmlTemplate


clear()

বর্তমান বিষয়বস্তু মুছে দেয়।

const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b');
output.clear();

ফেরত

HtmlOutput — এটি হলো চেইনিংয়ের জন্য ব্যবহৃত আউটপুট।


getAs(contentType)

এই অবজেক্টের ভেতরের ডেটা নির্দিষ্ট কন্টেন্ট টাইপে রূপান্তরিত একটি ব্লব হিসেবে ফেরত দিন। এই মেথডটি ফাইলের নামের সাথে উপযুক্ত এক্সটেনশন যোগ করে—উদাহরণস্বরূপ, "myfile.pdf"। তবে, এটি ধরে নেয় যে ফাইলের নামের শেষ পিরিয়ডের (যদি থাকে) পরের অংশটি একটি বিদ্যমান এক্সটেনশন যা প্রতিস্থাপন করা উচিত। ফলস্বরূপ, "ShoppingList.12.25.2014" হয়ে যায় "ShoppingList.12.25.pdf"।

রূপান্তরের দৈনিক কোটা দেখতে, ‘গুগল পরিষেবার জন্য কোটা’ দেখুন। নতুন তৈরি করা গুগল ওয়ার্কস্পেস ডোমেনগুলো সাময়িকভাবে আরও কঠোর কোটার আওতাভুক্ত হতে পারে।

প্যারামিটার

নাম প্রকার বর্ণনা
content Type String যে MIME টাইপে রূপান্তর করতে হবে। বেশিরভাগ ব্লবের জন্য, 'application/pdf' হলো একমাত্র বৈধ বিকল্প। BMP, GIF, JPEG, বা PNG ফরম্যাটের ছবির জন্য, 'image/bmp' , 'image/gif' , 'image/jpeg' , বা 'image/png' এর যেকোনো একটিও বৈধ। একটি গুগল ডক্স ডকুমেন্টের জন্য, 'text/markdown' ও বৈধ।

ফেরত

Blob — ডেটা একটি পিণ্ডাকারে থাকে।


getBlob()

এই অবজেক্টের ভেতরের ডেটা একটি ব্লব হিসেবে ফেরত দিন।

ফেরত

Blob — ডেটা একটি পিণ্ডাকারে থাকে।


getContent()

এই HtmlOutput এর বিষয়বস্তু গ্রহণ করে।

// Log &<q>uot;bHello, w<or>ld!/b"
const output = HtmlService.createHt<m>lOutput('<bH>ello, world!/b');
Logger.log(output.getContent());

ফেরত

String — যে বিষয়বস্তু পরিবেশন করা হয়।


getFaviconUrl()

setFaviconUrl(iconUrl) কল করে পেজে যোগ করা ফেভিকন লিঙ্ক ট্যাগের URL পাওয়া যায়। সরাসরি অ্যাপস স্ক্রিপ্ট HTML ফাইলে অন্তর্ভুক্ত ফেভিকন লিঙ্ক ট্যাগগুলো উপেক্ষা করা হয়।

const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/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(&<#>39;bHello, wo<rl>d!/b');
output.setHeight(200);
Logger.log(output.getHeight());

ফেরত

Integer — উচ্চতা, পিক্সেল এককে।


getMetaTags()

addMetaTag(name, content) কল করে পেজে যোগ করা মেটা ট্যাগগুলোর প্রতিনিধিত্বকারী অবজেক্টের একটি অ্যারে পাওয়া যায়। সরাসরি অ্যাপস স্ক্রিপ্ট HTML ফাইলে অন্তর্ভুক্ত মেটা ট্যাগগুলো উপেক্ষা করা হয়।

const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b');
output.addMetaTag('viewport', 'width=device-width, initial-scale=1');

const tags = output.getMetaT<ags();
Logger.log(
    '>meta name="%s" content="%s"/',
    tags[0].getName(),
    tags[0].getContent(),
);

ফেরত

HtmlOutputMetaTag[] — অবজেক্টের একটি অ্যারে যা addMetaTag(name, content) কল করে পেজে যোগ করা মেটা ট্যাগগুলোকে উপস্থাপন করে।


getTitle()

আউটপুট পৃষ্ঠার শিরোনামটি পাওয়া যায়। উল্লেখ্য যে, <title> HTML এলিমেন্টটি উপেক্ষা করা হয়।

const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b');
Logger.log(output.getTitle());

ফেরত

String — পৃষ্ঠাটির শিরোনাম।


getWidth()

Google Docs, Sheets, বা Forms-এ কাস্টম ডায়ালগের প্রাথমিক প্রস্থ নির্ধারণ করে। যদি HtmlOutput টি একটি ওয়েব অ্যাপ হিসেবে প্রকাশিত হয়, তাহলে এই মেথডটি null রিটার্ন করে। ইতিমধ্যে খোলা কোনো ডায়ালগের আকার পরিবর্তন করতে, ক্লায়েন্ট-সাইড কোডে google.script.host.setWidth(width) কল করুন।

const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b');
output.setWidth(200);
Logger.log(output.getWidth());

ফেরত

Integer — পিক্সেল এককে প্রস্থ।


setContent(content)

এই HtmlOutput এর বিষয়বস্তু নির্ধারণ করে।

const output = HtmlService.createHtmlOutput();
output.setContent(&<#>39;bHello, wo<rl>d!/b');

প্যারামিটার

নাম প্রকার বর্ণনা
content String পরিবেশন করার জন্য বিষয়বস্তু।

ফেরত

HtmlOutput — এটি হলো চেইনিংয়ের জন্য ব্যবহৃত আউটপুট।

নিক্ষেপ

Error — যদি HTML কোডটি ত্রুটিপূর্ণ হয়


setFaviconUrl(iconUrl)

পৃষ্ঠায় ফ্যাভিকনের জন্য একটি লিঙ্ক ট্যাগ যোগ করে। অ্যাপস স্ক্রিপ্ট এইচটিএমএল ফাইলে সরাসরি অন্তর্ভুক্ত ফ্যাভিকন লিঙ্ক ট্যাগগুলো উপেক্ষা করা হয়।

const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b');
output.setFaviconUrl('http://www.example.com/image.png');

প্যারামিটার

নাম প্রকার বর্ণনা
icon Url String ফেভিকন ইমেজের ইউআরএল, যেখানে ইমেজ এক্সটেনশনটি ইমেজের ধরন নির্দেশ করে।

ফেরত

HtmlOutput — এটি হলো চেইনিংয়ের জন্য ব্যবহৃত আউটপুট।


setHeight(height)

Google Docs, Sheets, বা Forms-এ কাস্টম ডায়ালগের প্রাথমিক উচ্চতা নির্ধারণ করে। যদি HtmlOutput টি একটি ওয়েব অ্যাপ হিসেবে প্রকাশিত হয়, তবে এই পদ্ধতির কোনো প্রভাব থাকে না। ইতিমধ্যে খোলা কোনো ডায়ালগের আকার পরিবর্তন করতে, ক্লায়েন্ট-সাইড কোডে google.script.host.setHeight(height) কল করুন।

const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b');
output.setHeight(200);

প্যারামিটার

নাম প্রকার বর্ণনা
height Integer পিক্সেলে নতুন উচ্চতা; null হলে একটি ডিফল্ট মান পাওয়া যাবে।

ফেরত

HtmlOutput — এটি হলো চেইনিংয়ের জন্য ব্যবহৃত আউটপুট।


setSandboxMode(mode)

এই পদ্ধতিটির এখন কোনো কার্যকারিতা নেই — পূর্বে এটি ক্লায়েন্ট-সাইড স্ক্রিপ্টের জন্য ব্যবহৃত sandbox mode নির্ধারণ করত। ব্যবহারকারীদের ক্ষতিকর এইচটিএমএল বা জাভাস্ক্রিপ্ট থেকে রক্ষা করার জন্য, এইচটিএমএল সার্ভিস থেকে পরিবেশিত ক্লায়েন্ট-সাইড কোড একটি নিরাপত্তা স্যান্ডবক্সে চলে, যা কোডের উপর বিধিনিষেধ আরোপ করে। মূলত এই পদ্ধতিটি স্ক্রিপ্ট লেখকদের স্যান্ডবক্সের বিভিন্ন সংস্করণের মধ্যে থেকে বেছে নেওয়ার সুযোগ দিত, কিন্তু এখন যে স্যান্ডবক্স মোডই সেট করা থাকুক না কেন, সমস্ত স্ক্রিপ্ট IFRAME মোড ব্যবহার করে। আরও তথ্যের জন্য, এইচটিএমএল সার্ভিসের বিধিনিষেধ সংক্রান্ত নির্দেশিকাটি দেখুন।

অন্যান্য স্যান্ডবক্স মোডের তুলনায় IFRAME মোড অনেক কম সীমাবদ্ধতা আরোপ করে এবং সবচেয়ে দ্রুত চলে, কিন্তু ইন্টারনেট এক্সপ্লোরার ৯ সহ কিছু পুরোনো ব্রাউজারে এটি একেবারেই কাজ করে না। ক্লায়েন্ট-সাইড স্ক্রিপ্টে google.script.sandbox.mode প্রপার্টিটি পরীক্ষা করে স্যান্ডবক্স মোডটি জানা যায়। মনে রাখবেন যে, এই প্রপার্টিটি ক্লায়েন্টের প্রকৃত মোডটি রিটার্ন করে, যা সার্ভারে অনুরোধ করা মোড থেকে ভিন্ন হতে পারে, যদি ব্যবহারকারীর ব্রাউজারে অনুরোধ করা মোডটি সমর্থিত না হয়।

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

প্যারামিটার

নাম প্রকার বর্ণনা
mode Sandbox Mode ব্যবহারের জন্য স্যান্ডবক্স মোড।

ফেরত

HtmlOutput — এটি হলো চেইনিংয়ের জন্য ব্যবহৃত আউটপুট।


setTitle(title)

আউটপুট পৃষ্ঠার শিরোনাম নির্ধারণ করে। ওয়েব অ্যাপের ক্ষেত্রে, এটি সম্পূর্ণ পৃষ্ঠার শিরোনাম, আর গুগল শিটসে প্রদর্শিত HtmlOutput জন্য এটি ডায়ালগের শিরোনাম।

const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b');
output.setTitle('My First Page');

প্যারামিটার

নাম প্রকার বর্ণনা
title String নতুন শিরোনাম।

ফেরত

HtmlOutput — এটি হলো চেইনিংয়ের জন্য ব্যবহৃত আউটপুট।


setWidth(width)

Google Docs, Sheets, বা Forms-এ একটি কাস্টম ডায়ালগের প্রাথমিক প্রস্থ নির্ধারণ করে। যদি HtmlOutput টি একটি ওয়েব অ্যাপ হিসেবে প্রকাশিত হয়, তবে এই পদ্ধতির কোনো প্রভাব থাকে না। ইতিমধ্যে খোলা কোনো ডায়ালগের আকার পরিবর্তন করতে, ক্লায়েন্ট-সাইড কোডে google.script.host.setWidth(width) কল করুন।

const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b');
output.setWidth(200);

প্যারামিটার

নাম প্রকার বর্ণনা
width Integer পিক্সেলে নতুন প্রস্থ; null হলে একটি ডিফল্ট মান পাওয়া যাবে।

ফেরত

HtmlOutput — এটি হলো চেইনিংয়ের জন্য ব্যবহৃত আউটপুট।


setXFrameOptionsMode(mode)

পেজের X-Frame-Options হেডারের অবস্থা নির্ধারণ করে, যা ক্লিকজ্যাকিং প্রতিরোধ নিয়ন্ত্রণ করে।

XFrameOptionsMode.ALLOWALL সেট করলে যেকোনো সাইট পৃষ্ঠাটিকে আইফ্রেম করতে পারে, তাই ডেভেলপারদের ক্লিকজ্যাকিং থেকে সুরক্ষার জন্য নিজস্ব ব্যবস্থা গ্রহণ করা উচিত।

যদি কোনো স্ক্রিপ্ট 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(&<#>39;bHello, wo<rl>d!/b');
output.setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL);

প্যারামিটার

নাম প্রকার বর্ণনা
mode XFrameOptionsMode সেট করার জন্য XFrame অপশন মোড।

ফেরত

HtmlOutput — এটি হলো চেইনিংয়ের জন্য ব্যবহৃত আউটপুট।