Class HtmlOutput

HtmlOutput

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

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

المَعلمات

الاسمTypeالوصف
nameStringقيمة سمة اسم العلامة الوصفية.
contentStringقيمة سمة content للعلامة الوصفية.

استرجاع الكرة

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

المَعلمات

الاسمTypeالوصف
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());

المَعلمات

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

استرجاع الكرة

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

المَعلمات

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

استرجاع الكرة

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


getBlob()

عرض البيانات داخل هذا الكائن على هيئة كائن ثنائي كبير (blob).

استرجاع الكرة

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" وإذا تم نشر 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()

للحصول على عنوان صفحة الإخراج لاحظ أنه يتم تجاهل عنصر HTML <title>.

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

استرجاع الكرة

String — عنوان الصفحة.


getWidth()

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

المَعلمات

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

استرجاع الكرة

HtmlOutput: هذا الناتج للتسلسل.

الرميات

Error: في حال كان تنسيق HTML مكتوبًا بشكلٍ غير صحيح


setFaviconUrl(iconUrl)

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

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

المَعلمات

الاسمTypeالوصف
iconUrlStringتمثّل هذه السمة عنوان URL لصورة الرمز المفضّل، مع إشارة في إضافة الصور إلى نوع الصورة.

استرجاع الكرة

HtmlOutput: هذا الناتج للتسلسل.


setHeight(height)

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

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

المَعلمات

الاسمTypeالوصف
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>

المَعلمات

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

استرجاع الكرة

HtmlOutput: هذا الناتج للتسلسل.


setTitle(title)

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

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

المَعلمات

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

استرجاع الكرة

HtmlOutput: هذا الناتج للتسلسل.


setWidth(width)

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

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

المَعلمات

الاسمTypeالوصف
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);

المَعلمات

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

استرجاع الكرة

HtmlOutput: هذا الناتج للتسلسل.