Class HtmlOutput

خروجی Html

یک شی 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>&lt;p&gt;Hello again, world.&lt;/p&gt;"
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 TemplateHtml 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()

داده های داخل این شی را به صورت حباب برگردانید.

بازگشت

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 - این خروجی، برای زنجیر کردن.