Class HtmlOutput

خروجی Html

یک شی HtmlOutput که می تواند از یک اسکریپت ارائه شود. به دلیل ملاحظات امنیتی، اسکریپت ها نمی توانند مستقیماً HTML را به مرورگر بازگردانند. در عوض، آنها باید آن را ضدعفونی کنند تا نتواند اقدامات مخرب انجام دهد. شما می توانید HTML پاکسازی شده را به این صورت برگردانید:

function doGet() {
  return HtmlService.createHtmlOutput('<b>Hello, world!</b>');
}
کد موجود در HtmlOutput می تواند شامل جاوا اسکریپت و CSS جاسازی شده باشد. (این جاوا اسکریپت سمت کلاینت استاندارد است که DOM را دستکاری می کند، نه Apps Script). همه این محتوا با استفاده از جعبه ایمنی iframe sandbox شده است. برای اطلاعات بیشتر، راهنمای محدودیت ها در سرویس HTML را ببینید.

مواد و روش ها

روش نوع برگشت توضیح مختصر
addMetaTag(name, content) HtmlOutput یک متا تگ به صفحه اضافه می کند.
append(addedContent) HtmlOutput محتوای جدید را به محتوای این HtmlOutput اضافه می کند.
appendUntrusted(addedContent) HtmlOutput محتوای جدید را به محتوای این HtmlOutput اضافه می کند، با استفاده از فرار زمینه.
asTemplate() HtmlTemplate یک HtmlTemplate را برمی‌گرداند که توسط این HtmlOutput پشتیبانی می‌شود.
clear() HtmlOutput محتوای فعلی را پاک می کند.
getAs(contentType) Blob داده های داخل این شی را به عنوان یک حباب تبدیل به نوع محتوای مشخص شده برگردانید.
getBlob() Blob داده های داخل این شی را به صورت حباب برگردانید.
getContent() String محتوای این HtmlOutput را دریافت می کند.
getFaviconUrl() String با فراخوانی setFaviconUrl(iconUrl) نشانی اینترنتی تگ پیوند فاویکون اضافه شده به صفحه را دریافت می کند.
getHeight() Integer ارتفاع اولیه گفتگوی سفارشی را در Google Docs، Sheets یا Forms دریافت می‌کند.
getMetaTags() HtmlOutputMetaTag[] آرایه ای از اشیاء را دریافت می کند که نشان دهنده متا تگ های اضافه شده به صفحه با فراخوانی addMetaTag(name, content) است.
getTitle() String عنوان صفحه خروجی را می گیرد.
getWidth() Integer عرض اولیه گفتگوی سفارشی را در Google Docs، Sheets یا Forms دریافت می کند.
setContent(content) HtmlOutput محتوای این HtmlOutput را تنظیم می کند.
setFaviconUrl(iconUrl) HtmlOutput یک برچسب پیوند برای فاویکون به صفحه اضافه می کند.
setHeight(height) HtmlOutput ارتفاع اولیه گفتگوی سفارشی را در Google Docs، Sheets یا Forms تنظیم می‌کند.
setSandboxMode(mode) HtmlOutput این روش اکنون هیچ تأثیری ندارد - قبلاً sandbox mode مورد استفاده برای اسکریپت های سمت سرویس گیرنده را تنظیم می کرد.
setTitle(title) HtmlOutput عنوان صفحه خروجی را تنظیم می کند.
setWidth(width) HtmlOutput عرض اولیه یک گفتگوی سفارشی را در Google Docs، Sheets یا Forms تنظیم می‌کند.
setXFrameOptionsMode(mode) HtmlOutput وضعیت هدر X-Frame-Options صفحه را تنظیم می کند که جلوگیری از جک کردن کلیک را کنترل می کند.

مستندات دقیق

addMetaTag(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="..."/>
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>&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());

مولفه های

نام تایپ کنید شرح
addedContent String مطالب برای پیوست

برگشت

HtmlOutput - این خروجی، برای زنجیر کردن.

پرتاب می کند

Error - اگر HTML بسیار نادرست است

همچنین ببینید


asTemplate()

یک HtmlTemplate را برمی‌گرداند که توسط این HtmlOutput پشتیبانی می‌شود. از این روش می توان برای ساختن یک الگو به صورت تدریجی استفاده کرد. تغییرات آینده در 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' نیز معتبر هستند.

برگشت

Blob - داده ها به عنوان یک لکه.


getBlob()

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

برگشت

Blob - داده ها به عنوان یک لکه.


getContent()

محتوای این HtmlOutput را دریافت می کند.

// Log "<b>Hello, world!</b>"
var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
Logger.log(output.getContent());

برگشت

String - محتوایی که ارائه می شود.


getFaviconUrl()

با فراخوانی setFaviconUrl(iconUrl) نشانی اینترنتی تگ پیوند فاویکون اضافه شده به صفحه را دریافت می کند. برچسب‌های پیوند فاویکون که مستقیماً در فایل HTML Apps Script وجود دارد نادیده گرفته می‌شوند.

var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.setFaviconUrl('http://www.example.com/image.png');
Logger.log(output.getFaviconUrl());

برگشت

String - URL تصویر فاویکون.


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) است. متا تگ های موجود مستقیماً در فایل HTML 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> HTML نادیده گرفته می شود.

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

مولفه های

نام تایپ کنید شرح
content String محتوایی که باید ارائه شود.

برگشت

HtmlOutput - این خروجی، برای زنجیر کردن.

پرتاب می کند

Error - اگر HTML بد شکل باشد


setFaviconUrl(iconUrl)

یک برچسب پیوند برای فاویکون به صفحه اضافه می کند. برچسب‌های پیوند فاویکون که مستقیماً در فایل HTML Apps Script وجود دارد نادیده گرفته می‌شوند.

var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.setFaviconUrl('http://www.example.com/image.png');

مولفه های

نام تایپ کنید شرح
iconUrl String URL تصویر فاویکون، با پسوند تصویر که نوع تصویر را نشان می دهد.

برگشت

HtmlOutput - این خروجی، برای زنجیر کردن.


setHeight(height)

ارتفاع اولیه گفتگوی سفارشی را در Google Docs، Sheets یا Forms تنظیم می‌کند. اگر در عوض 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 یا جاوا اسکریپت مخرب، کد سمت سرویس گیرنده ارائه شده از سرویس 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 SandboxMode حالت جعبه شنی برای استفاده.

برگشت

HtmlOutput - این خروجی، برای زنجیر کردن.


setTitle(title)

عنوان صفحه خروجی را تنظیم می کند. برای برنامه های وب، این عنوان کل صفحه است، در حالی که برای HtmlOutput نشان داده شده در Google Sheets، این عنوان گفتگو است.

var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.setTitle('My First Page');

مولفه های

نام تایپ کنید شرح
title String عنوان جدید.

برگشت

HtmlOutput - این خروجی، برای زنجیر کردن.


setWidth(width)

عرض اولیه یک گفتگوی سفارشی را در Google Docs، Sheets یا Forms تنظیم می‌کند. اگر در عوض 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 تنظیم نکند، 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);

مولفه های

نام تایپ کنید شرح
mode XFrameOptionsMode حالت گزینه های XFrame برای تنظیم.

برگشت

HtmlOutput - این خروجی، برای زنجیر کردن.