একটি HtmlOutput
অবজেক্ট যা একটি স্ক্রিপ্ট থেকে পরিবেশন করা যেতে পারে। নিরাপত্তা বিবেচনার কারণে, স্ক্রিপ্ট সরাসরি ব্রাউজারে HTML ফেরত দিতে পারে না। পরিবর্তে, তাদের অবশ্যই এটিকে স্যানিটাইজ করতে হবে যাতে এটি দূষিত ক্রিয়া সম্পাদন করতে না পারে। আপনি এইভাবে স্যানিটাইজড HTML ফেরত দিতে পারেন:
function doGet() { return HtmlService.createHtmlOutput('<b>Hello, world!</b>'); }
HtmlOutput
কোডটিতে এমবেডেড জাভাস্ক্রিপ্ট এবং সিএসএস অন্তর্ভুক্ত থাকতে পারে। (এটি স্ট্যান্ডার্ড ক্লায়েন্ট-সাইড জাভাস্ক্রিপ্ট যা DOM-কে ম্যানিপুলেট করে, অ্যাপস স্ক্রিপ্ট নয়)। আইফ্রেম স্যান্ডবক্সিং ব্যবহার করে এই সমস্ত সামগ্রী স্যান্ডবক্স করা হয়েছে৷ আরও তথ্যের জন্য, HTML পরিষেবায় বিধিনিষেধের নির্দেশিকা দেখুন। পদ্ধতি
পদ্ধতি | রিটার্ন টাইপ | সংক্ষিপ্ত বিবরণ |
---|---|---|
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) কল করে পৃষ্ঠায় যোগ করা একটি ফেভিকন লিঙ্ক ট্যাগের URL পায়। |
getHeight() | Integer | Google ডক্স, পত্রক বা ফর্মগুলিতে কাস্টম ডায়ালগের প্রাথমিক উচ্চতা পায়৷ |
getMetaTags() | HtmlOutputMetaTag[] | addMetaTag(name, content) কল করে পৃষ্ঠায় যোগ করা মেটা ট্যাগ প্রতিনিধিত্বকারী বস্তুর একটি অ্যারে পায়। |
getTitle() | String | আউটপুট পৃষ্ঠার শিরোনাম পায়। |
getWidth() | Integer | Google ডক্স, পত্রক বা ফর্মগুলিতে কাস্টম ডায়ালগের প্রাথমিক প্রস্থ পায়৷ |
setContent(content) | HtmlOutput | এই HtmlOutput এর বিষয়বস্তু সেট করে। |
setFaviconUrl(iconUrl) | HtmlOutput | পৃষ্ঠায় একটি ফেভিকনের জন্য একটি লিঙ্ক ট্যাগ যোগ করে। |
setHeight(height) | HtmlOutput | Google ডক্স, পত্রক বা ফর্মগুলিতে কাস্টম ডায়ালগের প্রাথমিক উচ্চতা সেট করে৷ |
setSandboxMode(mode) | HtmlOutput | এই পদ্ধতির এখন কোন প্রভাব নেই — আগে এটি ক্লায়েন্ট-সাইড স্ক্রিপ্টগুলির জন্য ব্যবহৃত sandbox mode সেট করেছিল। |
setTitle(title) | HtmlOutput | আউটপুট পৃষ্ঠার শিরোনাম সেট করে। |
setWidth(width) | HtmlOutput | Google ডক্স, পত্রক বা ফর্মগুলিতে একটি কাস্টম ডায়ালগের প্রাথমিক প্রস্থ সেট করে৷ |
setXFrameOptionsMode(mode) | HtmlOutput | পৃষ্ঠার X-Frame-Options হেডারের অবস্থা সেট করে, যা ক্লিকজ্যাকিং প্রতিরোধ নিয়ন্ত্রণ করে। |
বিস্তারিত ডকুমেন্টেশন
addMetaTag(name, content)
পৃষ্ঠায় একটি মেটা ট্যাগ যোগ করে। একটি Apps স্ক্রিপ্ট HTML ফাইলে সরাসরি অন্তর্ভুক্ত মেটা ট্যাগ উপেক্ষা করা হয়। শুধুমাত্র নিম্নলিখিত মেটা ট্যাগ অনুমোদিত:
<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');
পরামিতি
নাম | টাইপ | বর্ণনা |
---|---|---|
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());
পরামিতি
নাম | টাইপ | বর্ণনা |
---|---|---|
addedContent | String | যোগ করার বিষয়বস্তু। |
প্রত্যাবর্তন
HtmlOutput
— এই আউটপুট, চেইনিংয়ের জন্য।
নিক্ষেপ করে
Error
— যদি HTML ত্রুটিপূর্ণ হয়
এছাড়াও দেখুন
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());
পরামিতি
নাম | টাইপ | বর্ণনা |
---|---|---|
addedContent | String | যোগ করার বিষয়বস্তু। |
প্রত্যাবর্তন
HtmlOutput
— এই আউটপুট, চেইনিংয়ের জন্য।
নিক্ষেপ করে
Error
— যদি HTML খুব বিকৃত হয়
এছাড়াও দেখুন
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 ডোমেন সাময়িকভাবে কঠোর কোটার অধীন হতে পারে।
পরামিতি
নাম | টাইপ | বর্ণনা |
---|---|---|
contentType | String | MIME প্রকারে রূপান্তর করতে হবে৷ বেশিরভাগ ব্লবের জন্য, 'application/pdf' একমাত্র বৈধ বিকল্প। BMP, GIF, JPEG, বা PNG ফর্ম্যাটে ছবির জন্য, 'image/bmp' , 'image/gif' , 'image/jpeg' , বা 'image/png' এর যেকোনো একটিও বৈধ। একটি Google ডক্স ডকুমেন্টের জন্য, 'text/markdown' বৈধ। |
প্রত্যাবর্তন
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)
কল করে পৃষ্ঠায় যোগ করা একটি ফেভিকন লিঙ্ক ট্যাগের URL পায়। একটি Apps স্ক্রিপ্ট HTML ফাইলে সরাসরি অন্তর্ভুক্ত Favicon লিঙ্ক ট্যাগ উপেক্ষা করা হয়.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setFaviconUrl('http://www.example.com/image.png'); Logger.log(output.getFaviconUrl());
প্রত্যাবর্তন
String
— ফেভিকন ছবির URL।
getHeight()
Google ডক্স, পত্রক বা ফর্মগুলিতে কাস্টম ডায়ালগের প্রাথমিক উচ্চতা পায়৷ 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 স্ক্রিপ্ট HTML ফাইলে সরাসরি অন্তর্ভুক্ত মেটা ট্যাগ উপেক্ষা করা হয়।
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> HTML উপাদান উপেক্ষা করা হয়েছে।
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); Logger.log(output.getTitle());
প্রত্যাবর্তন
String
- পৃষ্ঠার শিরোনাম।
getWidth()
Google ডক্স, পত্রক বা ফর্মগুলিতে কাস্টম ডায়ালগের প্রাথমিক প্রস্থ পায়৷ 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>');
পরামিতি
নাম | টাইপ | বর্ণনা |
---|---|---|
content | String | পরিবেশন বিষয়বস্তু. |
প্রত্যাবর্তন
HtmlOutput
— এই আউটপুট, চেইনিংয়ের জন্য।
নিক্ষেপ করে
Error
— যদি HTML ত্রুটিপূর্ণ হয়
setFaviconUrl(iconUrl)
পৃষ্ঠায় একটি ফেভিকনের জন্য একটি লিঙ্ক ট্যাগ যোগ করে। একটি Apps স্ক্রিপ্ট HTML ফাইলে সরাসরি অন্তর্ভুক্ত Favicon লিঙ্ক ট্যাগ উপেক্ষা করা হয়.
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setFaviconUrl('http://www.example.com/image.png');
পরামিতি
নাম | টাইপ | বর্ণনা |
---|---|---|
iconUrl | String | ফেভিকন ইমেজের URL, ইমেজ এক্সটেনশন সহ ইমেজের ধরন নির্দেশ করে। |
প্রত্যাবর্তন
HtmlOutput
— এই আউটপুট, চেইনিংয়ের জন্য।
setHeight(height)
Google ডক্স, পত্রক বা ফর্মগুলিতে কাস্টম ডায়ালগের প্রাথমিক উচ্চতা সেট করে৷ HtmlOutput
এর পরিবর্তে একটি ওয়েব অ্যাপ হিসেবে প্রকাশিত হলে, এই পদ্ধতির কোনো প্রভাব নেই। ইতিমধ্যে খোলা একটি ডায়ালগ পুনরায় আকার দিতে, ক্লায়েন্ট-সাইড কোডে google.script.host.setHeight(height)
কল করুন।
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setHeight(200);
পরামিতি
নাম | টাইপ | বর্ণনা |
---|---|---|
height | Integer | পিক্সেলে নতুন উচ্চতা; null একটি ডিফল্ট মান ফলাফল. |
প্রত্যাবর্তন
HtmlOutput
— এই আউটপুট, চেইনিংয়ের জন্য।
setSandboxMode(mode)
এই পদ্ধতির এখন কোন প্রভাব নেই — আগে এটি ক্লায়েন্ট-সাইড স্ক্রিপ্টগুলির জন্য ব্যবহৃত sandbox mode
সেট করেছিল। ব্যবহারকারীদের ক্ষতিকারক HTML বা JavaScript পরিবেশন করা থেকে রক্ষা করার জন্য, HTML পরিষেবা থেকে পরিবেশিত ক্লায়েন্ট-সাইড কোড একটি নিরাপত্তা স্যান্ডবক্সে সঞ্চালিত হয় যা কোডের উপর বিধিনিষেধ আরোপ করে। মূলত এই পদ্ধতিটি স্ক্রিপ্ট লেখকদের স্যান্ডবক্সের বিভিন্ন সংস্করণের মধ্যে বেছে নেওয়ার অনুমতি দেয়, কিন্তু এখন সব স্ক্রিপ্ট এখন IFRAME
মোড ব্যবহার করে তা নির্বিশেষে স্যান্ডবক্স মোড সেট করা হয়। আরও তথ্যের জন্য, HTML পরিষেবায় বিধিনিষেধের নির্দেশিকা দেখুন।
IFRAME
মোড অন্যান্য স্যান্ডবক্স মোডের তুলনায় অনেক কম বিধিনিষেধ আরোপ করে এবং দ্রুত চলে, কিন্তু ইন্টারনেট এক্সপ্লোরার 9 সহ কিছু পুরানো ব্রাউজারে মোটেও কাজ করে না google.script.sandbox.mode
. মনে রাখবেন যে এই বৈশিষ্ট্যটি ক্লায়েন্টে প্রকৃত মোড প্রদান করে, যা সার্ভারে অনুরোধ করা মোড থেকে ভিন্ন হতে পারে যদি অনুরোধ করা মোড ব্যবহারকারীর ব্রাউজারে সমর্থিত না হয়।
<!-- Read the sandbox mode (in a client-side script). --> <script> alert(google.script.sandbox.mode); </script>
পরামিতি
নাম | টাইপ | বর্ণনা |
---|---|---|
mode | SandboxMode | ব্যবহার করার জন্য স্যান্ডবক্স মোড। |
প্রত্যাবর্তন
HtmlOutput
— এই আউটপুট, চেইনিংয়ের জন্য।
setTitle(title)
আউটপুট পৃষ্ঠার শিরোনাম সেট করে। ওয়েব অ্যাপ্লিকেশানগুলির জন্য, এটি সমগ্র পৃষ্ঠার শিরোনাম, যখন Google পত্রকগুলিতে দেখানো HtmlOutput
এর জন্য, এটি হল ডায়ালগ শিরোনাম৷
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setTitle('My First Page');
পরামিতি
নাম | টাইপ | বর্ণনা |
---|---|---|
title | String | নতুন শিরোনাম। |
প্রত্যাবর্তন
HtmlOutput
— এই আউটপুট, চেইনিংয়ের জন্য।
setWidth(width)
Google ডক্স, পত্রক বা ফর্মগুলিতে একটি কাস্টম ডায়ালগের প্রাথমিক প্রস্থ সেট করে৷ HtmlOutput
এর পরিবর্তে একটি ওয়েব অ্যাপ হিসেবে প্রকাশিত হলে, এই পদ্ধতির কোনো প্রভাব নেই। ইতিমধ্যেই খোলা একটি ডায়ালগ পুনরায় আকার দিতে, ক্লায়েন্ট-সাইড কোডে google.script.host.setWidth(width)
কল করুন।
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setWidth(200);
পরামিতি
নাম | টাইপ | বর্ণনা |
---|---|---|
width | Integer | পিক্সেলে নতুন প্রস্থ; null একটি ডিফল্ট মান ফলাফল. |
প্রত্যাবর্তন
HtmlOutput
— এই আউটপুট, চেইনিংয়ের জন্য।
setXFrameOptionsMode(mode)
পৃষ্ঠার X-Frame-Options
হেডারের অবস্থা সেট করে, যা ক্লিকজ্যাকিং প্রতিরোধ নিয়ন্ত্রণ করে।
XFrameOptionsMode.ALLOWALL
সেট করা যেকোনো সাইটকে পৃষ্ঠা আইফ্রেম করতে দেয়, তাই বিকাশকারীকে ক্লিকজ্যাকিংয়ের বিরুদ্ধে তাদের নিজস্ব সুরক্ষা প্রয়োগ করা উচিত।
যদি একটি স্ক্রিপ্ট একটি X-Frame-Options
মোড সেট না করে, অ্যাপস স্ক্রিপ্ট ডিফল্ট হিসাবে 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);
পরামিতি
নাম | টাইপ | বর্ণনা |
---|---|---|
mode | XFrameOptionsMode | সেট করার জন্য XFrame অপশন মোড। |
প্রত্যাবর্তন
HtmlOutput
— এই আউটপুট, চেইনিংয়ের জন্য।