Class HtmlOutput

HtmlOutput

كائن HtmlOutput الذي يمكن عرضه من نص برمجي لاعتبارات أمنية، لا يمكن للنصوص البرمجية أن تعيد مباشرة HTML إلى المتصفح. بدلاً من ذلك، يجب عليهم تعقيمها حتى لا يمكنه تنفيذ إجراءات ضارة. يمكنك عرض محتوى HTML تم تحسينه على النحو التالي:

function doGet() {
  return HtmlService.createHtmlOutput('<b>Hello, world!</b>');
}
يمكن أن يتضمّن الرمز في HtmlOutput لغة JavaScript وCSS مضمَّنة. (هذا هو القياس العادي JavaScript من جهة العميل تعالج نموذج DOM، وليس "برمجة تطبيقات Google") كل هذا المحتوى تم وضع الحماية في وضع الحماية باستخدام iframe وضع الحماية. لمزيد من المعلومات، يُرجى الاطّلاع على دليل القيود في خدمة 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يحصل على عنوان URL لعلامة رابط الرمز المفضّل التي تمت إضافتها إلى الصفحة عن طريق طلب الرقم setFaviconUrl(iconUrl).
getHeight()Integerالحصول على الارتفاع الأولي لمربّع الحوار المخصّص في Google "مستندات Google" أو "جداول بيانات Google" أو "نماذج Google".
getMetaTags()HtmlOutputMetaTag[]للحصول على مصفوفة من الكائنات التي تمثل علامات وصفية تمت إضافتها إلى الصفحة عن طريق طلب addMetaTag(name, content).
getTitle()Stringالحصول على عنوان صفحة الإخراج
getWidth()Integerالحصول على العرض الأولي لمربّع الحوار المخصّص في Google "مستندات Google" أو "جداول بيانات Google" أو "نماذج Google".
setContent(content)HtmlOutputتحدِّد هذه السياسة محتوى HtmlOutput.
setFaviconUrl(iconUrl)HtmlOutputتضيف علامة رابط لرمز مفضّل إلى الصفحة.
setHeight(height)HtmlOutputلضبط الارتفاع الأولي لمربّع الحوار المخصَّص في Google "مستندات Google" أو "جداول بيانات Google" أو "نماذج Google".
setSandboxMode(mode)HtmlOutputليس لهذه الطريقة أي تأثير، فقد سبق أن ضبطت السياسة sandbox mode المستخدَمة في النصوص البرمجية من جهة العميل.
setTitle(title)HtmlOutputلضبط عنوان صفحة الناتج.
setWidth(width)HtmlOutputلضبط العرض الأولي لمربّع حوار مخصّص في Google "مستندات Google" أو "جداول بيانات Google" أو "نماذج Google".
setXFrameOptionsMode(mode)HtmlOutputتضبط حالة عنوان X-Frame-Options للصفحة، والتي تتحكّم في تمويه النقر. للوقاية منها.

الوثائق التفصيلية

addMetaTag(name, content)

لإضافة علامة وصفية إلى الصفحة. تكون العلامات الوصفية المضمّنة مباشرةً في ملف 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');

المعلمات

الاسمالنوعالوصف
nameStringقيمة سمة اسم العلامة الوصفية.
contentStringقيمة سمة المحتوى للعلامة الوصفية.

الإرجاع

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

المعلمات

الاسمالنوعالوصف
addedContentStringالمحتوى المطلوب إلحاقه.

الإرجاع

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

المعلمات

الاسمالنوعالوصف
addedContentStringالمحتوى المطلوب إلحاقه.

الإرجاع

HtmlOutput — هذا الناتج، للتسلسل.

الرميات

Error: إذا كان رمز HTML مكتوبًا بشكلٍ غير صحيح

انظر أيضًا


asTemplate()

عرض HtmlTemplate مدعومة بـ HtmlOutput. يمكن استخدام هذه الطريقة وإنشاء قالب بشكل تدريجي. ستؤثر التغييرات المستقبلية التي يتم إجراؤها على HtmlOutput في محتوى HtmlTemplate أيضًا.

var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
var template = output.asTemplate();

الإرجاع

HtmlTemplateHtmlTemplate الجديد


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 التي تم إنشاؤها حديثًا أكثر صرامة مؤقتًا. حصصها.

المعلمات

الاسمالنوعالوصف
contentTypeStringنوع MIME المطلوب التحويل إليه. بالنسبة إلى معظم الكائنات الثنائية الكبيرة، 'application/pdf' هو هو الخيار الوحيد الصالح. بالنسبة إلى الصور بتنسيق BMP أو GIF أو JPEG أو PNG، يتم أيضًا استخدام أي من 'image/bmp' أو 'image/gif' أو 'image/jpeg' أو 'image/png' صالحة. بالنسبة إلى مستند "مستندات Google"، يُعدّ 'text/markdown' أيضًا صالحًا.

الإرجاع

Blob — البيانات ككائنات ثنائية كبيرة (blob).


getBlob()

عرض البيانات داخل هذا الكائن على شكل كائن ثنائي كبير.

الإرجاع

Blob — البيانات ككائنات ثنائية كبيرة (blob).


getContent()

يمكن الوصول إلى محتوى جهاز "HtmlOutput" هذا.

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

الإرجاع

String — المحتوى الذي يتم عرضه.


getFaviconUrl()

الحصول على عنوان URL لعلامة رابط الرمز المفضّل التي تمت إضافتها إلى الصفحة عن طريق طلب setFaviconUrl(iconUrl). إنّ علامات روابط الرموز المفضّلة المضمّنة مباشرةً في ملف HTML لبرمجة التطبيقات هي وتجاهل.

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

