یک شی Html Output
که می تواند از یک اسکریپت ارائه شود. به دلیل ملاحظات امنیتی، اسکریپت ها نمی توانند مستقیماً HTML را به مرورگر بازگردانند. در عوض، آنها باید آن را ضدعفونی کنند تا نتواند اقدامات مخرب انجام دهد. شما می توانید HTML پاکسازی شده را به این صورت برگردانید:
function doGet() { return HtmlService.createHtmlOutput('<b>Hello, world!</b>'); }
Html Output
می تواند شامل جاوا اسکریپت و CSS جاسازی شده باشد. (این جاوا اسکریپت سمت کلاینت استاندارد است که DOM را دستکاری می کند، نه Apps Script). همه این محتوا با استفاده از جعبه ایمنی iframe sandbox شده است. برای اطلاعات بیشتر، راهنمای محدودیت ها در سرویس HTML را ببینید. روش ها
روش | نوع برگشت | شرح مختصر |
---|---|---|
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 Template را برمیگرداند که توسط این Html Output پشتیبانی میشود. |
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 | ارتفاع اولیه گفتگوی سفارشی را در Google Docs، Sheets یا Forms دریافت میکند. |
get Meta Tags() | Html Output Meta Tag[] | آرایه ای از اشیاء را دریافت می کند که نشان دهنده متا تگ های اضافه شده به صفحه با فراخوانی add Meta Tag(name, content) است. |
get Title() | String | عنوان صفحه خروجی را می گیرد. |
get Width() | Integer | عرض اولیه گفتگوی سفارشی را در Google Docs، Sheets یا Forms دریافت می کند. |
set Content(content) | Html Output | محتوای این Html Output را تنظیم می کند. |
set Favicon Url(iconUrl) | Html Output | یک برچسب پیوند برای فاویکون به صفحه اضافه می کند. |
set Height(height) | Html Output | ارتفاع اولیه گفتگوی سفارشی را در Google Docs، Sheets یا Forms تنظیم میکند. |
set Sandbox Mode(mode) | Html Output | این روش اکنون هیچ تأثیری ندارد - قبلاً sandbox mode مورد استفاده برای اسکریپت های سمت سرویس گیرنده را تنظیم می کرد. |
set Title(title) | Html Output | عنوان صفحه خروجی را تنظیم می کند. |
set Width(width) | Html Output | عرض اولیه یک گفتگوی سفارشی را در Google Docs، Sheets یا Forms تنظیم میکند. |
set XFrame Options Mode(mode) | Html Output | وضعیت هدر X-Frame-Options صفحه را تنظیم می کند که جلوگیری از جک کردن کلیک را کنترل می کند. |
مستندات دقیق
add Meta Tag(name, content)
یک متا تگ به صفحه اضافه می کند. متا تگ های موجود مستقیماً در فایل HTML 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="..."/>
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.addMetaTag('viewport', 'width=device-width, initial-scale=1');
پارامترها
نام | تایپ کنید | توضیحات |
---|---|---|
name | String | مقدار ویژگی نام متا تگ. |
content | String | مقدار ویژگی محتوای متا تگ. |
بازگشت
Html Output
- این خروجی، برای زنجیر کردن.
append(addedContent)
محتوای جدید را به محتوای این Html Output
اضافه می کند. از این فقط برای محتوای یک منبع قابل اعتماد استفاده کنید، زیرا از آن فراری نیست.
// 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());
پارامترها
نام | تایپ کنید | توضیحات |
---|---|---|
added Content | String | مطالب برای پیوست |
بازگشت
Html Output
- این خروجی، برای زنجیر کردن.
پرتاب می کند
Error
- اگر HTML بد شکل باشد
همچنین ببینید
append Untrusted(addedContent)
محتوای جدید را با استفاده از فرار زمینه ای به محتوای این Html Output
اضافه می کند.
این روش به درستی از محتوا بر اساس وضعیت فعلی Html Output
فرار می کند، به طوری که نتیجه یک رشته ایمن بدون علامت گذاری یا تأثیرات جانبی است. هر زمان که محتوایی را از منبع نامعتبر مانند یک کاربر اضافه می کنید، به جای استفاده از ضمیمه از آن استفاده کنید تا به طور تصادفی از اشکال برنامه نویسی متقابل سایت (XSS) که در آن محتوا یا نشانه گذاری که اضافه می کنید باعث اجرای غیرمنتظره کد می شود، جلوگیری کنید.
// Log "<b>Hello, world!</b><p>Hello again, world.</p>" const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.appendUntrusted('<p>Hello again, world.</p>'); Logger.log(output.getContent());
پارامترها
نام | تایپ کنید | توضیحات |
---|---|---|
added Content | String | مطالب برای پیوست |
بازگشت
Html Output
- این خروجی، برای زنجیر کردن.
پرتاب می کند
Error
- اگر HTML بسیار نادرست است
همچنین ببینید
as Template()
یک Html Template
را برمیگرداند که توسط این Html Output
پشتیبانی میشود. از این روش می توان برای ساختن یک الگو به صورت تدریجی استفاده کرد. تغییرات آینده در Html Output
بر محتویات Html Template
نیز تأثیر می گذارد.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); const template = output.asTemplate();
بازگشت
Html Template
— Html Template
.
clear()
محتوای فعلی را پاک می کند.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.clear();
بازگشت
Html Output
- این خروجی، برای زنجیر کردن.
get As(contentType)
داده های داخل این شی را به عنوان یک حباب تبدیل به نوع محتوای مشخص شده برگردانید. این روش پسوند مناسب را به نام فایل اضافه می کند - به عنوان مثال، "myfile.pdf". با این حال، فرض میکند که بخشی از نام فایل که پس از آخرین نقطه (در صورت وجود) یک پسوند موجود است که باید جایگزین شود. در نتیجه، "ShoppingList.12.25.2014" به "ShoppingList.12.25.pdf" تبدیل می شود.
برای مشاهده سهمیه های روزانه برای تبدیل، به سهمیه خدمات Google مراجعه کنید. دامنههای جدید Google Workspace ممکن است به طور موقت مشمول سهمیههای سختگیرانهتر شوند.
پارامترها
نام | تایپ کنید | توضیحات |
---|---|---|
content Type | String | نوع MIME برای تبدیل. برای اکثر حبابها، 'application/pdf' تنها گزینه معتبر است. برای تصاویر با فرمت BMP، GIF، JPEG یا PNG، هر یک از 'image/bmp' ، 'image/gif' ، 'image/jpeg' یا 'image/png' نیز معتبر هستند. برای سند Google Docs، 'text/markdown' نیز معتبر است. |
بازگشت
Blob
- داده ها به عنوان یک لکه.
get Blob()
get Content()
محتوای این Html Output
را دریافت می کند.
// Log "<b>Hello, world!</b>" const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); Logger.log(output.getContent());
بازگشت
String
- محتوایی که ارائه می شود.
get Favicon Url()
با فراخوانی set Favicon Url(iconUrl)
URL را برای تگ پیوند فاویکون اضافه شده به صفحه دریافت می کند. برچسبهای پیوند فاویکون که مستقیماً در فایل HTML Apps Script وجود دارد نادیده گرفته میشوند.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setFaviconUrl('http://www.example.com/image.png'); Logger.log(output.getFaviconUrl());
بازگشت
String
- URL تصویر فاویکون.
get Height()
ارتفاع اولیه گفتگوی سفارشی را در Google Docs، Sheets یا Forms دریافت میکند. اگر Html Output
بهعنوان یک برنامه وب منتشر شود، این روش null
را برمیگرداند. برای تغییر اندازه یک گفتگو که از قبل باز است، با google.script.host.setHeight(height)
در کد سمت کلاینت تماس بگیرید.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setHeight(200); Logger.log(output.getHeight());
بازگشت
Integer
- ارتفاع، بر حسب پیکسل.
get Meta Tags()
آرایه ای از اشیاء را دریافت می کند که نشان دهنده متا تگ های اضافه شده به صفحه با فراخوانی add Meta Tag(name, content)
است. متا تگ های موجود مستقیماً در فایل HTML Apps Script نادیده گرفته می شوند.
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(), );
بازگشت
Html Output Meta Tag[]
- آرایه ای از اشیاء که نشان دهنده متا تگ های اضافه شده به صفحه با فراخوانی add Meta Tag(name, content)
است.
get Title()
عنوان صفحه خروجی را می گیرد. توجه داشته باشید که عنصر <title> HTML نادیده گرفته می شود.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); Logger.log(output.getTitle());
بازگشت
String
- عنوان صفحه.
get Width()
عرض اولیه گفتگوی سفارشی را در Google Docs، Sheets یا Forms دریافت می کند. اگر Html Output
بهعنوان یک برنامه وب منتشر شود، این روش null
را برمیگرداند. برای تغییر اندازه گفتگویی که از قبل باز است، با google.script.host.setWidth(width)
در کد سمت سرویس گیرنده تماس بگیرید.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setWidth(200); Logger.log(output.getWidth());
بازگشت
Integer
- عرض بر حسب پیکسل.
set Content(content)
محتوای این Html Output
را تنظیم می کند.
const output = HtmlService.createHtmlOutput(); output.setContent('<b>Hello, world!</b>');
پارامترها
نام | تایپ کنید | توضیحات |
---|---|---|
content | String | محتوایی که باید ارائه شود. |
بازگشت
Html Output
- این خروجی، برای زنجیر کردن.
پرتاب می کند
Error
- اگر HTML بد شکل باشد
set Favicon Url(iconUrl)
یک برچسب پیوند برای فاویکون به صفحه اضافه می کند. برچسبهای پیوند فاویکون که مستقیماً در فایل HTML Apps Script وجود دارد نادیده گرفته میشوند.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setFaviconUrl('http://www.example.com/image.png');
پارامترها
نام | تایپ کنید | توضیحات |
---|---|---|
icon Url | String | URL تصویر فاویکون، با پسوند تصویر که نوع تصویر را نشان می دهد. |
بازگشت
Html Output
- این خروجی، برای زنجیر کردن.
set Height(height)
ارتفاع اولیه گفتگوی سفارشی را در Google Docs، Sheets یا Forms تنظیم میکند. اگر Html Output
به عنوان یک برنامه وب منتشر شود، این روش هیچ تاثیری ندارد. برای تغییر اندازه یک گفتگو که از قبل باز است، با google.script.host.setHeight(height)
در کد سمت کلاینت تماس بگیرید.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setHeight(200);
پارامترها
نام | تایپ کنید | توضیحات |
---|---|---|
height | Integer | ارتفاع جدید در پیکسل. null یک مقدار پیش فرض را نشان می دهد. |
بازگشت
Html Output
- این خروجی، برای زنجیر کردن.
set Sandbox Mode(mode)
این روش اکنون هیچ تأثیری ندارد - قبلاً sandbox mode
مورد استفاده برای اسکریپت های سمت سرویس گیرنده را تنظیم می کرد. برای محافظت از کاربران در برابر ارائه HTML یا جاوا اسکریپت مخرب، کد سمت سرویس گیرنده ارائه شده از سرویس HTML در یک جعبه ایمنی امنیتی اجرا می شود که محدودیت هایی بر روی کد اعمال می کند. در ابتدا این روش به نویسندگان اسکریپت اجازه می داد که بین نسخه های مختلف جعبه ایمنی یکی را انتخاب کنند، اما اکنون همه اسکریپت ها بدون توجه به اینکه چه حالت جعبه ایمنی تنظیم شده است، از حالت IFRAME
استفاده می کنند. برای اطلاعات بیشتر، راهنمای محدودیت ها در سرویس HTML را ببینید.
حالت IFRAME
محدودیتهای بسیار کمتری نسبت به سایر حالتهای جعبه ایمنی اعمال میکند و سریعتر اجرا میشود، اما در برخی از مرورگرهای قدیمیتر، از جمله Internet Explorer 9، اصلاً کار نمیکند. حالت sandbox را میتوان در یک اسکریپت سمت سرویس گیرنده با بررسی google.script.sandbox.mode
. توجه داشته باشید که این ویژگی حالت واقعی را بر روی کلاینت برمی گرداند، که اگر حالت درخواستی در مرورگر کاربر پشتیبانی نشود، ممکن است با حالت درخواست شده در سرور متفاوت باشد.
<!-- Read the sandbox mode (in a client-side script). --> <script> alert(google.script.sandbox.mode); </script>
پارامترها
نام | تایپ کنید | توضیحات |
---|---|---|
mode | Sandbox Mode | حالت جعبه شنی برای استفاده. |
بازگشت
Html Output
- این خروجی، برای زنجیر کردن.
set Title(title)
عنوان صفحه خروجی را تنظیم می کند. برای برنامه های وب، این عنوان کل صفحه است، در حالی که برای Html Output
نشان داده شده در Google Sheets، این عنوان گفتگو است.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setTitle('My First Page');
پارامترها
نام | تایپ کنید | توضیحات |
---|---|---|
title | String | عنوان جدید. |
بازگشت
Html Output
- این خروجی، برای زنجیر کردن.
set Width(width)
عرض اولیه یک گفتگوی سفارشی را در Google Docs، Sheets یا Forms تنظیم میکند. اگر Html Output
به عنوان یک برنامه وب منتشر شود، این روش هیچ تاثیری ندارد. برای تغییر اندازه گفتگویی که از قبل باز است، با google.script.host.setWidth(width)
در کد سمت سرویس گیرنده تماس بگیرید.
const output = HtmlService.createHtmlOutput('<b>Hello, world!</b>'); output.setWidth(200);
پارامترها
نام | تایپ کنید | توضیحات |
---|---|---|
width | Integer | عرض جدید در پیکسل. null یک مقدار پیش فرض را نشان می دهد. |
بازگشت
Html Output
- این خروجی، برای زنجیر کردن.
set XFrame Options Mode(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('<b>Hello, world!</b>'); output.setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL);
پارامترها
نام | تایپ کنید | توضیحات |
---|---|---|
mode | XFrameOptionsMode | حالت گزینه های XFrame برای تنظیم. |
بازگشت
Html Output
- این خروجی، برای زنجیر کردن.