Class HtmlOutput

HtmlOutput

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

function doGet() {
  return HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b');
}
يمكن أن يتضمّن الرمز في HtmlOutput JavaScript وCSS مضمَّنَين. (هذه هي جافا سكريبت العادية من جهة العميل التي تتلاعب بنموذج 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تعرض هذه الدالة الارتفاع الأوّلي لمربّع الحوار المخصّص في &quot;مستندات Google&quot; أو &quot;جداول بيانات Google&quot; أو &quot;نماذج Google&quot;.
getMetaTags()HtmlOutputMetaTag[]تعرض هذه الطريقة مصفوفة من العناصر التي تمثّل العلامات الوصفية التي تمت إضافتها إلى الصفحة من خلال استدعاء addMetaTag(name, content).
getTitle()Stringتعرض هذه السمة عنوان صفحة الإخراج.
getWidth()Integerتعرض هذه الدالة العرض الأوّلي لمربّع الحوار المخصّص في &quot;مستندات Google&quot; أو &quot;جداول بيانات Google&quot; أو &quot;نماذج Google&quot;.
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 تابع لـ "برمجة تطبيقات Google". يُسمح فقط بالعلامات الوصفية التالية:

<meta name="apple-mobile-web-app-capable" cont>e<nt="..."/
meta name="google-site-ver>i<fication" content="..."/
meta name>=<"mobile-web-app-capable" >content="..."/
meta name="viewport" content="..."/
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b');
output.addMetaTag('viewport', 'width=device-width, initial-scale=1');

المعلمات

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

الإرجاع

HtmlOutput: هذا الناتج، للسلسلة


append(addedContent)

تضيف هذه السمة محتوًى جديدًا إلى محتوى HtmlOutput. استخدِم هذا الخيار فقط للمحتوى من مصدر موثوق، لأنّه لا يتم إلغاء تسلسله.

// Log &<q>uot;bHello, w<or><l>d!/bpHello again, w<or>ld./p"
const output = HtmlService.createHt<m>lOutput('<bH>ello, world!/b'<)>;
output.append(<9;>pHello again, world./p');
Logger.log(output.getContent());

المعلمات

الاسمالنوعالوصف
addedContentStringالمحتوى الذي سيتم إلحاقه

الإرجاع

HtmlOutput: هذا الناتج، للسلسلة

عمليات الطرح

Error: إذا كان HTML غير صحيح

انظر أيضًا


appendUntrusted(addedContent)

تضيف هذه السمة محتوًى جديدًا إلى محتوى HtmlOutput، باستخدام الهروب السياقي.

تتجاهل هذه الطريقة المحتوى بشكل صحيح استنادًا إلى الحالة الحالية لـ HtmlOutput، بحيث تكون النتيجة سلسلة آمنة بدون ترميز أو آثار جانبية. استخدِم هذه الطريقة بدلاً من append عندما تضيف محتوًى من مصدر غير موثوق به، مثل محتوى من مستخدم، وذلك لتجنُّب السماح عن طريق الخطأ بحدوث خطأ في النصوص البرمجية على المواقع الإلكترونية (XSS) حيث يؤدي المحتوى أو الترميز الذي تضيفه إلى تنفيذ الرمز البرمجي بشكل غير متوقّع.

// Log &<q>uot;bHello, w<or>&ld!/&blt;pgt;Hello again, w&orld.&lt;/pgt;"
const output = HtmlService.createHt<m>lOutput('<bH>ello, world!/b');
output<.>appendUntrusted(<9;>pHello again, world./p');
Logger.log(output.getContent());

المعلمات

الاسمالنوعالوصف
addedContentStringالمحتوى الذي سيتم إلحاقه

الإرجاع

HtmlOutput: هذا الناتج، للسلسلة

عمليات الطرح

Error: إذا كان HTML غير صحيح

انظر أيضًا


asTemplate()

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

const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b');
const template = output.asTemplate();

الإرجاع

HtmlTemplate: HtmlTemplate الجديد


clear()

يمحو هذا الزر المحتوى الحالي.

const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/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: البيانات ككائن ثنائي كبير.


getBlob()

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

الإرجاع

Blob: البيانات ككائن ثنائي كبير.


getContent()

تعرض هذه السمة محتوى HtmlOutput.

// Log &<q>uot;bHello, w<or>ld!/b"
const output = HtmlService.createHt<m>lOutput('<bH>ello, world!/b');
Logger.log(output.getContent());

الإرجاع

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


getFaviconUrl()

تعرض هذه السمة عنوان URL لعلامة رابط الرمز المفضّل التي تمت إضافتها إلى الصفحة من خلال استدعاء setFaviconUrl(iconUrl). يتم تجاهل علامات ربط الرمز المفضّل المضمّنة مباشرةً في ملف HTML الخاص بـ &quot;برمجة تطبيقات Google&quot;.

const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b');
output.setFaviconUrl('http://www.example.com/image.png');
Logger.log(output.getFaviconUrl());

الإرجاع

String: تمثّل هذه السمة عنوان URL الخاص بصورة الرمز المفضّل.


getHeight()

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

const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b');
output.setHeight(200);
Logger.log(output.getHeight());

الإرجاع

Integer: تمثّل هذه السمة الارتفاع بالبكسل.


getMetaTags()

تعرض هذه الطريقة مصفوفة من العناصر التي تمثّل العلامات الوصفية التي تمت إضافتها إلى الصفحة من خلال استدعاء addMetaTag(name, content). يتم تجاهل العلامات الوصفية المضمّنة مباشرةً في ملف HTML تابع لـ "برمجة تطبيقات Google".

const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b');
output.addMetaTag('viewport', 'width=device-width, initial-scale=1');

const tags = output.getMetaT<ags();
Logger.log(
    '>meta name="%s" content="%s"/',
    tags[0].getName(),
    tags[0].getContent(),
);

الإرجاع

HtmlOutputMetaTag[]: مصفوفة من العناصر التي تمثّل العلامات الوصفية التي تمت إضافتها إلى الصفحة من خلال استدعاء addMetaTag(name, content).


getTitle()

تعرض هذه السمة عنوان صفحة الإخراج. يُرجى العِلم أنّه يتم تجاهل عنصر HTML‏ <title>.

const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b');
Logger.log(output.getTitle());

الإرجاع

استبدِل String بعنوان الصفحة.


getWidth()

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

const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b');
output.setWidth(200);
Logger.log(output.getWidth());

الإرجاع

Integer: تمثّل هذه السمة العرض بالبكسل.


setContent(content)

تضبط هذه السمة محتوى HtmlOutput.

const output = HtmlService.createHtmlOutput();
output.setContent(&<#>39;bHello, wo<rl>d!/b');

المعلمات

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

الإرجاع

HtmlOutput: هذا الناتج، للسلسلة

عمليات الطرح

Error: إذا كان HTML غير صحيح


setFaviconUrl(iconUrl)

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

const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b');
output.setFaviconUrl('http://www.example.com/image.png');

المعلمات

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

الإرجاع

HtmlOutput: هذا الناتج، للسلسلة


setHeight(height)

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

const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/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 المعروض في &quot;جداول بيانات Google&quot;.

const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b');
output.setTitle('My First Page');

المعلمات

الاسمالنوعالوصف
titleStringتمثّل هذه السمة العنوان الجديد.

الإرجاع

HtmlOutput: هذا الناتج، للسلسلة


setWidth(width)

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

const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/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).
const output = HtmlService.createHtmlOutput(&<#>39;bHello, wo<rl>d!/b');
output.setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL);

المعلمات

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

الإرجاع

HtmlOutput: هذا الناتج، للسلسلة