الإرجاع

String: عنوان URL لصورة الرمز المفضّل


getHeight()

الحصول على الارتفاع الأولي لمربّع الحوار المخصّص في Google "مستندات Google" أو "جداول بيانات Google" أو "نماذج 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). تكون العلامات الوصفية المضمّنة مباشرةً في ملف 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 "مستندات Google" أو "جداول بيانات Google" أو "نماذج 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>');

المعلمات

الاسمالنوعالوصف
contentStringالمحتوى المطلوب عرضه.

الإرجاع

HtmlOutput — هذا الناتج، للتسلسل.

الرميات

Error: إذا تمت كتابة رمز HTML بشكل غير صحيح


setFaviconUrl(iconUrl)

تضيف علامة رابط لرمز مفضّل إلى الصفحة. علامات روابط الرموز المفضلة المضمّنة مباشرةً في التطبيقات ويتم تجاهل ملف HTML للنص البرمجي.

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

المعلمات

الاسمالنوعالوصف
iconUrlStringعنوان URL لصورة الرمز المفضّل مع إضافة الصورة التي تشير إلى الصورة الكتابة.

الإرجاع

HtmlOutput — هذا الناتج، للتسلسل.


setHeight(height)

لضبط الارتفاع الأولي لمربّع الحوار المخصَّص في Google "مستندات Google" أو "جداول بيانات Google" أو "نماذج Google". إذا تم نشر "HtmlOutput" كتطبيق ويب بدلاً من ذلك، سيتم تنفيذ ما يلي: ليس هناك أي تأثير. لتغيير حجم مربع حوار مفتوح فعلاً، اتصل بالرقم google.script.host.setHeight(height) في الرمز من جهة العميل.

var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.setHeight(200);

المعلمات

الاسمالنوعالوصف
heightIntegerالارتفاع الجديد بالبكسل ينتج عن null قيمة تلقائية.

الإرجاع

HtmlOutput — هذا الناتج، للتسلسل.


setSandboxMode(mode)

ليس لهذه الطريقة أي تأثير، فقد سبق أن ضبطت السياسة sandbox mode المستخدَمة في النصوص البرمجية من جهة العميل. لحماية المستخدمين من عرض رموز HTML ضارة أو يتم تنفيذ الرمز البرمجي من جهة العميل في JavaScript ويتم عرضه من خلال خدمة HTML في وضع حماية للأمان يفرض قيودًا على التعليمات البرمجية. كانت هذه الطريقة في الأساس تسمح لمؤلفي النصوص البرمجية بالاختيار بين الإصدارات المختلفة من وضع الحماية، ولكن الآن تستخدم جميع النصوص البرمجية الآن وضع IFRAME بغض النظر عن وضع الحماية الذي تم تعيينه. لمزيد من المعلومات، يُرجى الاطّلاع على دليل القيود في خدمة HTML.

يفرض وضع IFRAME قيودًا أقل بكثير من أوضاع وضع الحماية الأخرى يعمل بشكل أسرع، ولكنه لا يعمل على الإطلاق في بعض المتصفّحات القديمة، بما في ذلك Internet Explorer 9- يمكن قراءة وضع الحماية في نص برمجي من جهة العميل عن طريق فحص google.script.sandbox.mode. لاحظ أن هذه السمة تعرض الوضع الفعلي على جهاز العميل، والذي قد يختلف عن الوضع المطلوب على الخادم إذا لم يكن الوضع المطلوب متوافقًا في متصفح المستخدم.

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

المعلمات

الاسمالنوعالوصف
modeSandboxModeوضع الحماية المطلوب استخدامه.

الإرجاع

HtmlOutput — هذا الناتج، للتسلسل.


setTitle(title)

لضبط عنوان صفحة الناتج. بالنسبة لتطبيقات الويب، هذا هو عنوان الصفحة بأكملها، بينما بالنسبة إلى HtmlOutput المعروض في جداول بيانات Google، هذا هو عنوان مربع الحوار.

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

المعلمات

الاسمالنوعالوصف
titleStringالعنوان الجديد

الإرجاع

HtmlOutput — هذا الناتج، للتسلسل.


setWidth(width)

لضبط العرض الأولي لمربّع حوار مخصّص في Google "مستندات Google" أو "جداول بيانات Google" أو "نماذج Google". إذا تم نشر "HtmlOutput" كتطبيق ويب بدلاً من ذلك، سيتم تنفيذ ما يلي: ليس هناك أي تأثير. لتغيير حجم مربع حوار مفتوح فعلاً، اتصل بالرقم google.script.host.setWidth(width) في الرمز من جهة العميل.

var output = HtmlService.createHtmlOutput('<b>Hello, world!</b>');
output.setWidth(200);

المعلمات

الاسمالنوعالوصف
widthIntegerالعرض الجديد بالبكسل ينتج عن null قيمة تلقائية.

الإرجاع

HtmlOutput — هذا الناتج، للتسلسل.


setXFrameOptionsMode(mode)

تضبط حالة عنوان X-Frame-Options للصفحة، والتي تتحكّم في تمويه النقر. للوقاية منها.

ويتيح ضبط السياسة XFrameOptionsMode.ALLOWALL لأي موقع إلكتروني الوصول إلى الصفحة باستخدام إطار iframe، وبالتالي على المطوّرين تنفيذ حمايتهم الخاصة من تمويه النقر.

إذا لم يضبط النص البرمجي وضع 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);

المعلمات

الاسمالنوعالوصف
modeXFrameOptionsModeوضع خيارات XFrame المطلوب تعيينه.

الإرجاع

HtmlOutput — هذا الناتج، للتسلسل.